用Grub啟動ISO鏡像
很明顯,你將需要使用到Grub,這是幾乎所有現代Linux發行版都使用的。你也需要你所想用的Linux版本的ISO文件,將它下載到本地磁碟。最後,你需要知道啟動分區在哪裡,並怎樣在Grub中描述。對於此,請使用以下命令:
# fdisk -l
帶有『*』的就是啟動分區。對於我,就是/dev/sda1,用Grub語言描述就是(hd0,1)。
作為參考,sda2就是(hd0,2),sdb1就是(hd1,1),以此類推。(你明白了吧。)
我們需要編輯什麼?
首先,打開/etc/default/grub並檢查以下行:
#GRUB_HIDDEN_TIMEOUT=0
需要在此行前添加『#』進行注釋。
保存,然後打開/etc/grub.d/40_custom。
在該文件中,你將添加啟動到ISO的參數。結構如下:
menuentry "[Entry's title in the grub screen]" {
set isofile="[path to ISO file]"
loopback loop [boot partition in Grub language]$isofile
[some specific] arguments
}
例如,如果你想要從ISO文件啟動Ubuntu,那麼你就是想要添加如下行到40_custom文件:
menuentry "Ubuntu 14.04 (LTS) Live Desktop amd64" {
set isofile="/boot/ubuntu-14.04-desktop-amd64.iso"
loopback loop (hd0,1)$isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash
initrd (loop)/casper/initrd.lz
}
如果你想要啟動Gparted:
menuentry "GParted Live amd64" {
set isofile="/boot/gparted-live-0.18.0-2-amd64.iso"
loopback loop (hd0,1)$isofile
loopback loop $isofile
linux (loop)/live/vmlinuz boot=live config union=aufs noswap noprompt ip=frommedia toram=filesystem.squashfs findiso=${isofile}
initrd (loop)/live/initrd.img
}
或者甚至是Fedora:
menuentry "Fedora 20 Live Desktop x86_64" {
set isofile="/boot/Fedora-Live-Desktop-x86_64-20-1.iso"
loopback loop (hd0,1)$isofile
loopback loop $isofile
linux (loop)/isolinux/vmlinuz0 root=live:CDLABEL=Fedora-Live-Desktop-x86_64-20-1 rootfstype=auto ro rd.live.image quiet rhgb rd.luks=0 rd.md=0 rd.dm=0 iso-scan/filename=${isofile}
initrd (loop)/isolinux/initrd0.img
}
注意,參數可根據發行版進行修改。幸運的是,有許多地方你可以查閱到。我喜歡這個發行版,但是還有很多其它的發行版你可以啟動。同時,請注意你放置ISO文件的地方。如果你的家目錄被加密或者無法被訪問到,你可能更喜歡將這些文件放到像例子中的啟動分區。但是,請首先確保啟動分區有足夠的空間。
最後,不要忘了保存40_custom文件並使用以下命令來更新grub:
# sudo update-grub
以便在下次啟動時看到修改。
接下來做什麼?
想要更多東西?好吧,那就修改下參數來玩玩。你可以啟動一個ISO文件,並讓它持續做一些事情。例如,如果你是個徹頭徹尾的妄想症患者,想要有個可以快速清除硬碟的選項,那麼可以使用DBAN來進行一些設置。現在,真的要當心啊,因為此設置會清除你的硬碟,而且在啟動時也沒有恢複選項:
menuentry "Darik's Boot and Nuke" {
set isofile="/boot/dban.iso"
loopback loop (hd0,1)$isofile
linux (loop)/dban.bzi nuke="dwipe" silent
}
另外一個選擇
menuentry "Darik's Boot and Nuke" {
set isofile="/boot/dban.iso"
loopback loop (hd0,1)$isofile
linux (loop)/dban.bzi
}
可以顯示DBAN選項,讓你選擇清除驅動器。當心,因為它仍然十分危險。
小結一下,對於ISO文件和Grub有很多事情可做:從快速live會話到一鍵毀滅,都可以滿足你。之後,你也可以試試啟動一些針對隱私方面的發行版,如Tails。
你認為從Grub啟動一個ISO這個主意怎樣?這是不是你想要做的呢?為什麼呢?請在下面留言。
via: http://xmodulo.com/boot-iso-image-from-grub.html
作者:Adrien Brochard 譯者:GOLinux 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive