Grub2 / Burgブートローダを使用してisoから起動する方法

Grub2 / Burgブートローダを使用してisoから起動する方法

私はUbuntuをネイティブOSとして使用していますが、ゲームやその他の用途にはWindows 7を代わりに使用しています。いくつかのLive CD ISOを起動するメニューが欲しいです。 CDのようにISOファイルを起動するためにGrub2 / Burgでメニュー項目を作成する方法はありますか?

これを可能にするいくつかの方法がありますが、ほとんどすべての方法には指定されたブートパラメータ(カーネルパラメータ)が必要です。しかし、Linux、Unix、DOS(回復目的)などのブートローダを使って起動できるライブOSがいくつかあります。

私はメニュープロファイルを簡単に見つけて追加するより一般的な方法を探しています。

答え1

私はすでにSysLinux、Grub4Dos、Grub2を含む完全なチェーンローダーを持っています。これが私の構成です。

システムLinux

LABEL DSL
KERNEL memdisk
INITRD /iso/dsl.iso
APPEND iso raw

LABEL GRUB4DOS
KERNEL /boot/grub.exe

Grub4Dos

title Paragon Partition Manager
map (hd0,0)/iso/paragon-bootable-media.iso (hd32)
map --hook
chainloader (hd32)
boot

title Syslinux
chainloader /boot/syslinux/syslinux.bin

title GRUB2 Chainload
root (hd0,0)
kernel /boot/grub/core.img
boot

GRUB2

menuentry "Ubuntu 13.10 Desktop ISO" {
  loopback loop /iso/ubuntu-desktop-amd64-13.10.iso
  linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/iso/ubuntu-desktop-amd64-13.10.iso noeject noprompt splash --
  initrd (loop)/casper/initrd.lz
}

menuentry "Tinycore ISO" {
  loopback loop /iso/tinycore.iso
  linux (loop)/boot/bzImage --
  initrd (loop)/boot/tinycore.gz
}

menuentry "GRUB4DOS" {
  linux16 /boot/grub.exe
}

menuentry "SYSLINUX" {
  chainloader=/boot/syslinux/syslinux.bin
}

答え2

一般的なLinuxディストリビューションでは、ISOイメージの絶対パスとディスク、およびカーネルをロードするためのパラメータも指定する必要があります。以下の例をご覧ください。

loopback loop (hd0,msdos0)/linux.iso
linux (loop)/vmlinuz parameters
initrd (loop)/initrd.img

他のオペレーティングシステムでは成功したことはありません。

答え3

Ubuntu / MintなどのDebianバージョンでは、apt-get install grub-imagebootisoファイルをいくつかのフォルダ(デフォルトは/boot/images/)に配置すると、実行するたびにそのsudo update-grubフォルダから起動可能なすべてのisoファイルに起動メニュー項目が追加されます。 (mbr-windowsコンピュータでeasybcdがISOを起動する方法に似ています)。

    sudo apt-get install grub-imageboot  
    # do df -h /boot and make sure you have 300meg free on /boot partition
    cd /tmp; wget http://ftp.sh.cvut.cz/slax/Slax-9.x/slax-32bit-9.11.0.iso 
    sudo cp  /tmp/slax-32bit-9.11.0.iso  /boot/images/
    sudo grub-update

たとえば、ブートパーティションが小さい場合は、boot-isos大きなパーティションに/home/というフォルダを作成し、次のように/etc/default/grub-imagebootファイルを編集できます。

$ sudo mkdir /home/boot-isos/
$ cat /etc/default/grub-imageboot 
# Where to find the iso/floppy images

#IMAGES="/boot/images"
IMAGES="/home/boot-isos"

# You can override the boot options for iso/floppy images here
# see http://syslinux.zytor.com/wiki/index.php/MEMDISK for details

#IMAGEOPTS="rawimg"
#ISOOPTS="iso"

関連情報