LILO使用指南(上)(轉)

post0發表於2007-08-11
LILO使用指南(上)(轉)[@more@]

計算機的最初啟動是由BIOS控制的,在對一些硬體(如:記憶體、鍵盤等)初始化之後,它會試圖載入硬碟的主開機記錄(MBR)或軟盤的引導扇區。MBR可透過兩種方式執行,其一是定位到活動分割槽並載入相應的引導扇區,然後由引導扇區完成該分割槽內作業系統的基本元件的載入;其二是直接從一指定分割槽中載入資訊,並透過它裝入任一分割槽的作業系統,諸如 LILO、gurb,OS/2 boot loader及PartitionMagic等引導載入程式都可以配置成這種方式。軟盤的引導扇區相當於硬碟活動分割槽的引導扇區,它通常用於裝入軟盤上的作業系統。

只要把LILO之類的多重引導器安裝在MBR、活動分割槽或者引導軟盤上,就能接管計算機的控制權,然後由多重引導器完成後繼的引導過程。

LILO中建有一個引導表地址編碼,藉此它的載入程式就能定位到Linux的核心檔案,這種地址編碼既可以按照柱面/磁頭/扇區(CHS)模式,又可以採用LBA的線性塊號模式,因此,即使對某些SCSI控制程式LILO也能運轉良好。

一,MBR還是Linux 的根分割槽

首先遇到LILO,估計應該在你安裝Linux 的時候,你會被要求選擇LILO的安裝處,是MBR 還是Linux 的根分割槽。如果你有其他的啟動管理程式例如Boot Magic 或者 System Commander 等,並且想使用他們,那麼你應該把LILO 安裝到Linux 的根分割槽。如果你選擇使用LILO 作為啟動管理程式,就可以選擇MBR。如果你想在啟動時傳遞引數給核心,也應該使用MBR。

使用LILO 作為啟動程式後,機器啟動後就會有LILO:的提示符,按下TAB 鍵,可以看到可以選擇的作業系統列表。輸入其中的作業系統標籤名就可以啟動到對應的作業系統,或者直接輸入回車啟動到預設的作業系統。在 LILO.CONF中提及的映象可多達16個.

二,lilo.conf用法詳解

我們來看一個LILO 啟動的配置檔案(/etc/lilo.conf)例項:

boot=/dev/hda3

map=/boot/map

install=/boot/boot.b

prompt

timeout=50

message=/boot/message

default=new

image=/boot/vmlinuz-2.4.3

label=new

read-only

root=/dev/hda3

image=/boot/vmlinuz-2.2.19

label=linux

read-only

root=/dev/hda3

other=/dev/hda2

label=dos

本配置檔案指定 LILO使用在/dev/hda路徑上的主開機記錄。啟動時,引導裝入程式會等待 5 秒的時間

讓你按SHIFT鍵。如果未按,則上述提及的第一核心映象(vmlinuz-2.4.3),將被啟動。如果按下了SHIFT鍵則引導裝入程式就會問你要啟動哪一個映象。 萬一你忘了該選擇啟動哪個映象,按[TAB]就會有個選單給你選擇。你在這時可以選定或者啟動這個全新的核心,或者啟動一個原來可靠的核心(vmlinuz-2.2.19),或者啟動一個不同的作業系統。

由上可見,一個配置檔案以一系列的全域性選項開始),隨之是不同映象選項的描述。在映象描述中的選項

將會覆蓋全域性選項所設定的內容。

全域性選項部分

boot=boot-device

設定包含引導扇區的裝置的名稱(如一個硬碟的分割槽)。如果未指定該關鍵字引導扇區將從當前作為根檔案系統安裝的裝置中讀取(或者可能也會寫入)。

compact

試圖將相鄰扇區的多次讀取請求合併成一次讀取請求。這樣就大幅度地減少了讀取時間,並使系統描述(MAP)更小。在從軟碟機進行讀取時尤其要使用 'compact' 選項。

default=name

使用特別指定的映象作為預設的啟動映象。如果未設定 'defaul' 選項,則將使用在該配置檔案中最早出現的那個映象作為啟動映象。

disc=device-name

定義特定硬碟的非標準引數。其對於定義 'BIOS=' 引數尤其有用。若你的硬碟的 BIOS 資料是 0x80 ,0x81(十六進位制)等等,將無法判斷哪一塊 Linux 磁碟與哪一塊 BIOS 磁碟相對應(因為這決定於 BIOS 的設定

和 BIOS 的型別)。因此若你採用的是非一般的安裝,那你就需要說明 LINUX 磁碟和 BIOS 磁碟間的對應關

系。比如:

map=map-file

定位磁碟描述(MAP)檔案。若未指定 'map' 選項,就會使用 /boot/map 檔案。

message=message-file

指定一個含有在執行啟動提示符前顯示的資訊的檔案。在顯示出 'LILO' 後等待按鍵的時間裡不會有資訊

顯示。在資訊中,用FF字元([Ctrl + L])清空本地顯示器。資訊檔案的大小限制在65535位元組以內。如果資訊檔案被改動或取消則必須重建磁碟描述(Map)檔案。

prompt

不等待任何的按鍵事件發生就直接進入啟動提示符模式。如設定了 'promp'選項而沒設定 'timeout' 選項,則不能自行啟動。

timeout=tsecs

