安裝核心載入開機(jī)管理程序
lilo命令 用于安裝核心載入,開機(jī)管理程序。lilo是個(gè)Linux系統(tǒng)核心載入程序,同時(shí)具備管理開機(jī)的功能。單獨(dú)執(zhí)行l(wèi)ilo指令,它會(huì)讀取/etc/lilo.conf配置文件,然后根據(jù)其內(nèi)容安裝lilo。
Linux lilo已經(jīng)成為所有 Linux 發(fā)行版的標(biāo)準(zhǔn)組成部分。作為一個(gè) 較老的/最老的 Linux 引導(dǎo)加載程序,它那不斷壯大的 Linux 社區(qū)支持使它能夠隨時(shí)間的推移而發(fā)展,并始終能夠充當(dāng)一個(gè)可用的現(xiàn)代引導(dǎo)加載程序。有一些新的功能,比如增強(qiáng)的用戶界面,以及對(duì)能夠突破原來 1024-柱面限制的新 BIOS 功能的利用。
雖然 LILO 仍在不斷地發(fā)展,但 LILO 工作原理的基本概念保持不變。
lilo(選項(xiàng))
-b<外圍設(shè)備代號(hào)>:指定安裝lilo之處的外圍設(shè)備代號(hào);
-c:使用緊致映射模式;
-C<配置文件>:指定lilo的配置文件;
-d<延遲時(shí)間>:設(shè)置開機(jī)延遲時(shí)間;
-D<識(shí)別標(biāo)簽>:指定開機(jī)后預(yù)設(shè)啟動(dòng)的操作系統(tǒng),或系統(tǒng)核心識(shí)別標(biāo)簽;
-f<幾何參數(shù)文件>:指定磁盤的幾何參數(shù)配置文件;
-i<開機(jī)磁區(qū)文件>:指定欲使用的開機(jī)磁區(qū)文件,預(yù)設(shè)是/boot目錄里的boot.b文件;
-I<識(shí)別標(biāo)簽>:顯示系統(tǒng)核心存放之處;
-l:產(chǎn)生線形磁區(qū)地址;
-m<映射文件>:指定映射文件;
-P<fix/ignore>:決定要修復(fù)或忽略分區(qū)表的錯(cuò)誤;
-q:列出映射的系統(tǒng)核心文件;
-r<根目錄>:設(shè)置系統(tǒng)啟動(dòng)時(shí)欲掛入成為根目錄的目錄;
-R<執(zhí)行指令>:設(shè)置下次啟動(dòng)系統(tǒng)時(shí),首先執(zhí)行的指令;
-s<備份文件>:指定備份文件;
-S<備份文件>:強(qiáng)制指定備份文件;
-t:不執(zhí)行指令,僅列出實(shí)際執(zhí)行會(huì)進(jìn)行的動(dòng)作;
-u<外圍色設(shè)備代號(hào)>:刪除lilo;
-U<外圍設(shè)備代號(hào)>:此選項(xiàng)的效果和指定"-u"參數(shù)類似,當(dāng)不檢查時(shí)間戳記;
-v:顯示指令執(zhí)行過程;
-V:顯示版本信息。
使用 LILO 作為引導(dǎo)加載程序
要使用 LILO 作為引導(dǎo)加載程序,需要做的事情取決于是要進(jìn)行全新安裝還是要讓已經(jīng)安裝的 Linux 改為使用 LILO。如果是要進(jìn)行全新安裝,那么直接跳轉(zhuǎn)到 配置 LILO 那一節(jié)。如果已經(jīng)安裝了某個(gè) Linux 發(fā)行版,那么通常可以選擇安裝并配置 LILO(并可以將機(jī)器引導(dǎo)到新的 Linux 安裝)。
要將現(xiàn)有的 Linux 遷移到 LILO,首先必須獲得最新版本的 LILO(見 參考資料)。在做任何其他事情之前,建議您確保在手邊擁有一張 Linux 引導(dǎo)盤 —— 如果偶而弄錯(cuò)了某些地方,它可以提供很大的幫助,能夠恢復(fù)到初始的 Linux 配置!將 LILO 安裝到系統(tǒng)中之后,讓它接管 MBR 非常簡(jiǎn)單。以 root 用戶身份輸入:
/sbin/lilo -v -v
這將使用當(dāng)前的 LILO 默認(rèn)值,抹去 MBR 中當(dāng)前所有內(nèi)容。不過,請(qǐng)閱讀 配置 LILO,以確保能夠按預(yù)期引導(dǎo)起來。也要注意,如果想要在同一機(jī)器上運(yùn)行 Windows 和 Linux,那么應(yīng)該先安裝 Windows OS,然后再安裝 Linux OS,這樣,在 Linux 安裝中所選擇的引導(dǎo)加載程序就不會(huì)被 Windows 引導(dǎo)加載程序所覆蓋。與 Linux 引導(dǎo)加載程序不同,多數(shù) Window 引導(dǎo)加載程序不支持引導(dǎo) Linux。如果已經(jīng)先安裝了 Linux,那么只需要自己創(chuàng)建一張 Linux 引導(dǎo)盤,這樣就可以在安裝完 Windows 之后,回到 Linux 安裝中并重寫 MBR。
配置 LILO
LILO 的配置都是通過位于 /etc/lilo.conf 的一個(gè)配置文件來完成的。清單 1 給出了一個(gè)示例配置,使用的是我的家用機(jī)器,支持 Linux 和 Windows 機(jī)器的雙重引導(dǎo)。了解我的工作站的基本配置,就可以想像出這些配置是如何與實(shí)際機(jī)器相關(guān)聯(lián)的:
主 HDD(物理磁盤 1)上安裝了 Windows XP(最初機(jī)器上只有它)。在 Linux 術(shù)語(yǔ)中,這個(gè) HDD 是 /dev/hda(在 grub 術(shù)語(yǔ)中是 hd0,0)。
從 HDD(物理磁盤 2)上安裝了 Red Hat Linux;root 分區(qū)位于這個(gè)硬盤驅(qū)動(dòng)器的第三個(gè)分區(qū),即 /dev/hdb3(在 GRUB 術(shù)語(yǔ)中是 hd1,3)。
lilo.conf 示例文件:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=100
compact
default=Linux
image=/boot/vmlinuz-2.4.18-14
label=Linux
root=/dev/hdb3
read-only
password=linux
other=/dev/hda
label=WindowsXP
配置文件選項(xiàng)說明:
在 lilo.conf 文件中可以使用很多其他參數(shù),不過清單 1 中的參數(shù)就足以讓機(jī)器可用了。要獲得關(guān)于 lilo.conf 的這些以及其他參數(shù)的 進(jìn)一步資料,請(qǐng)參考手冊(cè)頁(yè)(man lilo.conf)。由于在引導(dǎo)時(shí)不會(huì)讀取 lilo.conf,所以,當(dāng)這個(gè)文件有改動(dòng)時(shí),需要“更新”MBR。 如果不完成此步驟就重新引導(dǎo),那么對(duì) lilo.conf 的修改不會(huì)在啟動(dòng)中反映出來。與先前將 LILO 寫入 MBR 類似,需要運(yùn)行:
/sbin/lilo -v -v
-v -v
標(biāo)記會(huì)為您給出非常詳細(xì)的輸出。當(dāng)像我們那樣運(yùn)行 LILO 時(shí),有很多參數(shù)可以指定。 參閱手冊(cè)頁(yè)以獲得更進(jìn)一步的信息(man lilo)。
初始引導(dǎo)過程
當(dāng) LILO 初始引導(dǎo)時(shí),它會(huì)按次序打印出每個(gè)字母 —— L-I-L-O。如果所有字母都顯示出來,那么第一階段引導(dǎo)就成功了。缺少任何內(nèi)容 都表示出現(xiàn)了問題:
L:第一階段引導(dǎo)加載程序已經(jīng)被加載。如果 LILO 停止在這里,那么是在引導(dǎo)第二階段引導(dǎo)加載程序時(shí)出現(xiàn)了問題。這通常會(huì)伴隨有一個(gè)錯(cuò)誤代碼。 在這個(gè)階段的常見問題是介質(zhì)問題,或者在 lilo.conf 文件中指定了不正確的磁盤參數(shù)。
LI:第二階段引導(dǎo)加載程序已經(jīng)被加載。LILO 在此處停止表示第二階段引導(dǎo)加載程序不能被執(zhí)行。同樣,這可能是因?yàn)槌霈F(xiàn)了與只顯示 L 類似的問題: 正在加載,或者因 boot.b 文件被破壞、移動(dòng)或刪除而不能加載。
LIL:第二階段引導(dǎo)加載程序正在被執(zhí)行。此時(shí),可能會(huì)再次出現(xiàn)介質(zhì)問題,或者映射文件(如 lilo.conf 文件中所指定的)在尋找描述符表時(shí) 可能會(huì)出現(xiàn)問題。
LIL?:加載到與上面相同的階段。這通常意味著加載第二階段引導(dǎo)加載程序使用了錯(cuò)誤的地址,最常見的原因是 boot.b 所在的位置與 lilo.conf 文件所指定的不同。
LIL-:加載到與上面相同的階段。加載描述符表時(shí)出現(xiàn)問題,最常見的原因是描述符表錯(cuò)誤。
LILO:LILO 成功被加載,沒有出現(xiàn)任何錯(cuò)誤。
引導(dǎo)時(shí)的附加配置
LILO 被成功加載后,將看到 LILO 提示符。還是使用前面的示例 lilo.conf 文件,此時(shí)將有兩個(gè)選擇,可能對(duì) LILO 新手來說并不直觀。首先,可以 讓 LILO 超時(shí)(10 秒后),這將引導(dǎo)/dev/hdb3
,即 Linux 分區(qū)。另外,可以按下 TAB 鍵,這將列出將要引導(dǎo)的操作系統(tǒng)選項(xiàng)。在我們的示例 lilo.conf 中, 將得到的選項(xiàng)是 “Linux” 和 “Windows”。輸入哪一個(gè),就會(huì)引導(dǎo)到哪個(gè) OS。指定加載 Linux 選項(xiàng),會(huì)提示輸入一個(gè)口令,在本例中是 linux。如果輸入的口令有誤,則會(huì)返回 LILO 提示符。
不幸的是,LILO 不支持引導(dǎo)期間的交互式配置,所以,只能在 lilo.conf 中或者運(yùn)行/sbin/lilo
時(shí)指定選項(xiàng)。
關(guān)于第一次嘗試 LILO 的最后一點(diǎn)建議是:我發(fā)現(xiàn)使用軟盤引導(dǎo)磁盤比使用硬盤實(shí)現(xiàn) LILO 配置更為安全。為此,必須在 lilo.conf 文件中使用boot=/dev/fd0
替換boot=/dev/hda
。那樣,如果弄亂了lilo.conf文件 中的任何配置,都可以取出引導(dǎo)磁盤并像先前一樣引導(dǎo)到 Linux。當(dāng)使用軟盤進(jìn)行引導(dǎo)一切正常以后,可以將lilo.conf修改回boot=/dev/hda
,然后最后一次運(yùn)行/sbin/lilo
來上傳修改。