本篇介绍下如果遇到开机进入Grub应该如何修复。
Grub是Linux系统默认使用的引导程序,当grub的配置文件丢失,或者配置出现错误,MBR记录中的引导程序遭到破坏时,Linux主机启动后可能只出现“grub>”的提示符,无法完成进一步的系统启动过程。如图所示:
首先需要确定的一点是挂载在根目录下的路径,如果不记得就打开正常的机器df -h查看一下,如图我的机器路径是/dev/mapper/VolGroup-lv_root,实在不记得也查不到可以尝试/dev/sda1与/dev/sda2,注意(hd0,0)=(hd0,0)、 (hd0,1)=/dev/sda2
如果你不知道你的引导分区所在的位置,那么只能输入root (hd0,然后按tab键,会有如下显示,那么需要把type 0x83的分区位置都得试一下,因为0x83的分区都有可能是/root分区即0,1,4分区位置
那么就从root (hd0,0)开始试验,然后输入kernel /vm 按tab键如果可以补全则说明是正确的,接着输入 ro root=/dev/mapper/VolGroup-lv_root
grub>kernel /vm‘~~~~~~tab~~~~’ ro root=/dev/mapper/VolGroup-lv_root
接着输入initrd /ini 按tab键补全
最后输入boot命令
grub>boot
启动过程中看到红色的Redhat即说明启动成功了!
进入系统中还需要检查/boot/grub/grub.conf文件是否受损,我的grub.conf文件莫名被清空,按照正常的配置文件覆盖过去问题就解决了,重启后正常进入系统。该文件基本内容一致,在此附上文本供参考
# grub.conf generated by anaconda
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/vda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux (2.6.32-431.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=128M rd_LVM_LV=VolGroup/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet nosoftlockup iommu=soft
initrd /initramfs-2.6.32-431.el6.x86_64.img
谢谢!
网友评论