為鍵盤輸入設定一個超時選項(以10分之一秒為單位)。若在指定的時間內沒有按鍵則第一個映象就會被自動啟動。同樣,如過使用者停頓過長則密碼輸入就會被取消。預設的超時值是無限。

另外,核心配置引數 append,ramdisk,read-only,read-write,root以及vga都可在全域性選項中被設定。如果在相應的核心映象的配置欄中沒對其加以指定,該設定值其就會被用做預設的預設值。

單一映象部分

一個單一映象或者以一行

image=pathname

開始(以提示含有一個LINUX核心的啟動映象的檔案或裝置),或以一行

other=pathname

開始以提示啟動其他獨立的系統。

label=name

引導裝入程式使用每個映像說明的主檔名(不包含路徑)來標識該映像。透過設定變數'label'可使用不同的名稱。

alias=name

透過指定一個別名可對同一個目錄使用第二名稱。

password=password

用密碼保護映像。

restricted

若是在命令列被指定各引數則只在啟動映像使需要輸入密碼。

核心選項部分

如果被啟動的映像是一個LINUX核心,則可以將命令列引數傳送到該核心。

append=string

將指定的各選項增加到傳送於核心的引數行。其典型的運用於指定不能完全自檢或徹查對其有危害的硬碟

的引數。比如:

append="hd=64,32,202"

ramdisk=size

該選項指定了任選RAM磁碟的大小。0 表示不應創立任何RAM磁碟。若不指定該引數,則使用在根檔案系統中建立的RAM磁碟大小。

read-only

採用read-only 選項時,系統會把根分割槽掛接為只讀方式,推薦採用這個選項,因為 fsck 程式要求檔案系統只讀。但不用擔心你的根分割槽會不能寫入了,相反,系統一旦啟動就會把根分割槽掛接為讀寫方式。

read-write

其指定根檔案系統應以可讀寫方式裝載。

root=root-device

該引數指定應作為根檔案系統裝載的裝置。如果目前使用的是指定的名稱,則根驅動器就設在根檔案系統目前所在的裝置上。如果根裝置被 -r 引數所修改,則使用相應的裝置。若未指定 'root' 引數,則使用包含核心映象的根裝置設定(該設定是編譯核心時在核心的 Makefile 檔案中用 ROOT_DEV 變數設定的,並稍後可用 rdev(8)程式修改)

vga=mode

其指定在啟動時應選擇的 VGA 文字模式。 下列數值可被識別 (忽略大小寫):

normal:選擇普通 80x25 文字模式。

extent(或ext):選擇 80x50 文字模式。

ask:停止並要求使用者的輸入(在啟動時)

:使用相應的文字模式。在啟動時用vga=ask選項或按[Enter]都可獲得一個可用模式的列表。

若未指定該引數,則使用在核心映像中獲得的 VGA 文字環境。(該設定是編譯核心時在核心的 makefile檔案中用 SVGA_MODE 變數設定的)

LILO 也可以讓你手工在LILO 提示符下傳遞這些引數。例如:

LILO: linux single

就是告訴Linux 啟動Linux 進入單使用者模式。在引導區損壞時,可以從軟盤啟動,然後指定硬碟的根來修復硬碟引導扇區。

LILO: linux root=/dev/hda3

LILO 引導其他型別的作業系統和引導Linux 一樣配置,但是更加簡單:

other = /dev/hda3

label = dos

table = /dev/hda

other 指明作業系統所在的分割槽,同樣的和Linux 下的image 一樣也需要給定一個標籤(label),table 選項指向包含分割槽表的裝置,這個選項必不可少,因為LILO 會從這個這個分割槽表尋找對應的分割槽資訊,然後把他傳遞給要啟動的作業系統。

對lilo.conf 的任何改變都要求重新執行 /sbin/lilo ,保證最新的改變能寫入分割槽。

另外,如果你升級核心或者重構了 initrd 映像,也需要重新執行 /sbin/lilo。

執行/sbin/lilo 後,可以看到如下資訊:

Added linux *

Added dos

表示各種映像已經寫入分割槽,帶有 * 的分割槽是目前的預設引導分割槽。

可以用 -D 引數改變預設引導分割槽:

/sbin/lilo -D dos

Added linux

Added windows *

可以看到預設分割槽已經成為 windows了。

install=boot-file

將指定的檔案作為新的引導扇區來安裝。若未設定 'install' 選項,則將boot/boot.b作為預設預設值使用。

linear

產生線性扇區地址而非“扇區/磁頭/柱面”地址。線性地址不依賴於磁碟的分割槽結構,且在執行時被翻譯。注意如果使了'linear'選項則可能使啟動盤不能被移植,這是因為BIOS中用於決定磁碟分割槽結構的服務對軟盤的作用不穩定。在對大硬碟使用'linear'選項時,由於3D扇區地址在啟動前是未知的,故 /sbin/lilo 可能會產生對不可訪問的磁碟區域的一個參考。

lock

允許自動記錄引導命令列,作為以後啟動的預設預設值。這樣,在手工取消之前lilo會鎖定一個選項。

loader=chain-loader

該引數指定了將使用的連鎖裝入程式。使用預設預設/boot/chain.b。如果是從其他裝置而非第一硬碟或軟盤啟動則必須指定連鎖裝入程式

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-945147/,如需轉載,請註明出處,否則將追究法律責任。

相關文章