更新后,获取“错误:找不到文件。”后跟“grub rescue> _”

我刚刚安装了很多12.10更新,提示重启,然后发现我无法启动。

使用Boot Repair修复引导加载程序。

  1. 从LiveCD或Live USB启动Ubuntu
  2. 连接到互联网
  3. 打开终端,然后添加Boot Repair PPA

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update

  4. 安装启动修复

    sudo apt-get install -y boot-repair && boot-repair

  5. 启动和使用,请参阅https://help.ubuntu.com/community/Boot-Repair#Using_Boot-Repair了解更多详情

  1. 输入ls以获取分区列表
  2. 输入set prefix=(hd0,msdos6)/boot/grub [你几乎肯定要在括号中输入不同的驱动器/分区,你可能只需要尝试ls列出的所有驱动器/分区,直到找到有效的那个。
  3. 输入insmod normal
  4. 键入normal ,您将获得引导提示!

另请参阅: 我发现这个的有用位置。 我怀疑这对每个遇到这个错误的人都有用,但是我把它放在这里希望能帮助别人。

一旦你加载了Ubuntu,尽快运行sudo grub-install /dev/sdasudo update-grub 。 这意味着每次启动计算机时都不必执行上述繁琐的过程。

我有完全相同的问题 – normal.mod not found ,启动分区的ls会产生一个空行。 经过一周的故障排除以使系统正常启动,这是我经历的步骤。

  1. 得到了SuperGrub的副本并创建了启动CD。 我现在可以重新登录我的系统了。 得到了BootRepair的副本,并且没有运气让系统直接从硬盘启动并且不得不继续使用CD。 BootRepair确实有点奇怪,因为Grub位置和Grub选项都显示为灰色。 它确实报告了成功安装。

  2. 硬盘最初设置:
    sda1 ext4 root with boot
    sda2 linux swap
    sda3 ext4 used as a spare drive (保存虚拟机的VM)。

  3. 使用了Ubuntu 10.10 live cd的副本。 跑了 安装gparted 收缩sda1分区并在驱动器前面创建sda4 ext4引导分区,并在从/删除引导目录后将挂载点设置为/boot 。 BootRepair现在有可用的选项。 安装在启动分区上,现在可以从硬盘启动。

  4. 好奇,我决定进一步调查。 启动修复日志有一个特殊的条目,我的sda1 ext4分区,它被报告为DOS并有一个短的8字符UUID而不是blkid报告的UUID。 grub-probe将文件系统报告为vfat。

  5. 经过许多其他试验后,我清除了sda1分区记录的前440个字节。 Grub-probe现在将文件系统报告为ext2。 Ran update-grubsda1分区的正确UUID出现。

问题似乎有两方面:
1.它似乎影响分区记录引用msdos的安装。
2. grub-probe不会尝试解决分区记录中fs类型和内容之间的不匹配问题。

另一件要检查的是BIOS中的启动顺序。 我显然已经在我的所有磁盘上安装了grub(可能是在跟随8128的回答之后),但是在更新我的Linux发行版(Debian)时这已经破了。 在我的Linux操作系统修复它时更改第一个启动磁盘。

我遇到了这个错误升级到Kubuntu 13.10。 我在dist-upgrade期间将记忆棒插入USB端口。 重新启动后,我直接去了Grub Rescue。 拔下USB驱动器并重新启动修复了问题。

在我的情况下,我降级到GRUBv1并且在升级到12.10之后grub2无法找到他的文件(* .mod等等),尽管grub.cfg在那里。

我找到了一本关于grub救援的更全面的手册: https : //help.ubuntu.com/community/Grub2/Troubleshooting#grub_rescue.3E-1

另请参阅页面开头的命令列表。 Thx长笛。