LILO.CONF(5) File Formats Manual LILO.CONF(5)

lilo.conf - lilo 配置檔案

描述

預設情況下,本檔案 ( /etc/lilo.conf ) 由引導管理程式 lilo 讀取 (參考 lilo(8)).

它看起來可能象這樣:

boot = /dev/hda
delay = 40
compact
vga = normal
root = /dev/hda1
read-only
image = /zImage-2.5.99

label = try image = /zImage-1.0.9
label = 1.0.9 image = /tamu/vmlinuz label = tamu root = /dev/hdb2 vga = ask other = /dev/hda3 label = dos table = /dev/hda

該檔案表明 lilo 使用裝置 /dev/hda 的 Master Boot Record (簡稱 MBR, 主引導記錄). (有關 lilo 使用方法 及與其它作業系統 相互影響的討論, 參考 lilo 文件中 user.tex 部分).

引導時, 引導載入程式會等待 4 秒 (40 個十分之一秒), 使你有機會按下 Shift 鍵. 如果沒有按鍵動作發生, 第一個核心映像檔案 (/zImage-1.5.99, 也許你剛在 五分鐘之前 完成的安裝) 將被引導; 否則, 引導載入程式會 詢問你要引導哪一個映像. 如果你不知道 有哪些選項可以選擇, 按 [TAB] 鍵 (如果使用的 是美國鍵盤佈局, 還可以按 [?]), 可以得到一個選單, 這時你就可以 選擇引導較新的核心, 或者是老的穩定的核心, 甚至是另外的 根檔案系統上的核心, 也可以引導其它的作業系統, 在 lilo.conf 中可以配置最多 16 個映像.

正如上面所見, 配置檔案以一定數量的全域性 選項開始 (例子中開始的 6 行), 緊接著是各映像的描述選項, 在各映像中的選項會覆蓋全域性選項.

全域性選項

這部分有許多 可能的關鍵字, 下面部分儘可能按照 user.tex 中的描述進行解釋.

