LILO使用指南(中)(轉)

post0發表於2007-08-11
LILO使用指南(中)(轉)[@more@]

三,關於lilo的問題

、先裝了Windows,再裝Linux時,不能安裝LILO。這是大多數Linux新手的問題;

有些BIOS不能識別大於8.4G的硬碟,舊的LILO不能識別位置大於1024柱面的系統核心(kenerl)。因此可能的問題是:LILO被裝入 MBR,而為Linux準備的硬碟分割槽遠在1024柱面之外,因此Linux不能引導;LILO被裝入Linux的root分割槽(根分割槽),而它恰好在 8.4G之外,又掛了!

解決方案:

也許你已經安裝了Linux,不要delete它,改改還能用!好,現在開始:

1. 用PartitionMagic5.0在第一個硬碟的開始分出個10M的ext2分割槽,格式化。最好把為Linux準備的分割槽也一同準備好,省得以後麻煩。

2. 用Loadlin或Linux的boot和rescue盤引導系統。mount那個10M的分割槽--/dev/hda1,假設我使用boot和 rescue盤,mount到/mnt/tmp。把/boot/*和核心映象檔案複製到/dev/hda1相同的目錄下,編輯 /etc/lilo.conf,在所有的目錄前加上/dev/hda1的mount路徑,並且將LILO安裝到/dev/hda1。

把lilo.conf中的

boot = /dev/hda

install= /boot/boot.b

message = /boot/bootmsg

map= /boot/map

image = /boot/vmlinuz-2.2.13

修改為

boot = /dev/hda1

install= /mnt/tmp/boot/boot.b

message = /mnt/tmp/boot/bootmsg

map = /mnt/tmp/boot/map

image = /mnt/tmp/boot/vmlinuz-2.2.13

呼叫lilo命令,重新安裝LILO。重起系統,就完了。

記住,要解除安裝Linux,可以用DOS下的fdisk /mbr清除MBR中的LILO。

、多重引導NT、9x和Linux,並且想要比LILO更有好的介面,Linux+NT-Loader-mini-HOWTO中有詳細的介紹;

主要的問題是如何將Linux的引導記錄寫入bootsect.???檔案,這裡假設你已經成功地安裝好Windows9x與NT了。

(這裡假設Linux安裝於第一個邏輯分割槽,在Linux下為/dev/hda5,Windows9x安裝於第一個主分割槽,在Linux下為/dev/hda1,WindowsNT安裝於第二個主分割槽,在Linux下為/dev/hda2。)

解決方案:

用Loadlin或Linux的boot和rescue盤(指BluePoint光碟的啟動選項,RedHat裡好像沒有)引導Linux系統。(loadlin比較好,rescue盤上可能沒有mtools,只能mount cp umount)用一下幾句命令建立該檔案:

dd if=/dev/hda5 of=/root/bootsect.lix bs=512 count=1

插入軟盤,

mcopy /root/bootsect.lix a:

重新引導系統,進入DOS會快一些看到你的成果,進入ntldr所在硬碟分割槽的根目錄,或者說安裝WindowsNT前可引導的硬碟分割槽的根目錄(這裡是 Windows9x)。複製軟盤上的bootsect.lix檔案。去除boot.ini的只讀、隱藏屬性。在最後新增c:ootsect.lix= "Go to Linux"。存檔退出,新增boot.ini的只讀、隱藏屬性。重新引導系統,再試試看!注意在對Linux核心的作任何修改後,都必須重作以上步驟,才能正確引導Linux系統。

、安裝多餘一個的Linux系統;

主要的問題還是如果多個Linux的LILO或根分割槽不能被BIOS找到,系統就會掛起!這裡假設BluePoint Linux安裝於第一個邏輯分割槽,在Linux下為/dev/hda5,RedHat Linux安裝於第二個邏輯分割槽,在Linux下為/dev/hda6。)

解決方案:

我們就同樣的建個10M的分割槽。將兩個Linux的引導檔案多複製到此分割槽,通常是/boot下的一切,有可能還有/vmlinuz--核心檔案,依Linux的發行版本而不同。建議將其分裝入兩個目錄。假設為/bootBlurPoint和/bootRedHat。

編輯lilo.conf檔案:

原始

boot = /dev/hda

install= /boot/boot.b

message = /boot/bootmsg

map = /boot/map

image = /boot/vmlinuz-2.2.13

label = linux

root = /dev/hda1

修改為

boot = /dev/hda1

install= /mnt/tmp/bootBluePoint/boot.b

message = /mnt/tmp/bootmsg

map = /mnt/tmp/bootBluePoint/map

image = /mnt/tmp/bootBluePoint/vmlinuz-2.2.13

label = BluePoint

root = /dev/hda5

image = /mnt/tmp/bootRedHat/vmlinuz

label = RedHat

root = /dev/hda6

,從主開機記錄中移走LILO並重存原先的windows MBR

1. c:> fdisk /mbr

2. #/sbin/lilo -u /dev/hda

3. #dd if=/boot/boot.0300 of=/dev/hda bs=446 count=1

4. #cat /boot/boot.0300 > /dev/hda

注意:只有你原先安裝windows 95後再安裝Linux時,/boot/boot.0300才是你原先的windows 95 MBR。

,重存LILO到MBR

1. 用安裝軟盤或光碟啟動到boot:

boot: vmlinuz root=/dev/hdXY (如: hda1 )

啟動完成後執行 #/sbin/lilo

2. 用兩張軟盤啟動後:

#mount -t ext2 /dev/hda1 /mnt

#ln -s /mnt/boot boot

#ln -s /mnt/etc/lilo.conf /etc/lilo.conf

#/mnt/sbin/lilo

,複製LILO到軟盤

1. /sbin/lilo -b /dev/fd0

2.用Redhat 安裝盤引導到 boot:

boot: vmlinuz root=/dev/hdXY (hdXY 為你的根分割槽)

update /etc/lilo.conf

root=/dev/fd0

boot=/dev/fd0

再執行:#/sbin/lilo -v

,製作一張Redhat Linux 引導盤

#mkbootdisk --device /dev/fd0 2.2.19

,複製核心至軟盤,讓軟盤單獨引導Linux並掛上硬碟上的根檔案系統。

#fdformat /dev/fd0H1440

#dd if=/boot/vmlinuz of=/dev/fd0

#rdev /dev/fd0 /dev/hda

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-945146/,如需轉載,請註明出處,否則將追究法律責任。

相關文章