Scroll to navigation

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

NAME

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 核心選項

如果引導的是 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