资讯专栏INFORMATION COLUMN

手撕开机grub-rescue问题

bang590 / 3415人阅读

摘要:原文地址在实际折腾的过程中遇到问题是件很正常的事情。如果没有正确的被安装就可能会引发上面的问题。此时不要高兴的太早了因此这只是临时的关联如果重启的话这个问题还是会再次出现的。这样我们就完美的解决了开机启动时导致无法正常启动的问题了。

原文地址:

http://52sox.com/linux-resolv...

在实际折腾Linux的过程中,遇到grub-rescue问题是件很正常的事情。实际上这个问题,没有什么技术含量,但是要看什么场合。
记得之前教了某个MM玩Linux,主要也是工作需要吧。本来一切都是很美好的,可是下午却被一通电话吵醒了。电话的那头很着急的跟我说,她的电脑启动不了了,电脑启动不了的理由有千万种死法。于是我平静的问她,由什么提示或输出吗?
然后她跟我讲屏幕中出现了grub resuce的字样。对于这样的情况,不用说我都知道,她把某些东西给搞坏了。但是按照网上的教程却无法修复,于是详细询问后就有了这篇文章了。
实话说,grub2主要分为2个部分,一部分一般情况下写在MBR中,而另1部分写在某个分区的/boot/grub目录中。如果grub没有正确的被安装就可能会引发上面的问题。
对于这样的问题,我们可以通过如下的方式来进行修复:

找到Linux安装的分区

进行临时grub的关联

重新生成grub

下面我们分别来进行说明。
在这里,要修改的Linux为Ubuntu 14.04版本,对于其他的发行版也是类似的。

找到分区

我们先在提示符grub rescue>下输入命令ls列出所有的磁盘分区信息,这里假设得到如下的结果:

(hd0),(hd0,msdos8),(hd0,msdos7),(hd0,msdos6),....

接着,我们需要尝试列出某个分区上是否存在/boot/grub这个目录。对于Windows系统的分区来说,会直接得到1个unknow filesystem的错误提示。换句话说,我们需要进行如下的操作:

ls (hd0,msdosX)/boot/grub

在这里,X代表上面分区中得到的数字,比如msdos8中的数字8。
如果按照这种方式应该是可以找到对应分区的,这也是网上教程的方法,但是由于她的电脑中将boot分区多带带进行了分区,因此使用上述的方式会出现1个对应文件不存在的提示。
因此,我们需要将上述的方式修改为:

ls (hd0,msdosX)/grub

在这里,我们去掉了boot目录,这样就可以搜索到对应的目录了。
对于在使用ls命令时提示文件不存在的情况我们可以进行如下的操作:

ls (hd0,msdosX)/
进行关联

紧接着,如果找到了正确的grub目录后,我们需要将其与grub关联起来,在这里,我们主要通过set命令来进行设置操作,从而临时进行关联操作:

grub resuce> set root=(hd0,msdos6)
grub resuce> set prefix=(hd0,msdos6)

而GRUB的正常启动过程涉及到通过grub-install生成的核心镜像的环境变量prefix。而环境变量root主要用于从前缀中加载normal模块。
在这里,我们假设正确的分区为(hd0,msdos6),我们通过set命令设置其root和prefix都为该分区。之后我们需要进行加载的操作了:

grub resuce> insmod normal
grub resuce> normal

在这里,normal命令会读取/boot/grub/grub.cfg文件并运行菜单。

重新生成grub

通过上述的方式我们可以现实丢失的grub菜单了。此时不要高兴的太早了,因此这只是临时的关联,如果重启的话,这个问题还是会再次出现的。为了解决这个问题,我们需要进入Linux中重新生成grub来进行修改:

cat@cat-pc:~$ sudo update-grub
Generating grub configuration file ...
Found theme: /boot/grub/themes/deepin/theme.txt
Found background image: /boot/grub/themes/deepin/background.png
Found linux image: /boot/vmlinuz-4.4.0-2-deepin-amd64
Found initrd image: /boot/initrd.img-4.4.0-2-deepin-amd64
Found Windows 7 (loader) on /dev/sda1
done
cat@cat-pc:~$ sudo grub-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.

在这里,我们假设使用的是deepin的发行版,然后使用update-grub重新生成grub菜单。最后再使用grub-install将其安装在硬盘上。
这样,我们就完美的解决了开机启动时grub rescue导致无法正常启动的问题了。
如果某天某个MM向你咨询这个问题,不要吝惜这样的好机会,因为花不了你10分钟又可以拉近关系。

参考文章:

http://www.gnu.org/software/g...
http://blog.chinaunix.net/uid...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/9602.html

相关文章

  • 前端每日实战:120# 视频演示如何用纯 CSS 创作锡纸撕开的文字效果

    摘要:效果预览按下右侧的点击预览按钮可以在当前页面预览,点击链接可以全屏预览。可交互视频此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。 showImg(https://segmentfault.com/img/bVbf1cP?w=400&h=300); 效果预览 按下右侧的点击预览按钮可以在当前页面预览,点击链接可以全屏预览。 https://codepen.io/comehop...

    邹立鹏 评论0 收藏0
  • 前端每日实战:120# 视频演示如何用纯 CSS 创作锡纸撕开的文字效果

    摘要:效果预览按下右侧的点击预览按钮可以在当前页面预览,点击链接可以全屏预览。可交互视频此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。 showImg(https://segmentfault.com/img/bVbf1cP?w=400&h=300); 效果预览 按下右侧的点击预览按钮可以在当前页面预览,点击链接可以全屏预览。 https://codepen.io/comehop...

    张金宝 评论0 收藏0
  • 前端每日实战:120# 视频演示如何用纯 CSS 创作锡纸撕开的文字效果

    摘要:效果预览按下右侧的点击预览按钮可以在当前页面预览,点击链接可以全屏预览。可交互视频此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。 showImg(https://segmentfault.com/img/bVbf1cP?w=400&h=300); 效果预览 按下右侧的点击预览按钮可以在当前页面预览,点击链接可以全屏预览。 https://codepen.io/comehop...

    MudOnTire 评论0 收藏0
  • 《梦幻模拟战》漏洞挖掘全过程

    摘要:自年月上线至今,梦幻模拟战手游始终保持在游戏畅销榜前的位置。梦幻模拟战的发行方紫龙游戏,对此类风险有着非常超前的认知,在产品正式上线前,就与的手游安全团队进行对接。 作者:WeTest小编商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。原文链接:https://wetest.qq.com/lab/view/429.html WeTest 导读 漏洞和外挂一直是危害游戏的罪...

    maxmin 评论0 收藏0
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境

    摘要:说实话现在连要重视哪些监控指标都不知道,但在中文介绍中,就安装这一块,踩的坑实在好多,所以有必要写篇文章记一下。这篇文章主要包括如何搭一个虚拟的服务器和相关配置按照官方的中文介绍安装,会踩到哪些坑。虚拟机选择的是。 收到新的任务研究一下 open-falcon 监控公司的服务器指标玩玩。说实话现在连要重视哪些监控指标都不知道,但在open-falcon 中文介绍 中,就安装这一块,踩的...

    tainzhi 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<