私がやろうとしていることは次のとおりです。
USB Stick Boots to -> GRUB Loader -> GRUB boots one of many ISO files on the USB into LIVE mode.
これは私のディレクトリ構造です。とても簡単です。
MULTIBOOT(USB stick) ->
- ubuntu-14.04.1-desktop-i386.iso (ISO File)
- Parrot-full-3.6_amd64.iso (ISO File)
- kali-linux-2017.1-amd64.iso (ISO File)
- boot (FOLDER)
- boot/grub (FOLDER)
unbutu isoは私のコンピュータとVMオウムで正しく起動し、kali isoはカーネルをロードしますが、initramfsで停止し、「インストールメディアが見つかりません」と文句を言います。
これは私のgrub.cfgファイルです。
menuentry "ubuntu-14.04.1-desktop-i386 Desktop ISO" {
loopback loop /ubuntu-14.04.1-desktop-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-14.04.1-desktop-i386.iso noeject noprompt splash --
initrd (loop)/casper/initrd.lz
}
menuentry "Parrot-full-3.6_amd64 ISO" {
loopback loop /Parrot-full-3.6_amd64.iso
linux (loop)/live/vmlinuz boot=live iso-scan/filename=/Parrot-full-3.6_amd64.iso noeject noprompt splash --
initrd (loop)/live/initrd.img
}
menuentry "kali3-amd64 Live system" {
loopback loop /kali-linux-2017.1-amd64.iso
linux (loop)/live/vmlinuz boot=live iso-scan/filename=/kali-linux-2017.1-amd64.iso splash username=root hostname=kali
initrd (loop)/live/initrd.img
}
私は仮想マシンや職場でこれらのISOを試してみました。また、パソコンでRUFUSを使ってUSBに入れて直接起動してみました。彼らは働きます。 RUFUSの問題は、単一のISOを使用すると機能することです。しかし、ISOごとにUSBを作成したくありません。すべてのISOを入れるUSBを作成したい場合は、ライブモードで起動できる必要があります。だからGRUBに切り替えました。しかし、GRUBは悪くはありませんが、文書が非常に制限的で断片的であることをお伝えしたいと思います。私にこれが必要な場合は、他の多くの人にもこれが必要になると思います。
ベストアンサー1
問題を解決しました! ! !解決策:
ルートファイルシステムをロードするisoファイルを見つけるには、起動中にfindisoカーネルパラメータを使用する必要があります。以下の最新の実行中のgrub.configエントリを参照してください。
注:superGrubテストのために、ISOファイルを/ boot-isos /フォルダに移動しました。しかし、彼らはどこにいても構いません。以下を確認してください。
1. to give correct path name to the iso file
2. MUST USE findiso kernel parameter to let boot process find the iso file. Else it will NOT work.
現在のUSBのディレクトリ構造は次のとおりです。
USB STICK ->
/boot (folder that holds GRUB)
/boot-isos (folder that holds isos below)
- KALI iso file
- Parrot iso file
- Ubuntu iso file
menuentry "[loopback]Parrot-full-3.6_amd64" {
set isofile='/boot-isos/Parrot-full-3.6_amd64.iso'
loopback loop $isofile
linux (loop)/live/vmlinuz boot=live findiso=$isofile noconfig=sudo username=root hostname=parrot
initrd (loop)/live/initrd.img
}
menuentry "[loopback]kali-linux-2017.1-amd64" {
set isofile='/boot-isos/kali-linux-2017.1-amd64.iso'
loopback loop $isofile
linux (loop)/live/vmlinuz boot=live findiso=$isofile noconfig=sudo username=root hostname=kali
initrd (loop)/live/initrd.img
}