實例講解LILO的配置和使用
發(fā)布時間:2008-08-14 閱讀數(shù): 次 來源:網(wǎng)樂原科技
如果你第一次安裝Linux,那么可能就需要用到雙重啟動。LILO(LInux LOader)就是實現(xiàn)這種功能的最簡單但是最具有伸縮性的程序。
計算機啟動時,BIOS會執(zhí)行位于硬盤主引導(dǎo)記錄(MBR) 或者軟盤上的一段引導(dǎo)程序,這段程序的作用就是定位并加載操作系統(tǒng)。如果是引導(dǎo)Linux的話,引導(dǎo)程序會把Linux內(nèi)核調(diào)入內(nèi)存。LILO就是干這種活兒的程序。
首先遇到LILO,估計應(yīng)該在你安裝Linux的時候,你會被要求選擇LILO 的安裝處,是MBR還是Linux 的根分區(qū)。如果你有其他的啟動管理程序例如Boot Magic 或者 System Commander 等,并且想使用他們,那么你應(yīng)該把LILO安裝到Linux的根分區(qū)。如果你選擇使用LILO作為啟動管理程序,就可以選擇MBR。如果你想在啟動時傳遞參數(shù)給內(nèi)核,也應(yīng)該使用MBR。
使用LILO作為啟動程序后,機器啟動后就會有LILO:的提示符,按下TAB鍵,可以看到可以選擇的操作系統(tǒng)列表。輸入其中的操作系統(tǒng)標(biāo)簽名就可以啟動到對應(yīng)的操作系統(tǒng),或者直接輸入回車啟動到缺省的操作系統(tǒng)。
我們來看一個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根分區(qū)例如 /dev/hda3。
vga是一個顯示啟動菜單的配置選項,可以有: 'normal' (80x25 文本模式), 'extended' (80x50 文本模式) 以及 'ask' (提示你選擇文本模式)。
采用read-only選項時,系統(tǒng)會把根分區(qū)掛接為只讀方式,推薦采用這個選項,因為 fsck 程序要求文件系統(tǒng)只讀。 但不用擔(dān)心你的根分區(qū)會不能寫入了,相反,系統(tǒng)一旦啟動就會把根分區(qū)掛接為讀寫方式。
prompt是一個必須放入的選項,否則就沒有LILO 的提示符了。但是按住shift鍵可以看到提示。
default 指定缺省的引導(dǎo)映像,如果沒有指定,那么第一個定義的映像就成為缺省值。
timeout 是提示顯示的時間,單位是 0.1 秒。
append是一個十分有用的選項,他允許你把額外的參數(shù)傳遞給內(nèi)核,例子中的 /dev/hdc 是一個可擦寫CD驅(qū)動器,傳遞的參數(shù)就是用來讓內(nèi)核認(rèn)識這個驅(qū)動器,另外這個選項在個別不認(rèn)識內(nèi)存的機器上十分有用。需要注意的是,你需要使用雙引號來引入想要傳遞的參數(shù),不要使用單引號。
LILO 也可以讓你手工在LILO 提示符下傳遞這些參數(shù)。例如:
LILO: linux single
就是告訴Linux 啟動Linux 進入單用戶模式。在引導(dǎo)區(qū)損壞時,可以從軟盤啟動,然后指定硬盤的根來修復(fù)硬盤引導(dǎo)扇區(qū)。
LILO: linux root=/dev/hda3
image 指定需要啟動的內(nèi)核映像。每個映像還包括一個 label 選項定義啟動時你需要輸入的標(biāo)簽。
還可以為某一個 image 指定口令:
password='password'
添加 restricted 選項后,系統(tǒng)就會在你傳遞額外的參數(shù)時提示口令。這就防止有人采用“l(fā)inux single” 來直接引導(dǎo)到提示符,而不需要驗證系統(tǒng)口令。這在采用主機托管的服務(wù)器上十分有用,如果碰到別有用心的主機托管機房的管理人員時,這一招還是管用的。
LILO 引導(dǎo)其他類型的操作系統(tǒng)和引導(dǎo)Linux 一樣配置,但是更加簡單:
other = /dev/hda3
label = dos
table = /dev/hda
other 指明操作系統(tǒng)所在的分區(qū),同樣的和Linux 下的image 一樣也需要給定一個標(biāo)簽(label),table 選項指向包含分區(qū)表的設(shè)備,這個選項必不可少,因為LILO 會從這個這個分區(qū)表尋找對應(yīng)的分區(qū)信息,然后把他傳遞給要啟動的操作系統(tǒng)。
對lilo.conf 的任何改變都要求重新運行 /sbin/lilo ,保證最新的改變能寫入分區(qū)。另外,如果你升級內(nèi)核或者重構(gòu)了 initrd 映像,也需要重新運行 /sbin/lilo。
運行/sbin/lilo 后,可以看到如下信息:
Added linux *
Added suse
Added windows
表示各種映像已經(jīng)寫入分區(qū),帶有 * 的分區(qū)是目前的缺省引導(dǎo)分區(qū)??梢杂?-D 參數(shù)改變?nèi)笔∫龑?dǎo)分區(qū):
/sbin/lilo -D windows
Added linux
Added suse
Added windows *
可以看到缺省分區(qū)已經(jīng)成為 windows了。