linux开机grub>命令修复方法

linux开机grub>命令修复方法,第1张

出现grub rescue模式一般是硬盘分区出现变动、导致旧的grub找不到启动文件而出现的。

出现错误具体原因未知,但开机不能引导肯定是grub配置文件出错,/boot/grub2/grub.cfg

解决方法:

1,插入安装U盘或者光盘,进入救援模式,重装grub重新生成grub.cfg文件:grub2-install /dev/sda*boot目录所在分区grub2-mkconfig -o /boot/grub2/grub.cfg重启后应该就OK了。

2,grub>模式下:输入:ls 查看所有磁盘分区:hd。x,x......用:ls hd(x,x)/grub 找grub所在的分区,有正确执行结果的便是找到linux所在分区后执行setprefix=hdx,x/grubsetroot=hx,x、insmod normal再使用normal命令进入系统后,再修复grub 配置。or:查找boot分区:find /boot/grub/menu.lst 或者 find /boot/grub2/grub.cfg

输入以下命令:cat hd0,7/boot/grub/grub.conf 关于内核信息的,看一下就明白了。按照下面命令依次输入指定/boot分区使用命令:grub>root hd0,0grub>kernel /boot/vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet 回车grub>initrd /boot/initrd-2.6.18-53.el5.img 回车boot 回车启动

解决的办法,如下: 首先确定自己当初在安装linux时有没有创建/boot分区:

1、如果当初装系统时创建了/boot分区,那么先输入:

grub rescue>ls

屏幕上会显示很多个分区,例如:

sda:(hd0,msdos1),

(hd0,msdos2),

(hd0,msdos3),

(hd0,msdos4)......

然后输入ls (hd0,msdos*)/

找出哪一个是/boot的分区

<注:*是一个通配符>

直到尝试某一个数字,假设是6,(我的电脑就是6)后有显示:

.../grub.../grub2

如果电脑是fedora16,17,那么下面的代码就是这样:

grub rescue>root=(hd0,msdos6)

grub rescue>prefix=/grub2

grub rescue>set root=(hd0,msdos6)

grub rescue>set prefix=(hd0,msdos6)/grub2

grub rescue>insmod normal

grub rescue>normal

然后就进入了熟悉的grub界面,就能够顺利的引导系统了 (因为fedora16,17后就是用grub2了,原来的grub是不行的)

如果是其他的系统(ubuntu......)则好像是grub

因为本人的是fedora17的系统,所以对ubuntu不是很清楚,但当你无奈的时候可以尝试一下

2、如果当初没有创建/boot分区,那么:

虽然也是使用的ls (hd0,msdos*)/命令,但是这回查找的就不是/boot分区,而是/主分区了

使用ls (hd0,msdos*)/,直到下面显示有: ......./boot......

假设主分区是7,(我的电脑是7) 若是fedora16,17系统 那就应该输入如下命令:

grub rescue>root=(hd0,msdos7)

grub rescue>prefix=/boot/grub2

grub rescue>set root=(hd0,msdos7)

grub rescue>set prefix=(hd0,msdos7)/boot/grub2

grub rescue>insmod normal

grub rescue>norma

然后就ok了。

请注意:fedora16,17一定是grub2,而不是grub,网上有很多都是说的grub,应该是针对别的linux而言的

当进入了自己的linux系统之后,还得要更新一下自己的grub,如果不更新的话以后每次开机时都需要输入这么一大段代码


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/9005516.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-23
下一篇2023-04-23

发表评论

登录后才能评论

评论列表(0条)

    保存