使用 backup-file 檔案 (可能是一個裝置,如 /dev/null) 代替原來的 /boot/boot.NNNN 存放引導扇區的備份.
指定包含引導扇區的裝置名稱 (如硬碟分割槽), 如果忽略了該關鍵字, 引導扇區就從 當前作為 root 檔案系統 安裝的裝置讀取 (也可能是進行寫入).
定義引導時用於改變分割槽型別的數字 ('隱藏'). 細節請參考 user.tex 中的 "Partition type change rules" 部分.
盡力把讀取相鄰扇區的請求合併為一次 讀取. 這可以顯著 縮短裝載時間並減小映像, 在用軟盤引導時, 強烈推薦使用 `compact' 選項.
使用指定的映像檔案 作為預設值加以引導. 如果忽略了 `default' 選項, 配置檔案中 第一個出現的映像會被引導.
在裝載第一個映像之前等待的十分之一秒數. 這在需要啟用鍵盤之後立即從硬碟 啟動系統非常有用, 如果忽略了本選項或設定為 0 將不等待.
為指定的磁碟給出非標準引數, 有關細節參考 user.tex 中的 "Disk geometry" 部分. 特別有用的是 `bios=' 引數, BIOS 為磁碟編號為0x80, 0x81等,但是它 不知道 Linux 磁碟對應的是哪一個 BIOS 盤 (因為這依賴於 BIOS 的設定, 也依賴於 BIOS 的型別), 所以如果你使用的是設定很特殊的系統, 你就必須說明 Linux 磁碟與 BIOS 盤之間的對應關係. 例如:

disk=/dev/sda
bios=0x80
disk=/dev/hda
bios=0x81

意思是, 你的第一塊 SCSI 盤 (譯者注: 通常id=0) 對應一號 BIOS 盤, 第一個 IDE 口上的主盤對應二號 BIOS 盤.

指定包含磁碟引數表的檔名稱. 如果忽略 `disktab' 選項, 映像安裝程式查詢 /etc/disktab , 不鼓勵使用 disktab .
允許 lilo 調整分割槽表中的三維地址 (sector/head/cylinder). 每個分割槽表項包含有本分割槽 起始扇區與結束扇區的三維地址和線性地址, 如果分割槽不是對應在整個磁軌上並且 有其它的作業系統 (如PC/MS-DOS 或 OS/2) 在使用 同一磁碟, 它們可能會修改三維地址, lilo 可以在分割槽上儲存兩種地址 的引導扇區, 如果使用了 `fix-table' 選項, lilo 可以重新調整錯誤的三維開始地址.

警告: 這並不能保證其它的作業系統 隨後不重新修改地址, 並且發生其它的負作用. 正確的方法是對磁碟重新分割槽, 使得分割槽對應於整個磁軌.

類似 `backup', 如果原來有同名的備份檔案就予以改寫.
通知 lilo 忽略混亂的分割槽表.
把指定的檔案作為新的引導扇區進行安裝, 如果忽略 `install' 選項,預設使用 /boot/boot.b.
生成線性的扇區地址代替 sector/head/cylinder 型別的三維地址. 線性地址是在執行時進行轉換, 它不依賴於磁碟的幾何結構. 注意如果使用 `linear' 選項, 就不能使用 行動式磁碟 (如軟盤) 作為引導盤, 這是因為 決定磁碟 幾何結構的 BIOS 服務 對於軟盤 不能可靠的工作. 對於大磁碟使用 `linear' 選項時, /sbin/lilo 可以生成對不可到達 磁碟區域的引用, 這是由於 在引導完成之前 並不知道扇區的三維地址.
生成 32 位的邏輯塊地址代替 sector/head/cylinder 結構的三維地址. 如果 BIOS 支援資料分組 (packet) 定址, 就會使用這類呼叫去存取磁碟, 這樣就可以從大於 8.4Gb 的分割槽進行引導, 變換的幾何結構僅限於是 C:H:S 型別的地址 ; 如果 BIOS 不支援資料分組定址, 'lba32' 就如 'linear' 選項, 地址被轉換為 C:H:S 結構. 使用 'lba32' 選項,所有的軟盤仍保持 C:H:S 型別的格式.
允許自動記錄引導命令作為下次引導的預設值. 透過這種方法, lilo 可以"鎖定"一個選項直到 手工覆蓋它.
指定映像檔案的位置. 如果忽略了 `map' 選項,就使用 /boot/map .
指定包含有在引導提示出現之前 顯示的訊息的檔名稱. 在列印 "LILO " 之後等待按 Shift 鍵 過程中訊息不會顯示. 在此訊息中, FF 字元 ([Ctrl L]) 清除本地螢幕, 訊息檔案的大小限制為 65535 位元組, 如果改變或刪除了此檔案, 映像檔案必須重建.
禁止對後來的危險發出警告.
每一個 `optional' 選項 (參考下面) 都作用 於所有的映像.
每一個 `password=...' 選項 (參考下面) 都作用 於所有的映像.
在任何按鍵之前強制進入引導提示. 如果設定了 'prompt' 但是沒有設定 `timeout', 就不能自動引導機器 (需要人工干預).
每一個 `restricted' 選項 (參考下面) 都作用 於所有的映像.
允許從序列線路進行控制. 指定的串列埠被初始化, 引導載入程式接受從此埠和 PC 鍵盤的輸入. 在序列線路上傳送一箇中斷 (break) 相當於在控制檯按下 shift 鍵, 可以得到載入程式的注意. 允許序列線路控制時, 所有的引導映像都應該加上口令保護. 比如線路是連線在 modem 上時, 相對於控制檯, 這是最起碼的安全要求. 引數串有如下的語法格式:

<port>[,<bps>[<parity>[<bits>]]]

<port>: 串列埠號, 以 0 為基準. 0 對應於 COM1, 也就是 /dev/ttyS0, 依此類推. 可以使用所有的四個埠 (如果有的話).

<bps>: 本埠的波特率. 支援如下波特率: 110, 150, 300, 600, 1200, 2400, 4800 和 9600 bps. 預設是 2400 bps.

<parity>: 線路上使用的奇偶校驗方式. 載入程式忽略 輸入的奇偶校驗, 即省略第八位, 下面字元描述校驗方式 (大小寫均可): n 無校驗, e 偶校驗, o 奇校驗.

<bits>: 字元位數. 僅支援 7 位或 8位, 如果無奇偶校驗, 預設為 8 位, 有校驗則為 7 位.

如果設定了 `serial' 選項, `delay' 的值自動增加到 20.

例如: serial=0,2400n8 用預設的引數初始化 COM1 埠.

設定鍵盤輸入的超時時間 (以十分之一秒為單位). 到了指定的時間沒有按鍵發生, 第一個映像被自動引導. 類似的, 如果使用者停頓時間太長, 口令輸入過程也被終止, 預設沒有超時時間.
開啟詳細報告過程. 更大的數字可以得到更多的輸出, 如果在 lilo 的命令列附加了 -v , level 值會再增加. 最大值為 5.

