如果在度娘上搜装windows恢复grub,或者再加一个关键字rescue,八成会搜到同一篇文章及其衍生版,大体思路是没问题的,但是操作起来就不是那么回事了。
事故起因是博主装了Win10, 把之前安装过的Linux grub给覆盖掉了。解决步骤如下:
(1). 得把启动项找回来把,grub不行windows启动管理器也行啊。下载EasyBCD, 管理员权限打开:
点击或选择的地方已高亮,名称随便起一个,之后点击“添加条目”,之后在“编辑引导菜单”应该可以看到刚刚添加的选项。
(2).重启。
(3).选择新增的Linux启动项,这时候很可能会进入grub rescue且提示unknown filesystem.如果是的话,往下看。
(4).这一步和网上说的一样,摘抄一段grub rescue下支持的命令:
- set 设置环境变量
- ls 查看设备
- insmod 加载模块
- root 指定用于启动系统的分区
- prefix 设定grub启动路径
用ls先看看有哪些分区, 然后用ls (hd0, x)/grub2看哪一个不会再提示unknown filesystem.这里x表示ls出来的分区msdos后面跟的数字,hd0是指只有一块硬盘的情况,如果装到第二块硬盘上可能就要hd1了。
(5).假设是(hd0, y)是找到的分区。和网文大致一样:
- set root=(hd0, y)
- set prefix=(hd0,y)/grub2
- insmod /i386-pc/normal
- normal
关键在于第三步, 和网文的路径完全不一样,如果不成功,用绝对路径 insmod (hd0,y)/grub2/i386-pc/normal, 万无一失。
(6).这时候熟悉的grub引导终于出现了,还等什么,赶紧选linux进去( •̀ ω •́ )✧
假如这时候你重启了,那么恭喜你,上面的工作你得再来一遍。如果你的手没那么快,那么使用root权限,在shell里打grub2-install /dev/sda
(7) 重启, OVER
参考列表: