這裡介紹如何在 Ubuntu Linux 系統中設定 GRUB 開機選單,讓硬碟中的 ISO 映像檔直接可以開機。
讓硬碟中的 ISO 映像檔可以直接開機有時候非常有用,例如想要測試一些新的 Linux 發行版的時候,如果可以直接用硬碟中的 ISO 映像檔開機,就可以省去燒錄 CD/DVD 或製作 USB 開機碟的時間與力氣。
在這裡我們將示範使用 GRUB2 讓硬碟中所存放的 Ubuntu 13.04 ISO 檔來開機,而實作的方法有兩種,一種是使用 grml-rescueboot
自動更新 GRUB2 的開機選單,而另外一種則是自行更改 GRUB2 的設定檔。
grml-rescueboot
讓 ISO 映像檔開機grml-rescueboot
是一個用於輔助 update-grub
的套件,它提供一個 update-grub
專用的指令稿(script),讓所有放在 /boot/grml
目錄下的 Grml ISO 映像檔可以自動被加入開機選單中,它的目的就是可以讓使用者在不需要 CD/DVD 或 USB 隨身碟的情況下,使用這些映像檔開機然後進入 Grml 的救援模式。
在 Ubuntu Linux 中若要安裝 grml-rescueboot
,可以使用 apt 來安裝:
sudo apt-get update sudo apt-get install grml-rescueboot
接著將要用來開機的映像檔複製到 /boot/grml/
目錄中:
sudo cp -v ~/ISOFILE/ubuntu-13.04-desktop-i386.iso /boot/grml/
接著更新 GRUB2 的開機選單:
sudo update-grub
重新開機之後,你就會看到開機選單中多了一項「Grml rescue system」,選擇這個就可以使用剛剛放進去的映像檔開機了。
除了透過 grml-rescueboot
這個方式之外,你也可以自行修改 GRUB 的設定檔來讓硬碟中的 ISO 映像檔開機。首先,要先找一個地方放置映像檔:
sudo mkdir /isoimage
把映像檔放進去:
sudo cp -v ~/ISOFILE/ubuntu-13.04-desktop-i386.iso /isoimage
使用 nano
編輯 /etc/grub.d/40_custom
這個 GRUB 的設定檔(當然你也可以使用自己習慣的編輯器,如 vi
等):
sudo nano /etc/grub.d/40_custom
加入以下的設定:
menuentry "Ubuntu 13.04 Live" { set root=(hd0,1) loopback loop /isoimage/ubuntu-13.04-desktop-i386.iso linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/isoimage/ubuntu-13.04-desktop-i386.iso noprompt noeject initrd (loop)/casper/initrd.lz }
就像這樣
編輯完成之後,就可以存檔離開了。最後重新開機之後,就可以看到新的開機選單了。
參考資料:Ubuntu Portal