web-dev-qa-db-ja.com

GRUB2経由のISOファイルの起動

マルチブートUSBドライブをsyslinux + grubからgrub2に移行しています。現在、ISOファイルを起動する方法を探しています。 chainloadメソッドを探しています。そのため、カーネルとinitrdパラメーターを追加したくありません。

これは、grubs menu.lstでの表示方法です。

title MiniTool Partition Wizard 9
find --set-root /multiboot/ISOS/pwfree9.iso
map /multiboot/ISOS/pwfree9.iso (hd32)
map --hook
root (hd32)
chainloader (hd32)

これはgrub.cfgでどのように見えますか?

2
Michael

Grub2 menuentryを作成するには、/ etc/grub.d/40_customファイルに追加する必要があります。

ファイル内の既存の行の下にmenuentryを追加します。

テキストエディタで/etc/grub.d/40_customファイルをルートとして開きます。

Sudo nano /etc/grub.d/40_custom

Menuentryを追加します。

ファイルを保存します。

Grub 2メニューを更新します。

Sudo update-grub 

SystemRescuecdの例:

menuentry '[loopback]systemrescuecd-x86-4.5.2' {
    set isofile='/boot/iso/systemrescuecd-x86-4.5.2.iso'
    loopback loop $isofile
    linux (loop)/isolinux/rescue64 isoloop=$isofile
    initrd (loop)/isolinux/initram.igz
}

Ubuntuの例:

menuentry '[loopback]ubuntu-14.04.1-desktop-AMD64' {
    set isofile='/boot/iso/ubuntu-14.04.1-desktop-AMD64.iso'
    loopback loop $isofile
    linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile locale=en_US.UTF-8
    initrd (loop)/casper/initrd.lz
}

ソース

1
kyodake

grub4dosとpartnewコマンドを使用できますが、grub2でも同じことができるとは思いません。 partnewコマンドは、パーティションエントリをUSBドライブ(たとえば、ptn#4)に書き込むと、特別なメニューなしですべてのLinux ISOの99%を直接起動できます-ほとんどすべてのLinux ISOで同じメニューが機能します。 http://www.rmprepusb.com/tutorials/tailshttp://www.easy2boot.com/faq-/how-e2b-works/

0
SteveSi