Linux 加載程序或者說LILO是引導Linux操作系統最常用的程序,本文將以實例詳細敘述Lilo的配置。 如果你第一次安裝Linux,那麼可能就需要用到雙重啟動。 LILO(LInuxLOader)就是實現這種功能的最簡單但是最 具有伸縮性的程序。 計算機啟動時,BIOS會執行位於
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了。