环境:
/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,就可以重新启动了。