簡介 可以用LILO引導幾個不同的作業系統,如
Linux 和MS-DOS。用LILO可以定義一個默認的要引導的作業系統和一個引導該作業系統的延遲時間。
例如,如果在計算機上有MS-DOS和Linux,可以配置LILO引導二者中的任何一個,然後告訴LILO,如果30秒後沒有鍵盤介入,就引導二者中的MS-DOS;如果在30秒之內,鍵盤的Ctrl、Alt、Shift、Caps Lock中的任一鍵按下,就會出現boot,此時按下Tab鍵,能獲得LILO引導的作業系統的清單。配置LILO時,可以指定所有這些操作。大多數新電腦都為Microsoft Windows或Mac OS的一些版本安裝了引導載入程式。如果計算機使用
Linux作業系統 ,就必須安裝一個特殊的引導載入程式。LILO在那些將
Linux 作為他們主要或唯一的作業系統的用戶間很流行。當以通常的方式安裝LILO的電腦啟動或重新啟動時,
基本輸入輸出系統 (BIOS)就會進行一些初步的測試,然後轉移控制LILO所在的
主啟動記錄 (MBR)。LILO的主要優點是,它可以
快速啟動 安裝在主啟動記錄中的Linux作業系統。LILO的主要局限是,LILO 配置檔案被反覆更改時,主啟動記錄(MBR)也需要反覆重寫,但重寫可能發生錯誤,這將導致系統無法引導。在這種情況下,可以用其他的方法來使用LILO,但這需要花費較長的時間。有幾種引導載入(boot loader)程式可以用來啟動Linux系統,如LOADLIN(LOAD LINux)和
GRUB (GRand Unified Bootloader)。
對於新的UEFI來說,主啟動記錄變為*.EFI程式。也就是說,從IO層面改變了以前的套用方式,將系統的引導啟動交還給了IO,由EFI套用進行啟動。此時,只需要作業系統對EFI進行支援,就可以完成多系統啟動。
開發EFI程式,就可以改變作業系統。在電路層面,作業系統OS可以直接對話。
歷程 Linux 發展到今日,已經成為了一個健壯,安全,強大,並且方便易用的作業系統。 不僅僅對於
網路管理員 來說是,對桌面用戶來說也是。 那么,Linux 的
啟動管理器 lilo 您已經很熟悉了嗎?要知道,Lilo 的功能可是非常強大的,它不僅僅可以作為Linux作業系統的引導器,還可引導多個作業系統(eg: Win2000, Win9x, dos, Minix…),以及啟動多個
Linux核心 映像。
在後面的內容中,我將通過運行在我自己計算機上的真實例子,討論lilo最主要的用法。在開始學習lilo之前,我們還需要一些預備知識--什麼是
硬碟分區 ,
Linux 對硬碟分區的命名方法。
硬碟分區的概念? 硬碟分區 是指對硬碟物理介質的邏輯劃分。將硬碟分成多個分區,不僅僅利於對檔案的管理,而且不同的分區可以建立不同的檔案系統。這樣才能在不同的分區上安裝不同的作業系統。對於一個硬碟來說,最多只能創建三個
主分區 ,一個
擴展分區 。在擴展分區上又可以劃分若干
邏輯分區 。對於一個常規的作業系統來說,一般只能安裝在主分區中,並且安裝在主分區中的作業系統遠比安裝在邏輯分區中的方便管理且安全得多。(註:
Linux 就可安裝在邏輯分區中)
硬碟的物理第一扇(0
柱面 ,0磁軌,1扇區)是硬碟主
引導記錄 扇MBR,計算機啟動時,首先就讀取該扇,讀出
硬碟分區表 ,從中選擇三個主分區中唯一一個具有活動標記的分區,引導該分區上的作業系統。也就是說,無論有幾個
主分區 (≤3),其中必須有一個分區是活動的。對硬碟進行分區,可以使用任何硬碟分區軟體,如:Dos 下的
fdisk 、 PQMagic, Linux 下的
cfdisk 等等。Linux的引導記錄可以安裝在MBR中,或者Linux所在主分區中。如果
Linux 安裝在
邏輯分區 中則Linux的
引導記錄 必須安裝在MBR中。
Linux對硬碟分區命名方法 Linux 對硬碟設備的命名方式與Windows系列大不一樣。每一個硬碟擁有自己的設備名。
IDE硬碟 為hd? ,
SCSI硬碟 為sd? 。?表示a到z的小寫字母,不同的字母代表不同的硬碟設備,這個字母為主設備號。而硬碟上的分區用hd??或sd??中的第二個?表示,它由數字組成,1-4表示
主分區 ,從5開始表示
邏輯分區 。
既是說,hda1表示第一個IDE硬碟的第一個主分區,sdb7表示第二個SCSI硬碟的第三個邏輯分區。而直接使用硬碟設備的主設備名,則表示該硬碟的MBR。如hda表示第一個IDE硬碟的MBR。
終於可以進入lilo的學習了,對於我們普通用戶來說,lilo的使用主要在於lilo.conf的配置。Lilo.conf是lilo的配置檔案,它位於/etc之下。
命令說明 [root @test linux ]# vi /etc/lilo.conf # 第一部份,整體的設定部分
prompt <==強制出現 boot 的開機訊息囉!
Compact <==可以整合一些讀取的扇區,可以保持 map 較小,相當適合軟碟開機時使用
delay=50 <==如果有多重開機的話,可以設定這個延遲時間,單位0.1秒
timeout=50 <==與 delay 有類似的關係也是 0.1 秒如果 5 秒內沒有按鍵盤直接以第一個 image 開機。
default=
linux -2.4.18 <==如果開機的過程中,出現了boot之後,使用者沒有動作,
則以此設定的核心開機,與底下的label需對應
boot=/dev/hda <==Lilo 的開機信息寫入到 /dev/hda 這顆硬碟的 MBR 當中。
map=/boot/map <==用來說明 local 主機的地圖信息囉!
install=/boot/boot.b <==關於開機區的訊息(boot sector),不用理他沒關係!
Linear <==在較大容量的硬碟使用時,可以加入這一個參數試試看!
lba32 <==這個東西也是在大容量的硬碟使用時候會需要的參數!
pass
word =1234567 <==設定密碼!如果為了安全起見,可以設定您的 lilo 密碼哩!
message=/boot/message <==那個 LILO 的訊息就是在裡面出現的啦!
# 第二部分,個別的開機設定部分,一個 image 或 other 均代表一個開機設定!
image=/boot/vmlinuz-2.4.7-10 <==核心檔案啦!
label=
linux -2.4.7 <==請注意!label 前面以 [tab] 按鍵來作為分隔!
這個字眼則是顯示在 boot 裡頭挑選項目。
initrd=/boot/initrd-2.4.7-10.img
read-only <==開機扇區掛載為唯讀!這是預設狀況,實際在
掛載入 Linux 系統時,會重新掛載成可寫!
root=/dev/hda1 <==掛載成 / 這個 root 目錄的磁碟!
other=/dev/hdb1 <==如果是『非 Linux 核心』就以 other 來設定
開機的磁碟扇區!
label=
Windows 2k <==同樣的要有 label 來表示這個開機扇區的名稱!
查看設定 [root @test root]# lilo -v LILO version 22.3.2, Copyright (C) 1992-1998 Werner Almesberger
Development beyond version 21 Copyright (C) 1999-2002 John Coffman
Released 11-Jul-2002 and compiled at 21:48:42 on Aug 13 2002.
Reading boot sector from /dev/hda1
Using MENU secondary loader
Calling map_insert_data
Mapping message file /boot/message -> message-text
Calling map_insert_file
Boot image: /boot/vmlinuz -> vmlinuz-2.4.19-16mdk
Mapping RAM disk /boot/initrd.img -> initrd-2.4.19-16mdk.img
Boot image: /boot/vmlinuz -> vmlinuz-2.4.19-16mdk
Mapping RAM disk /boot/initrd.img -> initrd-2.4.19-16mdk.img
Added failsafe
Boot image: /boot/vmlinuz -> vmlinuz-2.4.19-16mdk
Mapping RAM disk /boot/initrd.img -> initrd-2.4.19-16mdk.img
/boot/boot.0301 exists - no backup copy made.
Writing boot sector
故障處理 安裝好了 Linux 之後,在開機的過程中卻只出現『 LI 』就停止了!該如何是好?
這個問題可能發生的原因是 Lilo 沒有設定好,或者是由於 Linux 安裝在非 /dev/hda ( MBR )的硬碟之中,解決的方法可以如下:
用 Linux 光碟開機,然後在出現 boot: 處輸入
linux root=/dev/hda1 (這個與你的 Linux 安裝的 partition 有關)
順利開機之後,以 vi 修改 /etc/lilo.conf
將linear這一行取消(如果沒有這一行的話,那就在 lilo.conf 中加入吧!)然後執行lilo
再取出光碟並重新開機試試看; 進入 BIOS ,將硬碟的 mode 改成 LBA 試看看;
將
Linux 往前面一點的
扇區 安裝,例如你可能安裝在 /etc/hdc1 ,那你可以重新安裝 Linux 在 /dev/hda2 試看看
無法正常的進入 Lilo 怎么辦?
這的時候開機片就很重要啦!使用開機片,在出現 boot: 的時候,輸入
就可以進入啦!這裡請特別留意!那個linux指的是 label 呢!就像剛剛我們有三個 label ,分別是 linux, linux-test 與 failsafe ,那么如果我要以 linux-test 這個開機設定檔案的單人維護模式登入,就必需要改寫成
linux-test –s
linux-test single