RHCE脚印:修复顺坏的boot分区和grub


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

相关内容