class="22653">
Linux;加載程序或者說;LILO;是引導Linux;操作系統最常用的程序,本文將以實例詳細敘述Lilo;的配置。
如果你第一次安裝Linux;,那麼可能就需要用到雙重啟動。
LILO(LInux;LOader)就是實現這種功能的最簡單但是最
具有伸縮性的程序。
計算機啟動時,BIOS;會執行位於硬盤主引導記錄(MBR)
或者軟盤上的一段引導程序,這段程序的作用就是定位並
加載操作系統。如果是引導Linux;的話,引導程序會把Linux;內核調入內存。LILO;就是干這種活兒的程序。
首先遇到LILO,估計應該在你安裝Linux;的時候,你會被要求選擇LILO;的安裝處,是MBR;還是Linux;的根分區。
如果你有其他的啟動管理程序例如Boot;Magic;或者;System;Commander;等,並且想使用他們,那麼你應該把LILO;
安裝到Linux;的根分區。如果你選擇使用LILO;作為啟動管理程序,就可以選擇MBR。如果你想在啟動時傳遞參數給
內核,也應該使用MBR。
使用LILO;作為啟動程序後,機器啟動後就會有LILO:的提示符,按下;TAB;鍵,可以看到可以選擇的操作系統列表。
輸入其中的操作系統標簽名就可以啟動到對應的操作系統,或者直接輸入回車啟動到缺省的操作系統。
我們來看一個LILO;啟動的配置文件(/etc/lilo.conf)實例:
boot;=;/dev/hda;
vga;=;normal;
read-only;
prompt;
default;=;dos;
timeout;=;30;
append="hdc=ide-scsi";
image;=;/boot/vmlinuz;
label;=;linux;
root;=;/dev/hda2;
initrd;=;/boot/initrd;
第一個選項是;boot;,定義了LILO;的安裝位置,
'/dev/hda';就是把LILO;安裝到;MBR,所以你如果要把
LILO;作為啟動管理程序,就必須這樣寫哦!反之,你要把他定位到具體的Linux;根分區例如;/dev/hda3。
vga;是一個顯示啟動菜單的配置選項,可以有:
'normal';(80x25;文本模式),;
'extended';(80x50;文本模式)
以及;'ask';(提示你選擇文本模式)。
采用read-only;選項時,系統會把根分區掛接為只讀方式,
推薦采用這個選項,因為;fsck;程序要求文件系統只讀。
但不用擔心你的根分區會不能寫入了,相反,系統一旦
啟動就會把根分區掛接為讀寫方式。
prompt;是一個必須放入的選項,否則就沒有LILO;的提示符了。但是按住;shift;鍵可以看到提示。
default;指定缺省的引導映像,如果沒有指定,那麼第一個
定義的映像就成為缺省值。
timeout;是提示顯示的時間,單位是;0.1;秒。
append;是一個十分有用的選項,他允許你把額外的參數傳遞給內核,例子中的;/dev/hdc;是一個可擦寫CD驅動器,
傳遞的參數就是用來讓內核認識這個驅動器,另外這個選項在個別不認識內存的機器上十分有用。需要注意的是,
你需要使用雙引號來引入想要傳遞的參數,不要使用單引號。
LILO;也可以讓你手工在LILO;提示符下傳遞這些參數。例如:
LILO:;linux;single;
就是告訴Linux;啟動Linux;進入單用戶模式。在引導區損壞時,可以從軟盤啟動,然後指定硬盤的根來修復硬盤引
導扇區。
LILO:;linux;root=/dev/hda3
image;指定需要啟動的內核映像。每個映像還包括一個;label;選項定義啟動時你需要輸入的標簽。
還可以為某一個;image;指定口令:
password='password';
添加;restricted;選項後,系統就會在你傳遞額外的參數時提示口令。這就防止有人采用“linux;single”;來直接
引導到提示符,而不需要驗證系統口令。這在采用主機托管的服務器上十分有用,如果碰到別有用心的主機托管機房
的管理人員時,這一招還是管用的。
LILO;引導其他類型的操作系統和引導Linux;一樣配置,但是更加簡單:
other;=;/dev/hda3;
label;=;dos;
table;=;/dev/hda;
other;指明操作系統所在的分區,同樣的和Linux;下的image;一樣也需要給定一個標簽(label),table;選項指向
包含分區表的設備,這個選項必不可少,因為LILO;會從這個這個分區表尋找對應的分區信息,然後把他傳遞給
要啟動的操作系統。
對lilo.conf;的任何改變都要求重新運行;/sbin/lilo;,保證最新的改變能寫入分區。
另外,如果你升級內核或者重構了;initrd;映像,也需要重新運行;/sbin/lilo。
運行/sbin/lilo;後,可以看到如下信息:
Added;linux;*;
Added;suse;
Added;windows;
表示各種映像已經寫入分區,帶有;*;的分區是目前的缺省引導分區。
可以用;-D;參數改變缺省引導分區:
/sbin/lilo;-D;windows;
Added;linux;
Added;suse;
Added;windows;*;
可以看到缺省分區已經成為;windows了。