Linux系統(tǒng)中使用Grub啟動(dòng)器啟動(dòng)ISO鏡像的方法

如果你想要使用多個(gè)Linux發(fā)行版,你沒(méi)有那么多的選擇。你要么安裝到你的物理機(jī)或虛擬機(jī)中,要么以live模式從ISO文件啟動(dòng)。第二個(gè)選擇,對(duì)硬盤(pán)空間需求較小,只是有點(diǎn)麻煩,因?yàn)槟阈枰獙SO文件寫(xiě)入到U盤(pán)或CD/DVD中來(lái)啟動(dòng)。不過(guò),這里還有另外一個(gè)可選的折中方案:把ISO鏡像放在硬盤(pán)中,然后以live模式來(lái)啟動(dòng)。該方案比完全安裝更省空間,而且功能也完備,這對(duì)于緩慢的虛擬機(jī)而言是個(gè)不錯(cuò)的替代方案。下面我將介紹怎樣使用流行的Grub啟動(dòng)加載器來(lái)實(shí)現(xiàn)該方案。
很明顯,你將需要使用到Grub,這是幾乎所有現(xiàn)代Linux發(fā)行版都使用的。你也需要你所想用的Linux版本的ISO文件,將它下載到本地磁盤(pán)。最后,你需要知道啟動(dòng)分區(qū)在哪里,并怎樣在Grub中描述。對(duì)于此,請(qǐng)使用以下命令:
帶有‘*’的就是啟動(dòng)分區(qū)。對(duì)于我,就是/dev/sda1,用Grub語(yǔ)言描述就是(hd0,1)。
作為參考,sda2就是(hd0,2),sdb1就是(hd1,1),以此類(lèi)推。(你明白了吧。)
我們需要編輯什么?
首先,打開(kāi)/etc/default/grub并檢查以下行:
需要在此行前添加‘#’進(jìn)行注釋。
保存,然后打開(kāi)/etc/grub.d/40_custom。
在該文件中,你將添加啟動(dòng)到ISO的參數(shù)。結(jié)構(gòu)如下:
set isofile="[path to ISO file]"
loopback loop [boot partition in Grub language]$isofile
[some specific] arguments
}
例如,如果你想要從ISO文件啟動(dòng)Ubuntu,那么你就是想要添加如下行到40_custom文件:
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
}

如果你想要啟動(dòng)Gparted:
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:
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)的是,有許多地方你可以查閱到。我喜歡這個(gè)發(fā)行版,但是還有很多其它的發(fā)行版你可以啟動(dòng)。同時(shí),請(qǐng)注意你放置ISO文件的地方。如果你的家目錄被加密或者無(wú)法被訪問(wèn)到,你可能更喜歡將這些文件放到像例子中的啟動(dòng)分區(qū)。但是,請(qǐng)首先確保啟動(dòng)分區(qū)有足夠的空間。
最后,不要忘了保存40_custom文件并使用以下命令來(lái)更新grub:
以便在下次啟動(dòng)時(shí)看到修改。
接下來(lái)做什么?
想要更多東西?好吧,那就修改下參數(shù)來(lái)玩玩。你可以啟動(dòng)一個(gè)ISO文件,并讓它持續(xù)做一些事情。例如,如果你是個(gè)徹頭徹尾的妄想癥患者,想要有個(gè)可以快速清除硬盤(pán)的選項(xiàng),那么可以使用DBAN來(lái)進(jìn)行一些設(shè)置?,F(xiàn)在,真的要當(dāng)心啊,因?yàn)榇嗽O(shè)置會(huì)清除你的硬盤(pán),而且在啟動(dòng)時(shí)也沒(méi)有恢復(fù)選項(xiàng):
set isofile="/boot/dban.iso"
loopback loop (hd0,1)$isofile
linux (loop)/dban.bzi nuke="dwipe" silent
}
另外一個(gè)選擇
set isofile="/boot/dban.iso"
loopback loop (hd0,1)$isofile
linux (loop)/dban.bzi
}
可以顯示DBAN選項(xiàng),讓你選擇清除驅(qū)動(dòng)器。當(dāng)心,因?yàn)樗匀皇治kU(xiǎn)。
小結(jié)一下,對(duì)于ISO文件和Grub有很多事情可做:從快速live會(huì)話到一鍵毀滅,都可以滿(mǎn)足你。之后,你也可以試試啟動(dòng)一些針對(duì)隱私方面的發(fā)行版,如Tails。
相關(guān)文章
Linux無(wú)網(wǎng)絡(luò)安裝GCC的技巧(需要安裝光盤(pán)或ISO鏡像)
GCC是GNU編譯器套件,需在有網(wǎng)絡(luò)的情況下安裝,無(wú)網(wǎng)絡(luò)能不能安裝GCC呢?沒(méi)有網(wǎng)絡(luò),但需要有安裝光盤(pán)或者ISO鏡像2015-01-29Linux下如何直接從硬盤(pán)啟動(dòng)Linux ISO鏡像文件
啟動(dòng)Linux ISO鏡像都要現(xiàn)將文件刻錄到光盤(pán)或從USB驅(qū)動(dòng)啟動(dòng),下面以圖文的形式為大家分享下如何直接從硬盤(pán)啟動(dòng)Linux ISO文件,感興趣的朋友一起來(lái)看看哦2014-12-10- 這里我整理了一份最新、最熱的 Linux 發(fā)行版的下載鏈接,可以讓初學(xué)者能夠快速領(lǐng)略到 Linux 的風(fēng)采。2014-10-31