描述
預設情況下,本檔案
( /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,
root 和 vga
也在全域性選項部分設定.
如果沒有在各核心映像部分
修改它們,
預設是使用了的.
各映像選項
各個映像部分從任意一行開始.
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
核心,
可以傳遞命令列引數到核心.
- 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>
中文 man
手冊頁翻譯計劃
http://cmpp.linuxforum.net
跋
本頁面中文版由中文
man 手冊頁計劃提供。
中文 man
手冊頁計劃:https://github.com/man-pages-zh/manpages-zh