2011年7月5日 星期二

從 grub2 menu 直接開 iso 檔案,免去燒錄 cd 的麻煩

最近測試了由 grub2 直接用 iso 來開機,以避免浪費 cd 或 dvd 片,環保救地球,科科。
基本上有二種方式,一種是用 memdisk (package syslinux-common),另一種是 loopback.cfg.

以 grml 來說明(因為 grml 二種方式都支援)

以 memdisk 方式:
menuentry "Bootable ISO Image: grml64-medium_wheezy_latest" {
        insmod part_msdos
        insmod ext2
        set root='(hd0,msdos2)'
        search --no-floppy --fs-uuid --set=root 0cedc811-654d-40f9-b2f3-1df57791def2
        linux16 /memdisk iso
        initrd16 /images/grml64-medium_wheezy_latest.iso
}

以 loopback.cfg 方式:

menuentry "grml from iso"
{
    insmod ext2
    iso_path=/images/grml64-medium_wheezy_latest.iso
    export iso_path

    loopback loop (hd0,2)$iso_path
    configfile (loop)/boot/grub/grub.cfg
}

ubuntu 11.04 設定如下:(僅能用 loopback.cfg 的方式)
menuentry "ubuntu 11.04 from iso (loopback.cfg) (油笨土放艾索)" {
  iso_path=/images/ubuntu-11.04-desktop-amd64.iso
  export iso_path
  search --set --file $iso_path
  loopback loop (hd0,2)$iso_path
  root=(loop)
  configfile (loop)/boot/grub/loopback.cfg
}


debian squeeze live:(目前二種都不支援,但經由加上 grml 的 findiso 參數及自備 loopback.cfg 後就可以)