Linux 系统引导失败,出现 grub rescue 恢复界面
grub rescue >_
今天 给客户win10系统分区完,重启一下。然后就直接进入下面这个界面,提示找不到系统文件了。对了,补充一下这个是电脑是win10和国产麒麟双系统。找了半天资料,双系统调整分区或者其他原因就是容易出现这个问题。复盘一下解决过程吧!
原因分析
造成该问题的原因可能有:
1、对硬盘进行分区、修改使硬盘分区发生变化
2、重装系统时选择了不同分区
3、格式化了 Linux 分区
其中,第 1、2 点原因造成的引导丢失比较容易修复,第 3 点原因造成的引导丢失无法修复。
恢复步骤
1、列出硬盘分区
首先,使用 ls 命令列出所有分区:
grub rescue> ls
系统会显示出硬盘的所有分区,例如:
(hd0),(hd0,gpt0),(hd0,gpt1),(hd0,gpt2),(hd0,gpt3),(hd0,gpt4),cd0
2、找到 grub 文件夹所在分区
如果系统的「/boot」文件夹没有单独分区(大多数人应该是如此),那么使用 ls (X,Y)/boot/grub 命令浏览所有分区,其中 X 代表硬盘号,Y 代表分区号,如:
grub rescue> ls (hd0,gpt3)/boot/grub
如果系统没有报错,显示出了文件夹下面的文件,那么该分区就是我们要找的分区,记下硬盘号和分区号。
同样的,如果系统的「/boot」文件夹单独为一个分区或者上一条指令没有找到需要的分区,则使用 ls (X,Y)/grub 命令,其中 X 代表硬盘号,Y 代表分区号。如:
grub rescue> ls (hd0,gpt3)/grub
3、设置 grub 启动位置
设置 grub 启动的分区和文件夹,如:
grub rescue> set root=(hd0,gpt3)
grub rescue> set prefix=(hd0,gpt3)/boot/grub
其中的硬盘号和分区号需要自行确定;grub 安装位置也需要自行确定,即第二行中,/boot/grub 根据需求替换为 /grub。
4、设置 grub 进入正常模式
通过以下命令,进入正常模式:
grub rescue> insmod normal
grub rescue> normal
至此,grub 由恢复模式进入了正常模式,丢失的启动菜单应该能正常显示了,可以通过 grub 引导至系统。
5、更新 grub 引导
如果此时重启,问题依旧存在。所以我们进入 Linux 系统后,需要马上更新 grub 引导,对 grub 进行修复。在进入 Linux 系统后,在终端执行:
$ sudo update-grub
$ sudo grub-install /dev/sda
至此,你可以重新启动,进入正常的引导界面了,丢失的引导就修复回来了。