通过Grub来引导启动Linux

本篇介绍下如果遇到开机进入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


谢谢!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容