歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網

配置LILO

日期:2017/2/27 9:28:22   编辑:更多Linux
  LILO(Linux Loader)是Linux自帶的一個優秀的引導管理器,使用它可以很方便地引導一台機器上的多個操作系統。與其他常用的引導加載程序相比,LILO引導方式顯得更具有藝術性,對其深入的理解,將有助於我們方便地處理多操作系統、網絡引導、大硬盤及大內存等諸多棘手的問題。       通常我們談到LILO,會涉及到兩個方面——LILO引導程序和LILO安裝命令/sbin/lilo。為了不至於混淆這兩個概念,本文將用LILO表示LILO引導程序,而lilo表示/sbin/lilo。       一般地,LILO使用一個文本文件/etc/lilo.conf作為其配置文件。lilo讀取lilo.conf,按照其中的參數將特定的LILO寫入系統引導區。任何時候,修改了/etc/lilo.conf,都必須重新運行lilo命令,以保證LILO正常運行。lilo.conf使用的配置參數很多,配置起來也相當復雜。下面以RedHat Linux為例作一些初步探討,RedHat的lilo程序包版本為0.20,別的Linux發行版本可能會有所出入,但不會太大。       lilo.conf文件中的配置參數分為兩部分,一部分是全局參數,另一部分是引導映像參數。與Linux系統其他的配置文件一樣,“#”號後的一行文字表示注釋。       一、LILO的全局參數       全局參數是全程有效的,它可以出現在文件lilo.conf中的任何地方。以下是具體的參數項:       1.backup=backup-file       在裝入LILO之前將原先的引導區備份到backup-file,而不是RedHat 缺省的/boot/boot.NNNN。也可以備份到一個設備上,如: /dev/null。注意:如果原先已有一個同名文件,該參數將被忽略。我們可通過這個備份恢復原先的引導扇區:       dd if=/boot/boot.NNNN of=/dev/hda bs=446 count=1       恢復原先的MBR。(注:雖然boot.NNNN有512字節,但只能恢復前446字節到MBR。)       2.boot=boot-device       指定一個用於安裝LILO的設備。通常LILO可安裝在如下幾個地方:       MBR:第一個硬盤的主引導區, 對應於/dev/hda、/dev/sda等。       Root:Linux根分區的超級塊(Super block), 對應於/dev/hda1、/dev/hda2、/dev/hda5、/dev/sda1、/dev/sda5等。       Floppy:LILO安裝在軟盤上,對應於/dev/fd0。       不指定時,lilo缺省安裝在根分區超級塊上。       3.compact       該參數用於優化LILO,產生一個更小的“map”文件。如果在軟盤上安裝LILO,強烈推薦使用此參數。       4.default=name       指定缺省引導的操作系統。如default=dos 表示將label為DOS的系統作為缺省引導的操作系統。如不指定該參數,排在lilo.conf中的第一個操作系統將作為缺省操作系統。       5.delay=tsecs       在沒有指定“prompt” 參數時,LILO將立即引導缺省的操作系統,“delay”參數在這之間插入一段延時,單位是1/10秒。       6.disk=device-name       為某些非標准硬盤定義參數。其內部還包括有幾個可選的子參數。       bios=〈bios_device_code〉:  設備號。十六進制數0x80表示第一硬盤;0x81表示第二硬盤,依此類推。       sectors=〈sectors〉:硬盤扇區數。       heads=〈heads〉:硬盤磁頭數。       cylinders=〈cylinders〉:硬盤柱面數。受系統BIOS限制,柱面數必須在1024以內。       partition=〈partition_device〉:用於物理定位特殊硬盤上的分區,有一個子參數start。       start=〈partition_offset〉:每一分區的起始扇區。       例如:       disk = /dev/sda       bios=0x80       #指定SCSI硬盤為第一硬盤        sectors = 32        heads = 64        cylinders=632       #硬盤參數為632/64/32       partition=/dev/sda1       start=2048       #第一分區起始扇區為2048       partition = /dev/sda2       start=204800       #第二分區起始扇區為204800        partition = /dev/sda3         start = 500000        partition = /dev/sda4         start = 900000       當機器上有兩塊硬盤,一塊為SCSI硬盤,另一塊為IDE硬盤時,LILO很有可能無法自動識別它們的主、從順序,這時可進行如下設置:       disk = /dev/sda        bios = 0x80       disk = /dev/hda        bios = 0x81       #SCSI硬盤為主硬盤,IDE硬盤為從硬盤       該參數是為Linux無法識別的硬盤准備的,一般Linux可以正確識別和使用大多數硬盤,除非最壞的情況,否則不用設置它。       7.force-backup=backup-file       類似“backup”參數,但是將覆蓋原有的同名文件。       8.ignore-table       通知lilo忽略無效的硬盤分區表。       9.install=boot-sector       LILO實際上包含有幾個部分,而這幾部分都存放在/boot/boot.b文件中。如果忽略“install”參數,則lilo認為install=/boot/boot.b。       10.linear       產生用於替換硬盤sector/head/cylinder地址(硬盤幾何參數)的linear扇區地址。linear地址在運行時產生並且不依賴於硬盤幾何參數。某些SCSI硬盤和一些以LBA方式使用的IDE硬盤可能會需要使用這個參數。注意,在將LILO安裝到軟盤上時不能使用“linear”參數。       11.lock       出現LILO提示後立即按最近一次的引導映像啟動計算機。也就是說,當我們在lilo.conf中加入了該參數,然後運行lilo安裝LILO,再重新啟動計算機,這時LILO會提示我們選擇引導哪一種操作系統,這一選擇將被LILO記錄下來,即“鎖定”,下次啟動計算機時,LILO將忽略“delay”、“prompt”等參數及鍵盤輸入而直接跳轉到其“鎖定”的操作系統。       12.map=map-file       指定map文件。 沒有本項時缺省使用/boot/map,每次執行lilo命令都會產生一個新的map文件。       13.message=message-file       該命令用於指定一個包含注釋信息的文件,該文件將在系統打印出字符串“LILO”之前顯示。如果在LILO啟動時想獲取較多的信息,可以編輯一個文件,再使用該命令就可以了。文件中如果包含有ASCII碼為0xFF的字符(Ctrl+L)則表示清屏。注意,文件的大小不能超過65535個字節。每次文件改變之後,都必須重新運行lilo命令重建map文件,以保證其正常顯示。       14.optional       當用於啟動的引導映像不存在時,該參數使lilo忽略它。這對用於測試一個不長期存在的Linux核心是有用的。       15.passWord=password       為LILO設置口令保護,每次重新啟動計算機提示用戶輸入口令。設置了口令後,建議將lilo.conf的文件屬性改為600,以免讓非root用戶看到口令。       16.prompt       給出“boot:”提示,強制LILO等待用戶的鍵盤輸入,按下回車鍵則立即引導默認的操作系統,而按下Tab鍵則打印可供選擇的操作系統。當“prompt”被設置而“timeout”沒有被設置時,系統會一直處於等待狀態而不引導任何操作系統。不設置該參數時,LILO不給出“boot:”提示而直接引導默認操作系統,除非用戶按下了Shift、Ctrl、Alt三鍵中的任何一個。大多數情況下,如果你的硬盤上有多個操作系統,建議使用參數,它留給用戶一個選擇的余地。       17.restricted       與“password”聯用,使“password”僅作用於在LILO提示後有命令行輸入的時候。       18.serial=parameters       使用串行口控制。這將初始化指定的串口,並將使引導管理器能接受來自串口的輸入。從串口發送一個中斷信號相當於從控制台鍵盤上按下Shift鍵,它同樣會被LILO捕捉到。如果不能保證來自串口的訪問和控制台一樣安全,比方說有一個modem連在串口上,建議為每個引導映像加上口令保護(password)。參數串有如下語法:       〈port〉[,〈bps〉[〈parity〉[〈bits〉]]]       〈port〉:數字表示的串口號,0表示COM1,其余類推。所有四個串口都可被使用。       〈bps〉:串口速率,支持110、 150、300、600、1200、2400、4800和 9600 bps,缺省值為2400bps。       〈parity〉:設置串口校驗。一般情況下,LILO忽略奇偶校驗。n表示無校驗,e 表示偶校驗,o 表示奇校驗。       〈bits〉:字符位數,只能取7或8,缺省值是8。當有奇偶校驗時只能取7。       如果設置了“serial”,即使沒有設置“delay”,系統也會將“delay”項的值自動增加20。       19.timeout=tsecs       設置等待鍵盤輸入的時長,單位是0.1秒。超過這段時間沒有輸入則為超時,系統將自動引導缺省的操作系統。如果不設置本參數,缺省的超時時間長度為無窮大。       二、引導映像參數       引導映像參數作用於每一個引導映像區。如果某一引導映像參數(例如:password)與全局參數的定義相




Copyright © Linux教程網 All Rights Reserved