複製鏈接
請複製以下鏈接發送給好友

LILO

鎖定
LILO(LInux Loader),即Linux引導程序。LILO是一個在系統啓動時運行的程序,它用於選擇引導計算機啓動的操作系統。
中文名
Linux引導程序
外文名
LILO
全    名
Linux Loader
類    型
計算機程序

LILO簡介

可以用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可以直接對話。

LILO歷程

2019年的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硬盤為hdX, SCSI硬盤為sdX。X表示a到z的小寫字母,不同的字母代表不同的硬盤設備,這個字母為主設備號。而硬盤上的分區用hd??或sd??中的第二個?表示,它由數字組成,1-4表示主分區,從5開始表示邏輯分區
既是説,hda1表示第一個IDE硬盤的第一個主分區,sdb7表示第二個SCSI硬盤的第三個邏輯分區。而直接使用硬盤設備的主設備名,則表示該硬盤的MBR。如hda表示第一個IDE硬盤的MBR。
終於可以進入lilo的學習了,對於我們普通用户來説,lilo的使用主要在於lilo.conf的配置。Lilo.conf是lilo的配置文件,它位於/etc之下。

LILO命令説明

LILO LILO [1]
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<==這個東西也是在大容量的硬盤使用時候會需要的參數!
password=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=Windows2k<==同樣的要有 label 來表示這個開機扇區的名稱!

LILO查看設置

LILO LILO [2]
[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
Addedlinux*
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
Addedlinux-test
/boot/boot.0301 exists - no backup copy made.
Writing boot sector

LILO故障處理

安裝好了 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
參考資料