故障现象:
新装的CentOS 5,装好之后,启动,到grub的时候出问题了,屏幕显示:GRUB Loading Stage,然后就卡住不动了,初步估计有两种可能,一,grub没装好,二,stage文件丢失,于是,我用光盘启动,进入到修复模式,rpm -ivh重新装了一次grub包,很不幸,不起作用,看看menu.lst,也没什么发现,很灰心.于是,我用windows的启动光盘启动,DOS 下执行fdisk /mbr,重写了mbr,重启后,屏幕显示:Missing Operation system,卡住不动,明显故障更严重了,日~!修复模式下rpm -ivh重装grub包,装不进去,报错,提示要我解压这个rpm包,执行grub,grub-install等命令,均提示无此命令,于是执行以下步骤,成功修复.
解决步骤:
1.进入修复模式,chroot到现有故障系统中,解压grub包,命令如下:
rpm2cpio grub.rpm | cpio -idmv ------------------->>解压grub包,到当前目录下
2.解压之后,会出现boot,sbin,usr三个文件夹,将其下所有文件copy到相应目录下.这样,就会有grub,grub-install等命令可以用了.
3.将grub安装到/dev/hda中.
grub-install /dev/hda ---------------->>如果/boot分区是独立的,则
grub-install --root-directory=/boot /dev/hda
4.设定grub的/boot分区,并写入MBR
1.# grub
2.grub> find /boot/grub/stage1 ----------->>查找stage,用来定位boot分区
(hd0,0) ---------------------------->>结果
3.grub> root (hd0,0) ---------------------->>设定/boot所在分区
4.grub> setup (hd0,0) ----------------------->>把grub写到MBR上去
5.建立menu.lst文件.
touch /boot/grub/menu.lst -------------------->>新建menu文件
ln -s menu.lst grub.conf -------------------->>创建一个连接文件
menu文件内容
default=0
timeout=8
title centos
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-8.el5 ro root=LABEL=/ ------>>指linux根/所在分区,也
initrd /boot/initrd-2.6.18-8.el5.img 可以象下面一样写
如果/boot独立的一个分区,则
kernel (hd0,0)/vmlinuz ro root=/dev/hda2
initrd (hd0,0)/initrd.img
阅读(2028) | 评论(0) | 转发(0) |