Main Page | 最近更改 | 編輯本頁 | 頁面歷史

可列印版 | 免責聲明 | 隱私政策

未登入
登入 | 幫助
 

lilo

出自DebianWiki

LILO (Linux Loader) 是 Debian GNU/Linux Woody 所內定的多重開機程式。 LILO 幾乎可以在任何狀況之下載入任何作業系統,是目前最佳的多重開機程式之一。

但是每次重新建立 Kernel 之後 LILO 也必須重新建立,這是稍微美中不足的地方, 這個缺點在後起之秀 Grub 中已經完全解決了。

不過既然這個老掉牙開機管理程式還存在大多數的 Linux 之中, 那我們還是有必要對它多多了解一點。




LILO 的設定檔位於 /etc/lilo.conf。以下為其開機選項:

# /etc/lilo.conf

# 支援可以由 1024 磁柱以後開機。
lba32

# 指定安裝 LILO 時所寫入的裝置。在這裡是寫入 MBR。
boot=/dev/hda

# 指定安裝 LILO 時所寫入的裝置。在這裡是將 LILO 安裝在第 一 顆 IDE 硬碟的第 1 個分割區的開始位置。
# boot=/dev/hda1

# 指定 root 目錄 (/) 所在的磁碟分割區。在這裡是第 一 顆 IDE 硬碟的第 1 個分割區。
root=/dev/hda1

# 自動最佳化。能有效減少 map 檔案的大小及 LILO 的載入時間。
# 但未必一定有效,所以 Debian 預設上是不使用這個選項的。
compact

# 指定開機選單樣式
# 可指定包括 bmp、compat、menu 及 text
# install=/boot/boot.b
install=/boot/boot-menu.b

# 指定 map 檔案位置
# map 檔記錄了 Kernel 的檔名、存放位置等資訊。
map=/boot/map

# 在開機時是否顯示 LILO 的開機選單。
# 如果是使用多重開機時還是出現比較好。
# 即使沒有設定,開機時按下 <Ctrl> 一樣會出現開機選單哦!
# prompt

# 設定開機時的延遲時間,單位為 0.1 秒
delay=40

# 指定開機後的文字顯示模式(normal、extended、ask、<mode>)
vga=normal

# 指定開機時的 Kernel 選項
# 在這裡是將 /dev/hdd 模擬成 SCSI 硬碟,及關閉 frame buffer 的功能
# 也可以在此把開機訊息給拿掉。
append="hdd=ide-scsi video=vga16:off quiet"

# 預設的開機項目。在本例中可為:Linux 或 Windows。
default=Linux


# 設定 Linux 的開機項目
image=/vmlinuz              # 指定 Linux Kernel Image 的檔案名稱。
#       root=/dev/hda1      # 也可以在此各別指定 root 目錄 (/) 所在的磁碟分割區。
         initrd=/initrd.img  # 載入 initial ramdisk。
                                # 使用 /sbin/mkinitrd /boot/initrd.img x.y.z 來產生這個檔案。
                                # 其中 x.y.z 是 Kernel 的版本。
         label=Linux         # 在開機選單中所顯示的名稱。
         read-only           # 將 root 的檔案系統 mount 為唯讀的。


# 加入 MS Windows 2000 的開機項目
other=/dev/hda2             # MS Windows / DOS 所安裝的分割區。
#       table = /dev/hda    # MS Windows / DOS 的 MBR 位置。
         label=Windows       # 在開機選單中所顯示的名稱。

  修改完畢後,務必記得要下達 lilo -v -v -v 讓這些設定寫入 MBR 中。這樣 LILO 就能夠支援從各式各樣的 OS 上開機了。

  LILO 可以指定從邏輯分割區、另一顆硬碟、超過 1024 磁柱後的分割區開機,是功能極強大的開機管理程式,推薦使用!因為 LILO 設定太簡單、可以任意從任何磁碟分割區開機,我們在這裡就不用著墨太多了。

  注意:雖然 LILO 功能強大,但是 Microsoft Windows ME 的開始磁區還是『絕對』不要位於 1024 磁柱之後!因為在安裝 Microsoft Windows ME 時,有報告指出如果它的開始磁區位於 1024 磁柱之後時,它會把開機檔案『強迫』寫入第 1023 磁柱,因而會造成第 1023 磁柱上的資料損毀!不可不慎呢!

  如果 LILO 開機時直接就載入 Linux 而沒有出現多重開機的畫面,這並不是 LILO 壞掉囉,只要在電腦開機時按下 <Ctrl> 鍵,多重開機的畫面就會出現了。

  如果要移除安裝在 MBR 中的 LILO,可以使用 DOS 開機片,開完機後下達 Fdisk /mbr 即可用 DOS 版的 Boot Loader 把 LILO 給覆蓋掉。

  這裡也有一篇使用 LILO 做為 Win95 + WinNT + Linux 多重開機 mini-HOWTO,您也可以參考看看!




重新設定 LILO 指令:/sbin/lilo

-v    :  在發現錯誤時出現詳細的診細訊息。
-t    :  檢查 lilo.conf 的設定是否正確。
-C    :  指定其它的設定檔。(預設是/etc/lilo.conf)




修復 LILO:

 1. 使用 Debian 的安裝光碟片或磁碟片開機。

 2. 使用緊急修復模式啟動 Linux,適用於 Kernel 2.2.x:

        boot: rescue root=Device

    使用緊急修復模式啟動 Linux,適用於 Kernel 2.4.x:

        boot: rescbf24 root=Device

 3. 必要時,編輯 LILO 設定檔以符合您的需求:

        (Edit) /etc/lilo.conf

 4. 測試 LILO 設定檔中的設定是否正確:

        /sbin/lilo -t <Enter>

 5. 重新安裝 LILO:

        /sbin/lilo -v -v -v <Enter>

 6. 重新啟動 Linux,測試 LILO 是否可以正常運作

        reboot <Enter>

或是:

 1. 放入 Debian 的安裝光碟,使用 bf24 參數開機。

 2. 在開機完畢後,按下 <Alt><F2> 來切換至第二個 Console,
    使用以下指令將 / 分割區給掛載起來。
    如果您的 /boot 是放在另一個分割區,請記得要同時掛載:

        # 將 / 給掛載起來
        mount -t ext3 /dev/hda1 /mnt

 3. 使用 chroot 來重建 LILO:

        # 使用 chroot 將 / 切換到 /mnt 去
        chroot /mnt

        # 重建 LILO 吧!(LILO 的設定及使用方式請參考其說明文件。)
        lilo -v -v

        # 跳離 chroot
        exit

 4. 在結束之前,建議執行 sync 和 umounbt 指令:

        sync
        umount /mnt

 5. 好,搞定了,重開機吧!

        reboot

取自"http://wiki.debian.org.tw/index.php/lilo"

本頁面已經被瀏覽6,400次。 這頁的最後修訂在 2005年3月28日 (星期一) 11:09。 本站的全部文本內容在GNU Free Documentation License 1.2之條款下提供。


[Main Page]
Main Page
社區
近期活動
最近更改
隨機頁面
幫助
贊助

編輯本頁
討論本頁
頁面歷史
鏈入頁面
鏈出更改

特殊頁面
錯誤報告