系統引導盤
進行引導同時也給出緊急修復辦法的光碟
系統引導盤,是進行引導同時也給出緊急修復辦法的光碟。
如果你能做一張windows系統引導盤,就能在windows系統出問題時,用這張引導盤來引導你的系統,然後再找出故障並解決之。下面介紹三種做引導盤的方法。 1.在windows中創建系統引導盤:打開控制面板,雙擊“添加/刪除程序”,然後選引導盤選卡。需要說明的是,只有在這裡優質出的引導盤的功能最完整,它包括了光碟機的通用驅動程序,可引導系統並能支持絕大多數的atapiide與scsi光碟機,這樣就能直接從光碟機上安裝各類windows操作系統了。另外,它還包括一個虛擬盤的創建程序,在啟動后它會自動創建一個2mb的虛擬磁碟,原來被壓縮為cab格式的診斷工具和光碟機驅動程序就自動釋放到虛擬盤上了,使運行磁碟分區、掃描、格式化等軟體工具的速度大大加快。單點創建引導盤”按鈕,系統會提示你在軟碟機中插盤,然後經過長時間的等待后,你就能擁有一張windows引導盤了。 2.在dos下做引導盤 如果你的windows系統崩潰了,不能進入windows,想重裝系統但手上卻沒有引導盤,那就只能自己想辦法做個引導盤了。如果你的系統仍能入dos,那麼就可入win 。
本文旨在如何給工作的系統做LILO和內核的軟盤備份,因為大多數Linux伺服器使用LI
LO
進行引導,同時也給出緊急修復辦法。
二:測試環境
Redhat Linux ,IDE和SCSI啟動硬碟。
三:備份措施
當我們設置完新的伺服器后,除了常規的伺服器重要配置文件和系統備份之外,最好?
慘?
做LILO和內核的軟盤備份,萬一由於某種原因導致LILO不能引導系統。
1. 第一種方法
適用範圍:
自己編譯的內核,所有的支持模塊已經編譯進內核,如果有SCSI硬碟,必須
編譯進SCSI支持進內 核,也就是說內核已經包含了所有引導需要的東西
步驟:
格式化一張空白軟盤,不要生成文件系統,直接寫內核到軟盤,然後改變內核文件中?
母?
文件系統分區定義
fdformat /dev/fd0h1440
dd if=/boot/vmlinuz of=/dev/fd0 (用你自己的內核文件名替代vmlinuz)
rdev /dev/fd0 /dev/sda3 (用你的根分區設備名稱替代/dev/sda3)
rdev -R /dev/fd0 1 (安裝根文件系統成只讀模式)
作用:這樣當系統LILO失敗時,可用該軟盤引導系統且安裝硬碟根文件系統。
2. 第二種方法
適用範圍:
內核需要一系列模塊幫助引導,如SCSI硬碟驅動程序,則需要用下面的方法
生成帶LILO的引導軟盤
步驟:放一張新的軟盤,不要格式化和分區,直接用mkbootdisk創建引導盤
mkbootdisk --device /dev/fd0 2.2.12-20 (用你的內核版本代替2.2.12-20,
可用uname -a查看)
3. 第三種方法
適用範圍:
mkbootdisk命令不可用,或者無論什麼理由你想手動創建一張帶LILO的引導
軟盤
步驟:
fdformat /dev/fd0h1440 (低級格式化軟盤)
/sbin/mkfs.minix /dev/fd0 1440 (在軟盤上創建minix文件系統)
/bin/mount /dev/fd0 /mnt/floppy (安裝軟盤到/mnt/floppy目錄)
cd /mnt/floppy
mkdir boot etc dev
cp -a /boot/vmlinuz /boot/initrd.img /boot/boot.b boot/
註:用你的內核文件名代替vmlinuz
用你的initrd映像文件名代替initrd.img
cp -a /dev/fd0 /dev/null /dev/zero /dev/hd[abcd]* /dev/sd[abcd]* dev/
註:如果你沒有SCSI設備,可不用拷貝/dev/sd[abcd]*
創建/mnt/floppy/etc/lilo.conf如下
boot=/dev/fd0
read-only
prompt
image = /boot/vmlinuz
initrd=/boot/initrd.img
root = /dev/sda1 # 把/dev/sda1換成你的根文件系統設備名稱
label = linux
最後運行 lilo -r /mnt/floppy 在軟盤上安裝LILO
(將自動生成/boot/map文件包括內
核的物理映像位置)
4. 剖析initrd.img
如果你是用SCSI硬碟啟動,內核必須能裝入SCSI驅動程序才能轉入你的硬碟根文件系?
騁?
導系統。
如果你的內核沒有編譯進SCSI驅動程序,則需要用mkinitrd創建RAM驅動映像
想知道你的initrd.img中包含了哪些驅動程序嗎?
cat initrd.img | gunzip > /tmp/myinitrdfs
mkdir /mnt/tmp
mount -o loop -t ext2 /tmp/myinitrdfs /mnt/tmp
然後查看/mnt/tmp中的文件linuxrc中的內容即可知道啟動時會裝入哪些驅動程序
你也可以更改其中的內容,假設我們想加另一種SCSI驅動aic7xxx.o進入你的initrd.i
mg
cd /mnt/tmp
vi linuxrc 加上一行 insmod /lib/aic7xxx.o
cp /lib/modules/`uname -r`/scsi/aic7xxx.o lib/
cd /
umount /mnt/tmp
dd if=/tmp/myinitrdfs | gzip > /boot/initrd2.img
至此,新的initrd文件initrd2.img就包含了aic7xxx的驅動程序了。
四:緊急修復
許多情況能導致LILO引導失敗,象升級內核,忘記運行lilo更新MBR,克隆硬碟,缺少
SCSI驅動程序引導根文件系統等等,當我們遇到這些情況而手邊又沒有備份的引導軟?
?
時,你仍然有許多其它途徑去修復
1.
查看周圍有沒有類似的其它機器和系統在運行,如另一台伺服器上有相同版本或同系
列的內核在運行。
則在另一台系統上生成引導軟盤(帶LILO或者不帶LILO),如果需要添加initrd.img中?
?
SCSI驅動文件
2.
用CDROM安裝盤啟動,CDROM會載入SCSI驅動,到分區界面時用ALT+F2轉入字元界面,
可mount硬碟根分區
,運行lilo 和做相關的修復
3.
下載包含boot/root文件系統在一張軟盤上的文件,
完全從一張軟盤啟動
系統,完全不需要硬碟,然後再安裝硬碟,修復系統(例如萬一你的/etc/fstab中的根
文
件分區指定錯誤,可用此方法修復)
4.
最後如果都不可行,你可以下載與你的伺服器相同版本或者同系列中最新版本的內
核,在另一台機器上編
譯需要的SCSI和網卡等相關驅動程序直接進入內核,不需要任何
模塊,然後用本文的方法拷貝至軟盤,去 引導系統
吳阿亭 ( Jephe Wu )