另外, 核心配置引數 append, ramdisk, read-only, read-write, rootvga 也在全域性選項部分設定. 如果沒有在各核心映像部分 修改它們, 預設是使用了的.

各映像選項

各個映像部分從任意一行開始.


image=pathname

(用於指出包含有 Linux 核心的檔案或裝置), 或者如下面這行:


other=pathname

指出要引導的其它系統.

在以前, image 行指定引導的裝置時, 就必須用

格式給出扇區的範圍.

後來 (要引導其它系統) 使用了下面這三個選項 :

指出使用的 chain 裝入程式. 預設時使用 /boot/chain.b , 當不是從第一塊硬碟或軟盤引導時, 必須給出 chain 裝入程式.
給出包含有分割槽表的裝置. 如果忽略了此選項, 引導載入程式就 不會給被引導的作業系統傳送分割槽資訊, (有些作業系統可以透過其它辦法 知道自己是從哪個分割槽引導的, 如 MS-DOS 通常在它的引導扇區 儲存磁碟的幾何結構或分割槽資訊). 注意: 如果透過 `table' 選項引用的 分割槽表裝置被修改了, 就需要重新執行 /sbin/lilo.
在建立對映時不能存取引導扇區. 這樣禁止某些包括分割槽表的完整性檢查, 如果引導扇區在固定格式的軟盤裝置上, 使用 UNSAFE 可以避免在執行 對映安裝程式時需要把可讀盤放入驅動器中, `unsafe' 和 `table' 不相容.

在上面所示的兩種情況下, 都適用下述選項 :

指出每個映像的標識檔名稱 (不含路徑). 透過設定各種 `label', 可以為映像指定不同的名稱.
透過使用別名可以為同一個專案指定第二個名稱.
(參考前面.)
如果在對映建立時 沒有提供映像檔案就忽略它. 這對於指定 實際上並不存在的實驗核心 是非常有用的.
透過 password 口令保護映像.
如果引數是在命令列中給出的, 為引導映像就僅需要口令 (如 single).

如果引導的是 Linux 核心, 可以傳遞命令列引數到核心.

在傳遞給核心的引數表中附加本選項. 典型的應用是指定不能完全自動 探測到的硬體引數, 或者是可能有風險的情況. 例如:

append = "hd=64,32,202"
類似 `append', 但刪除其它選項 (如設定 root 裝置). 因為透過 `literal' 選項, 可以無意中刪除掉其它關鍵選項, 所以它不能用在全域性選項部分.
指出 RAM 磁碟的大小, 0 表示沒有 RAM 盤需要建立. 忽略了此選項, RAM 盤的大小就使用引導映像中原來配置的值.
指出 root 檔案系統以只讀方式安裝. 典型地, 系統在啟動過程中 (在 fsck 檢查過程之後) 以讀寫方式安裝 root 檔案系統.
以讀寫方式安裝 root 檔案系統.
指定作為 root 安裝的裝置. 如果使用的是 current , root 就設定為當前以根 檔案系統安裝的裝置. 如果用 -r 選項改變了 root 的值, 就使用各個自己的裝置. 如果忽略了 'root' 選項, 就使用核心中包含的 root 裝置. (該值是在核心的 Makefile 檔案中 由 ROOT_DEV 給出並在編譯核心時 就確定了的, 以後可以用 rdev(8) 程式修改.)
引導時可以選擇的 VGA 文字模式. 可以使用下列值:

normal: 普通 80x25 文字模式 .

extended (或 ext): 選擇 80x50 文字模式 .

ask: 引導停止並等待使用者輸入.

<number>: 使用此數字對應的文字模式. 透過 vga=ask 引導, 然後按 [Enter] 可以得到一個支援的列表輸出.

忽略了此選項, 就使用核心映像中 包含的 VGA 模式設定值. (該值是在核心的 Makefile 檔案中 由 SVGA_MODE 給出並在編譯核心時就確定了的, 以後可以用 rdev(8) 程式修改.)

參考

lilo(8), rdev(8).
lilo 的發行版都有很多的文件資料, 以上僅僅是其中的一小部分.

中文版維護人

Yin Huaming <yhmact@pzh-public.sc.cninfo.net>

中文版最新更新

2002年7月10日

中文 man 手冊頁翻譯計劃

http://cmpp.linuxforum.net

本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh

20 March 2000