错误原因
任何对于主引导记录(MBR)的修改都可能会让 GRUB 找不到文件位置
通常有以下几种情况
- Windows更新
- 修改分区
- Ghost安装与卸载
- Ubuntu更新
解决方法适用范围
本方法,适用于利用GRUB作为开机引导方式,即利用GRUB来选择是从那个系统启动,这种方法适用于大多数用户。
easyBSD方式仅作参考,谨慎操作!!
解决方法
开机启动是停到如下位置:
1 | grub rescue > |
第一步
找出你的Linux的/boot在哪那个分区以及grub目录的位置
1 | grub rescue > ls |
回车后,ls命令会显示出所有磁盘分区,如:
hd(0,4),(hd0,6),(hd0,7)
依次使用如下命令,直至显示该分区目录下的信息无错误。
1 | grub rescue > ls (hd0,0)/boot/grub |
比如假设我们试到(hd0,6)时,成功显示了文件内容,则表示这个是linux的boot分区。
第二步:
设置引导位置
1 | grub rescue > set root=(hd0,6) |
第三步:
加载
1 | grub rescue > insmod normal |
此时,应该退出了grub rescue模式,进入了grub启动模式
第四步:
修复grub,进入Linux系统后,在终端命令行里,输入
1 | sudo update-grub |
第五步
把Grub安装到你的启动磁盘,注意:不加数字,也不一定是sda,可以用df命令查看一下
1 | sudo grub-install /dev/sda |
重启一下,看看是否已修复好了^_^。