環境:
/boot分區完全被破壞,且MBR也被破壞。(rm -rf /boot;fdisk /mbr)
1、修復Grub:
a、光盤啟動,進入rescue模式。keywords:linux rescue.
b、進入真實系統環境。keywords: chroot /mnt/sysimage
c、安裝grub到/boot分區下,本操作會將grub文件夾安裝到boot分區下,包括stage1,stage2等文件。kewords:grub-install (hdx),若只有一個硬盤,則為0。若有多個硬盤,且/boot分區所在的硬盤未知,需要先fdisk -l檢查一下(Id類別為83,且標記為Boot的分區,所在的硬盤)
d、進入grub shell,keywords:grub。
e、指定grub的根分區(即boot分區)。keywords:root (hdx,y),若只有一個硬盤,則為0。若有多個硬盤,且/boot分區所在的硬盤未知,參考上面的fdisk -l檢查方法即可得出x,y值。也可以按tab鍵查看grub探測到的硬盤與分區。
f、安裝grub到MBR,(實際是將stage1拷貝到MBR)。keywords:setup (hdx)。
2、安裝kernel和initrd:
a、掛載第一張光盤。keywords: #mdkir /mnt/cdrom; #mount -o loop /dev/hdc /mnt/cdrom
b、找到kernel的rpm包並安裝,這樣即可將啟動所需要的vmlinuz、initrd等文件安裝回去。keywords:#cd /mnt/cdrom/Server; #rpm -ivh --force kernel-2.6xxxxx.rpm
3、創建/boot/grub/grub.conf,最少需要如下行:
timeout 5 #本來不要也可以啟動,但是重啟卻不能自動啟動,所以我認為是必要的。
title RedHat Linux EL5 #title你可以隨便寫寫文字,但這行是必須的。
root (hdx,y) #注意root 後面的空格。x,y參考上面
kernel /vmlinuz-2.6.18-8.el5 ro #標准的安裝,後面可能還跟有root=LABEL=/一類的選項,但其實不是必須的,而且,在配置了raid+lvm的系統上,這個選項可能會導致系統不能啟動。原因就是找不到root分區和其下的分區。“/”指boot分區。
initrd /initrd-2.6.18-8.el5.img #制定initrd映像文件的位置。“/”指boot分區
4、OK,敲兩次exit,就可以重新啟動了。