如果你想要使用多個Linux發(fā)行版,你沒有那么多的選擇。你要么安裝到你的物理機(jī)或虛擬機(jī)中,要么以live模式從ISO文件啟動。第二個選擇,對硬盤空間需求較小,只是有點(diǎn)麻煩,因為你需要將ISO文件寫入到U盤或CD/DVD中來啟動。不過,這里還有另外一個可選的折中方案:把ISO鏡像放在硬盤中,然后以live模式來啟動。該方案比完全安裝更省空間,而且功能也完備,這對于緩慢的虛擬機(jī)而言是個不錯的替代方案。下面我將介紹怎樣使用流行的Grub啟動加載器來實(shí)現(xiàn)該方案。
很明顯,你將需要使用到Grub,這是幾乎所有現(xiàn)代Linux發(fā)行版都使用的。你也需要你所想用的Linux版本的ISO文件,將它下載到本地磁盤。最后,你需要知道啟動分區(qū)在哪里,并怎樣在Grub中描述。對于此,請使用以下命令:
# fdisk -l
帶有‘*’的就是啟動分區(qū)。對于我,就是/dev/sda1,用Grub語言描述就是(hd0,1)。
作為參考,sda2就是(hd0,2),sdb1就是(hd1,1),以此類推。(你明白了吧。)
我們需要編輯什么?
首先,打開/etc/default/grub并檢查以下行:
#GRUB_HIDDEN_TIMEOUT=0
需要在此行前添加‘#’進(jìn)行注釋。
保存,然后打開/etc/grub.d/40_custom。
在該文件中,你將添加啟動到ISO的參數(shù)。結(jié)構(gòu)如下:
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
}
注意,參數(shù)可根據(jù)發(fā)行版進(jìn)行修改。幸運(yùn)的是,有許多地方你可以查閱到。我喜歡這個發(fā)行版,但是還有很多其它的發(fā)行版你可以啟動。同時,請注意你放置ISO文件的地方。如果你的家目錄被加密或者無法被訪問到,你可能更喜歡將這些文件放到像例子中的啟動分區(qū)。但是,請首先確保啟動分區(qū)有足夠的空間。
最后,不要忘了保存40_custom文件并使用以下命令來更新grub:
# sudo update-grub
以便在下次啟動時看到修改。
接下來做什么?
想要更多東西?好吧,那就修改下參數(shù)來玩玩。你可以啟動一個ISO文件,并讓它持續(xù)做一些事情。例如,如果你是個徹頭徹尾的妄想癥患者,想要有個可以快速清除硬盤的選項,那么可以使用DBAN來進(jìn)行一些設(shè)置?,F(xiàn)在,真的要當(dāng)心啊,因為此設(shè)置會清除你的硬盤,而且在啟動時也沒有恢復(fù)選項:
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選項,讓你選擇清除驅(qū)動器。當(dāng)心,因為它仍然十分危險。
小結(jié)一下,對于ISO文件和Grub有很多事情可做:從快速live會話到一鍵毀滅,都可以滿足你。之后,你也可以試試啟動一些針對隱私方面的發(fā)行版,如Tails。