LILO配置指南(轉)
LILO配置指南(轉)[@more@]1、一般的開機引導過程。 在PC機上,最初的啟動由BIOS完成。當開機自檢結束時(Power-On Self Test,POST), BIOS嘗試讀入軟盤的第一個扇區,把它看作引導扇區。若沒有軟盤,則嘗試讀入硬碟的第一個扇區。新的BIOS可以改變這種次序,先從硬碟啟動。甚至從光碟啟動。由於大多數BIOS不提供SCSI支援,若要從SCSI磁碟啟動,SCSI介面卡要提供他自己的 BIOS.如果什麼都找不到,老的BIOS會啟動內建的ROM BASIC,或直接列印"NO ROM-BASIC". 作業系統的啟動分幾步完成。由於引導扇區比較小,通常它主要任務是讀入第二個loader,第二個loader再讀入第三個loader,直到整個作業系統被完全讀入。DOS 引導區:OFFSET0x000 JMP xx Near jump into the program code0x003 Disk parameters0x03E Program code loading the DOS kernel0x1FE 0xAA55 Magic number for BIOS 可見,引導區的結構相對比較簡單。它的長度總是512位元組。以上,磁碟引數只對DOS有意義。重要的是引導區從0開始,以BIOS的magic number 結束。 從軟盤啟動比較簡單,因為只有一個引導扇區:第一個扇區。硬碟則困難一些,它被分成很多分割槽。但是,BIOS根本不管分割槽資訊,它象對待軟盤一樣對待硬碟,仍讀入第一個分割槽,叫作:master boot record.(MBR). 所以MBR也應該和上面介紹的結構一樣:從0開始,以BIOS的magic number 結束在MBR的最後部分,有分割槽表。如下圖:OFFSET Length0x000 0x1BE code loading and starting the boot sector of the activepartitian0x1BE 0x010 partition10x1CE 0x010 partition20x1DE 0x010 partition30x1EE 0x010 partition40x1FE 0x0012 0xAA55 Disk parameters每個分割槽資訊佔16位元組,結構如下:1 BOOT Boot flag: 0=not active ,0x80 active1 HD Begin:head number2 SEC CYL Begin:sector and cylinder number of boot sector1 SYS System Code:0x83 linux , 0x82 linux swap etc.1 HD End:head number2 SEC CYL End: sector and cylinder number of boot sector4 low byte high byte Relative sector number of start sector4 low byte high byte Number of sectors in the partition 所以硬碟可以有4個分割槽。這四個分割槽叫做主分割槽:primary prititions.假如它們不夠用,可以設定所謂的擴充套件分割槽。擴充套件分割槽包含至少一個邏輯分割槽。擴充套件分割槽的第一個扇區結構類似MBR,它的分割槽表的第一表項對應第一個邏輯分割槽。如果存在第二個邏輯分割槽,那麼分割槽表的第二個表項就包含了一個指標。這個指標指向第一個邏輯分割槽後面的一個地址。這個地址包含一個分割槽表。該分割槽表的第一表項對應第二個邏輯分割槽。這樣就組成一個連結串列,從而擴充套件分割槽可以有任意多的邏輯分割槽。 每一個主分割槽和擴充套件區都包含一個引導扇區。系統只能從這幾個地方之一啟動。 BOOT標誌決定哪個區被引導。 原來,只有主分割槽,因此,MS-DOS的fdisk和大多數同類工具只能啟用主分割槽.. MBR的程式碼要作以下的操作: 1:確定活動分割槽。 2:使用BIOS,將活躍分割槽的啟動扇區讀入。 3:跳到啟動扇區的0位置。 MBR的空間足夠完成這些工作。如上所述,每個分割槽理論上包含一個引導扇區,而且,存在的第二個硬碟也包含和第一個類似的結構。MBR完全可以容納一個複雜的載入程式。即所謂的boot manager,動態的決定活動分割槽。Linux 為我們提供了lilo2、LILO:the linux loader LILO引導扇區包括一個分割槽表的空間,所以,LILO即可以安裝在MBR中,也可以安裝在某個分割槽的引導扇區。LILO擁有DOS引導扇區的所有功能,而且,它還可以引導邏輯扇區和第二硬碟分割槽。LILO還可以和另外的引導者合作(例如:NT loader),這樣,使用者就可以有很多選擇。 (注:以下幾個標題,為防止引起歧義,用原文)2.1 LILO started by MS-DOS MBR如果系統至少有一個linux主分割槽,(非交換區,且在第一硬碟上),那麼LILO就可以安裝這些分割槽中的一個。當 LILO對應分割槽被啟用後,引導過程如下:BIOS 讀入 MBRMBR 讀入 活躍主分割槽:LILO所在的分割槽。LILO 引導Linux或另外的作業系統。要引導其它OS且不用LILO很簡單,啟用那個分割槽。Linux分割槽沒有任何變化,非常安全。2.2 LILO started by a boot manager假如使用者不想刪除老的boot manager,或者某個OS LILO不能引導,可以考慮該途徑。1. 假如boot manager可以引導擴充套件區,那兒是LILO的好去處。2. 假如 boot manager 可以引導第二硬碟分割槽,linux可以裝在第二硬碟上。3. 有些 boot manager 甚至可以引導邏輯分割槽,那LILO就可以裝在邏輯分割槽上。當然,也要注意以下情況:1 某些作業系統直接改寫MBR,這會將原來的boot manager破壞。2 重新分割槽會破壞擴充套件分割槽的引導扇區,這是LILO可能要重灌。當安裝新的系統時,是否要重新安裝(linux)依靠新的boot manager,要麼LILO引導扇區被登出,要麼boot manager 為它提供一個引導項。重新分割槽或分割槽格式化會將 LILO和linux全部刪除。2.3 LILO佔據MBR假如整個linux系統都在第二硬碟上,且第一硬碟沒有擴充套件分割槽,那麼,LILO只有裝在MBR上。這樣,會將老的MBR衝去,所以,在安裝LILO前,要將老的MBR(包括分割槽表)做一個備份。DOS下有很多工具可以完成這個任務。在linux下,這樣備份: # dd if=/dev/had of=/backup/MBR bs=512 count=1寫會使用命令: # dd if=/backup/MBR of=/dev/had bs=446 count=1這樣,原來的MBR就被寫會但不包括分割槽表。如果分割槽表也要恢復,那麼bs=512. 注意,這樣,新的分割槽表會被破壞!2.4 LILO 檔案 與LILO有關的檔案通常放在/boot/下,配置檔案lilo.conf在/etc/下。包含實際引導系統資訊的對映檔案有/sbin/lilo安裝。對於任何LILO安裝,配置檔案應該被定置以適合個人需要。The configuration file:配置檔案 基本上,配置檔案是一些變數賦值。每一行包含一個標誌變數或一個變數賦值. 配置檔案被特殊的變數賦值分成幾個區,每個區引導一個linux或其它OS. 下面解釋常見的行:boot = device 說明那一個裝置或哪一個分割槽包含引導扇區。假如沒有給boot賦值,取當前預設值。Compact 啟用一種模式,在此模式下,LILO一次向BIOS請求讀入相鄰的幾個分割槽。這極大的縮短了裝載時間,特別是從軟盤啟動。Delay=tenths 以10秒為單位,規定LILO在引導第一個引導配置前應等待使用者的時間。若沒有定義,則直接引導。Linear 使LILO生成線性地址,而不使用通常的Sector/Head/Cylinder機制。Linux地址機制可以不依賴磁碟的物理結構。Install = boot sector 使用指定的boot sector寫入引導扇區,預設用/boot/boot.bdisktab=disktab 使用指定的disktab,預設使用/boot/disktab.disktab儲存了硬碟物理結構資訊。Map=map file 說明對映檔案的路徑。Message=file 指定一個檔案,該檔案的內容將會在LILO引導是被顯示。假如沒有說明該檔案,那麼就只會出現"LILO"。Verbose=level 說明LILO的除錯級別。從0(不顯示任何資訊)到5(所有的狀態資訊)。Backup = backup file 以前引導扇區內容的備份檔案。預設使用/boot/boot.device numberforce-backup=backup file 和backup 相同,當時假如備份檔案存在,被覆蓋。Prompt 指定要使用者透過鍵盤選擇要引導的核心。不會預設選擇。Timeout=tenths 設定一個超時值,在此時間內必須有鍵盤輸入,否則用第一個配置。類似,假如超時,就不能再輸入密碼。一般情況下,該取預設值,無窮大。 注: delay 與 timeout的區別(joe 認為),delay 是"LILO"出現後使用者必須有輸入的最長時間。Timeout 是使用者在按了任意鍵後,系統等待選擇,使用者兩次擊鍵的最大間隔時間。Serial=port, bps parity bits 設定串列埠引數。如果LILO會從該檔案獲取串列埠引數的話。如果其中之一無效,那所有三個引數都無效。Port從四個標準串列埠選擇一個:0對應COM1 或者 /dev/ttyS0.。支援的波特率範圍為:100-9600。所有校驗設定都支援 (n:none,e:even,o:odd) bits為7或者8。預設為serial=0,2400n8.Ignore-table 讓LILO忽略被破壞的分割槽表。Fix-table 允許LILO將每個分割槽的(sector/head/cylinder)地址轉化為線性地址。通常,分割槽地址從cylinder boudary開始。某些作業系統,會改變這一點。由於LILO只能將它的啟動扇區寫於兩種地址都一致的分割槽上,不正確的3D地址可以用fix- table 來糾正。但是,這種糾正不能被保證是永遠的,所以重分割槽以保證對齊cylinder boudary 是最好的選擇。Password=password 為引導配置設定passwordrestricted 放鬆對password的限制。只有使用者想傳附加的啟動引數給核心時才需要passwordoptional 允許配置的幾個核心有錯誤的,或者不存在,如果不說明optional,LILO遇到這種情況就會列印一些錯誤資訊然後退出。 每個從LILO引導的配置從image行開始。 Image = kernel Label = name Image包含要引導的核心。Label是給使用者選擇用的。Image行通常指向一個裝置,例如/dev/fd0,可以找到核心的範圍用range來註明。 Range = range range可以用start sector -end sector 或者 start sector + length 表示。例如: image = /dev/fd0 label = floppy range = 1+512以下變數賦值有可能出現:append=string 將string作為引導引數傳給核心。例如,硬體引數。Literal=string和append查不多。但是,他會沖掉原來的設定。所以不能被全域性說明。Ramdisk=size 設定RAM disk的大小。Read-onlyread-write設定根檔案系統的訪問方式。Root=device設定根檔案系統存在的裝置。Vga=mode 螢幕設定。可能模式為:normal,extended 和ask. 。以下設定是針對別的作業系統的:loader=loader 說名用來引導作業系統的檔案。預設為 /boot/chain.b . 另外,LILO包含以下的loader:os2_d.b 可以從第二硬碟上引導os/2any_d.b 在引導作業系統之前試圖將兩個硬碟的次序顛倒,從而可以引導第二硬碟上的os.Table=device 說明一個裝置,該裝置的某個分割槽上存放要引導的os.假如沒有說明table, LILO就不會將該資訊傳給要引導的osunsafe 關掉對要引導的os的檢查。只有要從軟盤引導時,才使用該設定。沒有該設定,每次map installer開始執行時,引導盤都要插入軟碟機。The disktab filedisktab檔案包含LILO要引導的裝置的物理結構資訊。通常,這些資訊可以從裝置驅動程式獲取。所以,只有這種方法不行時才會用到disktab 檔案。在此情況下,如果檔案不能用,LILO報告錯誤資訊: geo_query_dev HDIO_GETGEO(dev …)或者 HDIO_REQ not supported for your SISI controller Please use /boot/disktab然後,物理結構資訊就必須手工地輸入:# /boot/distab-LILO parameter table##This table contains the geometry parameters for SCSI and# IDE disks,which can not be recognized automatically# Entries in this table overwrite recognized parameters!## Dev. BIOS Secs/ Heads/ Cylin - Par.# num. Code track cyLin. Ders. Offset(optional)#0x800 0x80 32 64 202 0 # /dev/sda各個域含義如下:0x800裝置號.由主副裝置號組成。裝置號.由主副裝置號組成。0x80裝置的BIOS 碼。0x80程式碼系統的第一個硬碟。0x81第二個,。。。。所有同一硬碟上的分割槽該值相同。32,64,203sector 數目(每個track)heads 數目cylinders 數目0分割槽的開始。也可以從分割槽表中讀,所以可以不說明。2.5 LILO 啟動資訊在啟動過程中,LILO會顯示'LILO',如果LILO出錯退出,可以根據顯示來判斷系統的出錯原因。沒有資訊:LILO根本就沒有被讀入,沒安裝LILO,或LILO駐留的分割槽沒被啟用。 Lnumber : LILO的第一部分被讀入並開始執行。但第二部分不能被讀入。後面的數字表明出錯原因。這可能是由於硬碟的物理錯誤或不正確的物理結構資訊。 LI: LILO的第一部分可以讀入第二部分,第二部分執行時出錯。這可能是不正確的物理結構資訊或重灌了boot.b而沒有執行LILO重新安裝。 LIL:LILO的第二部分啟動起來了,但是不能從map檔案讀入descriptor tables. 這說明不正確的物理結構資訊或物理錯誤。 LIL?: LILO的第二部分被讀到不正確的地址。原因同LI LIL-: descriptor tables有錯。這可能是不正確的物理結構資訊或重灌了 map file而沒有執行LILO重新安裝
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-945139/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- LILO配置指南(整理版) (轉)
- LILO使用指南(下)(轉)
- LILO使用指南(中)(轉)
- LILO使用指南(上)(轉)
- 紅旗Linux中LILO的配置(轉)Linux
- Lilo使用技術(轉)
- 深入理解LILO(轉)
- KDE配置指南(轉)
- GNOME的配置指南(轉)
- Zend Optimizer 配置指南 (轉)
- LILO的全域性引數(轉)
- lilo--實踐篇(FAQ) (轉)
- 關於LiLo--原理篇(轉)
- LILO啟動問題詳解 (轉)
- apache+tomcat配置指南(轉)ApacheTomcat
- J2EE配置指南 (轉)
- Slackware LILO 安裝幫助文件(轉)
- LINUX LILO若干問題探討 (轉)Linux
- RedHat系統ADSL配置指南(轉)Redhat
- J2EE配置指南(一) (轉)
- J2EE配置指南(二) (轉)
- Ubuntu:ATI顯示卡安裝配置指南(轉)Ubuntu
- Linux下安裝mantis配置指南【轉】Linux
- LINUX-LILO可以裝在軟盤上(轉)Linux
- CISCO訪問表配置指南--第1章 (轉)
- LILO, Linux Crash Rescue HOW-TO 中譯版(1)(轉)Linux
- LILO, Linux Crash Rescue HOW-TO 中譯版(2)(轉)Linux
- 重灌Windows後LILO被覆蓋的解決辦法(轉)Windows
- Linux知識--lilo.conf中文手冊(轉)Linux
- 向Linux進軍(X-Window配置指南) (轉)Linux
- GRUB和LILO的區別,這文章就是最好的回答。(轉)
- linux忘記了密碼怎麼辦(lilo/grub)(轉)Linux密碼
- 在debian下用lilo實現開機畫面(轉)
- zabbix中文配置指南
- Linux命令Man解釋:lilo :安裝引導裝載程式(轉)Linux
- Linux引導載入程式之爭:瞭解 LILO 和 GRUB(轉)Linux
- Modbus轉Profinet協議轉換閘道器:快速配置實踐指南協議
- CiscoPIX防火牆配置指南防火牆