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=backup-file
使用 backup-file 檔案 (可能是一個設備,如 /dev/null) 代替原來的 /boot/boot.NNNN 存放引導扇區的備份.
boot=boot-device
指定包含引導扇區的設備名稱 (如硬碟分區), 如果忽略了該關鍵字, 引導扇區就從 當前作為 root 檔案系統 安裝的設備讀取 (也可能是進行寫入).
change-rules
定義引導時用於改變分區類型的數字 ('隱藏'). 細節請參考 user.tex 中的 "Partition type change rules" 部分.
compact
盡力把讀取相鄰扇區的請求合並為一次 讀取. 這可以顯著 縮短裝載時間並減小映像, 在用軟碟引導時, 強烈推薦使用 `compact' 選項.
default=name
使用指定的映像檔案 作為預設值加以引導. 如果忽略了 `default' 選項, 配置檔案中 第一個出現的映像會被引導.
delay=tsecs
在裝載第一個映像之前等待的十分之一秒數. 這在需要激活鍵盤之後立即從硬碟 啟動系統非常有用, 如果忽略了本選項或設置為 0 將不等待.
disk=device-name
為指定的磁碟給出非標準參數, 有關細節參考 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=disktab-file
指定包含磁碟參數表的檔案名稱. 如果忽略 `disktab' 選項, 映像安裝程式查找 /etc/disktab , 不鼓勵使用 disktab .
fix-table
允許 lilo 調整分區表中的三維地址 (sector/head/cylinder). 每個分區表項包含有本分區 起始扇區與結束扇區的三維地址和線性地址, 如果分區不是對應在整個磁道上並且 有其它的作業系統 (如PC/MS-DOS 或 OS/2) 在使用 同一磁碟, 它們可能會修改三維地址, lilo 可以在分區上保存兩種地址 的引導扇區, 如果使用了 `fix-table' 選項, lilo 可以重新調整錯誤的三維開始地址.
警告: 這並不能保証其它的作業系統 隨後不重新修改地址, 並且發生其它的負作用. 正確的方法是對磁碟重新分區, 使得分區對應於整個磁道.
force-backup=backup-file
類似 `backup', 如果原來有同名的備份檔案就予以改寫.
ignore-table
通知 lilo 忽略混亂的分區表.
install=boot-sector
把指定的檔案作為新的引導扇區進行安裝, 如果忽略 `install' 選項,預設使用 /boot/boot.b.
linear
生成線性的扇區地址代替 sector/head/cylinder 類型的三維地址. 線性地址是在運行時進行轉換, 它不依賴於磁碟的幾何結構. 注意如果使用 `linear' 選項, 就不能使用 便攜式磁碟 (如軟碟) 作為啟動磁碟, 這是因為 決定磁碟 幾何結構的 BIOS 服務 對於軟碟 不能可靠的工作. 對於大磁碟使用 `linear' 選項時, /sbin/lilo 可以生成對不可到達 磁碟區域的引用, 這是由於 在引導完成之前 並不知道扇區的三維地址.
lba32
生成 32 位的邏輯塊地址代替 sector/head/cylinder 結構的三維地址. 如果 BIOS 支持數據分組 (packet) 定址, 就會使用這類調用去存取磁碟, 這樣就可以從大於 8.4Gb 的分區進行引導, 變換的幾何結構僅限於是 C:H:S 類型的地址 ; 如果 BIOS 不支持數據分組定址, 'lba32' 就如 'linear' 選項, 地址被轉換為 C:H:S 結構. 使用 'lba32' 選項,所有的軟碟仍保持 C:H:S 類型的格式.
lock
允許自動記錄引導命令作為下次引導的預設值. 通過這種方法, lilo 可以"鎖定"一個選項直到 手動覆蓋它.
map=map-file
指定映像檔案的位置. 如果忽略了 `map' 選項,就使用 /boot/map .
message=message-file
指定包含有在引導提示出現之前 顯示的消息的檔案名稱. 在列印 "LILO " 之後等待按 Shift 鍵 過程中消息不會顯示. 在此消息中, FF 字符 ([Ctrl L]) 清除本地螢幕, 消息檔案的大小限制為 65535 字節, 如果改變或刪除了此檔案, 映像檔案必須重建.
nowarn
禁止對後來的危險發出警告.
optional
每一個 `optional' 選項 (參考下面) 都作用 於所有的映像.
password=password
每一個 `password=...' 選項 (參考下面) 都作用 於所有的映像.
prompt
在任何按鍵之前強制進入引導提示. 如果設置了 'prompt' 但是沒有設置 `timeout', 就不能自動引導機器 (需要人工幹預).
restricted
每一個 `restricted' 選項 (參考下面) 都作用 於所有的映像.
serial=parameters
允許從串行線路進行控制. 指定的串行端口被初始化, 引導載入程式接受從此端口和 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 端口.
timeout=tsecs
設置鍵盤輸入的超時時間 (以十分之一秒為單位). 到了指定的時間沒有按鍵發生, 第一個映像被自動引導. 類似的, 如果使用者停頓時間太長, 口令輸入過程也被終止, 預設沒有超時時間.
verbose=level
打開詳細報告過程. 更大的數字可以得到更多的輸出, 如果在 lilo 的命令行附加了 -v , level 值會再增加. 最大值為 5.
另外, 核心配置參數 append, ramdisk, read-only, read-write, rootvga 也在全局選項部分設置. 如果沒有在各核心映像部分 修改它們, 預設是使用了的.

各映像選項

各個映像部分從任意一行開始.
     image=pathname
(用於指出包含有 Linux 核心的檔案或設備), 或者如下面這行:
     other=pathname
指出要引導的其它系統.
在以前, image 行指定引導的設備時, 就必須用
range=start-end
格式給出扇區的范圍.
後來 (要引導其它系統) 使用了下面這三個選項 :
loader=chain-loader
指出使用的 chain 裝入程式. 預設時使用 /boot/chain.b , 當不是從第一塊硬碟或軟碟引導時, 必須給出 chain 裝入程式.
table=device
給出包含有分區表的設備. 如果忽略了此選項, 引導載入程式就 不會給被引導的作業系統傳送分區信息, (有些作業系統可以通過其它辦法 知道自己是從哪個分區引導的, 如 MS-DOS 通常在它的引導扇區 保存磁碟的幾何結構或分區信息). 注意: 如果通過 `table' 選項引用的 分區表設備被修改了, 就需要重新執行 /sbin/lilo.
unsafe
在建立映射時不能存取引導扇區. 這樣禁止某些包括分區表的完整性檢查, 如果引導扇區在固定格式的軟碟設備上, 使用 UNSAFE 可以避免在執行 映射安裝程式時需要把可讀盤放入驅動器中, `unsafe' 和 `table' 不相容.
在上面所示的兩種情況下, 都適用下述選項 :
label=name
指出每個映像的標識檔案名稱 (不含路徑). 通過設置各種 `label', 可以為映像指定不同的名稱.
alias=name
通過使用別名可以為同一個項目指定第二個名稱.
lock
(參考前面.)
optional
如果在映射建立時 沒有提供映像檔案就忽略它. 這對於指定 實際上並不存在的實驗核心 是非常有用的.
password=password
通過 password 口令保護映像.
restricted
如果參數是在命令行中給出的, 為引導映像就僅需要口令 (如 single).

Linux 核心選項

如果引導的是 Linux 核心, 可以傳遞命令行參數到核心.
append=string
在傳遞給核心的參數表中附加本選項. 典型的應用是指定不能完全自動 探測到的硬體參數, 或者是可能有風險的情況. 例如:
     append = "hd=64,32,202"
    
literal=string
類似 `append', 但刪除其它選項 (如設置 root 設備). 因為通過 `literal' 選項, 可以無意中刪除掉其它關鍵選項, 所以它不能用在全局選項部分.
ramdisk=size
指出 RAM 磁碟的大小, 0 表示沒有 RAM 盤需要建立. 忽略了此選項, RAM 盤的大小就使用引導映像中原來配置的值.
read-only
指出 root 檔案系統以只讀方式安裝. 典型地, 系統在啟動過程中 (在 fsck 檢查過程之後) 以讀寫方式安裝 root 檔案系統.
read-write
以讀寫方式安裝 root 檔案系統.
root=root-device
指定作為 root 安裝的設備. 如果使用的是 current , root 就設置為當前以根 檔案系統安裝的設備. 如果用 -r 選項改變了 root 的值, 就使用各個自己的設備. 如果忽略了 'root' 選項, 就使用核心中包含的 root 設備. (該值是在核心的 Makefile 檔案中 由 ROOT_DEV 給出並在編譯核心時 就確定了的, 以後可以用 rdev(8) 程式修改.)
vga=mode
引導時可以選擇的 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
20 March 2000