ISOファイルをパーティションにコピーしました(つまり、dd if = isofile of = / dev / sdb1)。GRUBを介してそのパーティションを起動するにはどうすればよいですか?
チェーンローダー(hd1,0)+1だけで試してみると、実行可能形式が不明と表示されます。
ISOファイルからの起動に関する質問についての私の回答を参照してください。それを出発点として、古いハードドライブでいくつかのテストを実行しました。以前、マルチISOフラッシュドライブを起動するようにGrub2を構成したので、次のようにしました。
古いハードドライブにいくつかのパーティションを作成します。これはUSB-IDEアダプターを使用して行われたため、ドライブは/ dev / sdbとして表示されます。
最初のパーティションを/ mntにマウントし、システムからドライブにGrubのコピーをインストールしました。
sudo grub-install --no-floppy --root-directory=/mnt /dev/sdb
ISOを2番目のパーティションに「焼き付け」ました。
sudo dd if=avg.iso /dev/sdb2
これはAVGウイルススキャナーISOです。マルチISOフラッシュドライブでは、これを使用してISOを直接起動します。
menuentry "AVG Rescue CD" {
loopback loop /iso/avg.iso
linux (loop)/isolinux/vmlinuz max_loop=255 vga=791 init=linuxrc iso-scan/filename=/iso/avg.iso
initrd (loop)/isolinux/initrd.lzm
}
ハードドライブパーティションからこれを機能させるには、ループバックコマンドをnixし、ルートデバイスなどを設定する必要があります。Grub2にルートデバイスを自動的に検出させる試みはすべて失敗したので、パーティションに直接向けました。これは機能しますが、Grubのデバイス列挙に注意してください。起動しようとしているドライブが(hd0)ではない可能性があります。ISOパーティションの有効なエントリは次のとおりです。
menuentry "AVG Rescue CD" {
linux (hd0,2)/isolinux/vmlinuz max_loop=255 vga=791 init=linuxrc
initrd (hd0,2)/isolinux/initrd.lzm
}
これにより、起動可能なISOオンパーティションが作成されます。
これは、Grub2がISO9660ファイルシステムを読み取ることができるため、この特定のISOがパーティション上のISOに対応できるOSをロードしているため、およびカーネルがロードする実質的にすべてがinitrdにあるために機能します。
Grub4DOSまたはGrub1を使用している場合は、チェーンローダーで同様のトリックを引き出すことができる場合があります。これがWin7ISOを直接起動するように機能すると仮定します(ソース):
title Windows 7
map (hd0,0)/win7.iso (hd32)
map --hook
chainloader (hd32)
この変更で運が良かったかもしれません(ISOを2番目のプライマリパーティション(hd0,1)に「焼き付けた」と仮定します。それ以外の場合は、適切なパーティションに置き換えます)。
title Windows 7
map (hd0,1) (hd32)
map --hook
chainloader (hd32)
あなたはこれで逃げることもできます:
title Windows 7
chainloader (hd0,1)
ただし、ISOは実際にはドライブから起動するように構成されていないため、他の問題が発生する可能性があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加