grub2引导丢失恢复和配置简述

背景:我今天手贱,重新安装了Windows。也没有做任何备份。当开机的时候就傻x了,引导grub2不见了。本来grub2是用来引导linux和Windows的,但现在引导被覆盖了,Linux系统就进不去了。这本来不是一件大事,但把我弄得焦头烂额。。。。
补充一句,我的Linux发行版本是CentOS 7。

先说说我的经历吧。

Linux的引导丢失后,大概记得需要进入Linux的救援模式,然后重新安装grub2。网上更多的教程是说插入一张Linux的光盘,然后在进入救援模式。但是我手上并没有光盘,而且可能是因为我比较懒,所以想着通过硬盘来引导下载的iso文件。之后在进入救援模式。

于是乎,痛苦的经历开始了。

因为之前有通过硬盘安装Ubuntu的经历,所以想着用同样的方法,从硬盘引导CentOS的iso文件。CentOS的有三种类型,一种是mini版,一种是DVD版,一种是Everything版。开始我本地有DVD版,放在了NTFS文件系统的D盘。又下载了 EasyBCD 来添加了启动条目。这样打算引导CentOS的iso文件。(如果你问我为什么使用EasyBCD,而且放在了NTFS的文件系统下。我会告诉你,当年我使用Ubuntu就是这么干的。。。。。)

按照剧情的一般发展,我引导CentOS肯定是失败的。但是事实是我的确是失败了——屏幕滚出了N多东西,鼠标键盘先是亮起来然后又灭了,系统提示:system halted…….

于是我就开始了疯狂的找原因。最后了解到安装CentOS的iso文件不能放在NTFS分区,而且EasyBCD我配置的好像还有点问题。其实说实话,这个原因到底是什么,我也不清楚,上面只是推测罢了。反正就是不行。各位吃瓜群众这里可以各抒己见。。。。。

弄到这里我就有点想骂n了,NTFS不行,那我放哪儿?FAT32的文件系统吗?拜托,这个iso文件的大小是4.09G!换其他的文件系统?不行,Windows不支持。呵呵呵呵呵,这是我想对那个封装iso的人说的,同时也是对微软说的。在这里,我想揣测一下微软的心态。微软:老子的系统天下第一,用我的产品的人就不要想其他的了。老子就是故意不兼容。

既然这样,换一个mini版的CentOS吧。600+M,挺爽。
然后就开始引导了,然后就又失败了。至于原因,不要问我,我不知道。

静下心来,想一想,还有什么好的方法引导呢?哦~~~~,我有PE诶。于是我就把iso文件考入了带有PE的U盘里面。先进PE,在开始引导。这里需要说一下,PE用的是老毛桃,在U盘里面创建LMT文件夹,然后放入镜像文件,就可以在PE的菜单里面选择开始引导了。事情到这里,似乎顺利了一点。成功引导了CentOS,选择进入救援模式。但是不幸的事情依然存在,系统提示:巴拉巴拉巴拉巴拉writethrough,什么什么timeout,然后开始滚屏,然后似乎进入了一个什么系统,然后就没有然后了。

难道就没有办法了吗?聪明的我想到,把CentOS的DVD版的iso文件存到已有的Linux分区里面不就好了。Windows不支持怎么办,装个软件呗。。。唉,还是想开了。装软件吧:(软件名稍后补上)。然后按照第一种方法,使用EasyBCD建立引导条目,然后重试。不过狗血的是,我居然不知道自己的Linux分区到底是sda几。/目录对应sda8?/home对应sda9?呵呵,我忘了诶。那怎么办?挨个试。。。最后事实证明,勤不能补拙,还是不行,问题依旧。

怎么办?最后乖乖刻录一个U盘吧。于是乎漫长的刻录等待开始了。弄好后,重启-U盘启动-救援模式-失败?为什么?不要问我,我已经疯了。

但是,抱着最后一丝希望。记得通过之前查资料的过程中好像有人提到过BIOS的设置问题。难道是BIOS的问题?试试吧。这样就开始了修改BIOS。怎么修改呢?很简单,“载入预设值”。然后再次重试。没好。然后手动看BIOS的每一项,自己手动修改。然后再试,不行。

最后,重点来了。开机按F12,选择你那个U盘。这里要注意,可能会有两个选项。一个以“UEFI”开头,一个没有。这里选择后者没有的。然后确定引导U盘,成功进入Linux救援模式,或者安装Linux。


以上全是废话,现在开始正题

怎么在救援模式下恢复Linux的grub2引导。

  1. 首先使用U盘引导进入CentOS。在最开始的界面选择“trouble shooting”,注意不是“安装CentOS”,也不是另一个“巴拉巴拉”()记不清了。

  2. 然后选择进入救援模式。在接下来的过程中可能会让你选择什么的。选择continue选项,然后继续。

  3. 成功进入救援模式后。执行以下命令。

chroot /mnt/sysimage
#说明,这条命令是切换根目录的意思。目的是要把当前的根目录切换到自己硬盘中原来的根目录。这样就可以使用自己原来的Linux了。
#有人也在说没有/mnt/sysimage目录,或者命令执行失败。这样的话可以检查以下自己是不是真的进到了救援模式。起初我就是这样的情况。

grub2-install /dev/sda
#说明,这是在硬盘sda上安装grub2.安装完后会重新覆盖原来的引导。

grub2-mkconfig
#说明,让grub2自己去识别不同的系统,然后按照脚本自己创建引导。
#补充一下,如果你的Linux无法识别Windows的NTFS分区,grub2就不能建立对Windows的引导。那怎么办呢?安装一个可以识别NTFS文件系统的软件呗。。。
sudo yum install ntfs-3g

#有时候使用上面的命令已经识别了Windows系统,但是就是没有更新grub2的配置文件/boot/grub2/grub.cfg。那就多加一个参数-o
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

#如果想修改一下grub2的配置,比如等待时间、默认启动的条目等等,就要修改下面的配置文件/etc/default/grub
#在文件中
GRUB_TIMEOUT    #等待时间
GRUB_DEFAULT    #表示默认启动项。saved默认上次启动项,或者0,1,2,3……

至此,已经大功告成。重启一下试试吧。

如果还不行的话怎么办?你问我吗?那就按照上面的步骤再来一遍。O(∩_∩)O~

最后,祝你好运。。。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值