更新后,出现“错误:未找到文件。”,然后出现“grub rescue> _”

更新后,出现“错误:未找到文件。”,然后出现“grub rescue> _”

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

答案1

使用 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更多细节

答案2

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

也可以看看:我发现这个有用的地方。我怀疑这是否对遇到此错误的每个人都有用,但我把它放在这里,希望它能对某些人有所帮助。

加载完 Ubuntu 后,尽快运行sudo grub-install /dev/sdasudo update-grub这意味着您不必在每次启动机器时都执行上述繁琐的过程。

答案3

我遇到了完全相同的问题 -normal.mod not found启动ls分区会产生一个空白行。经过一周的故障排除,系统才能正常启动,下面是我执行的步骤。

  1. 有一份超级Grub并创建了启动 CD。现在我可以重新登录我的系统了。获得了启动修复无法让系统直接从硬盘启动,只能继续使用 CD。BootRepair 的行为确实有点奇怪,因为 Grub 位置和 Grub 选项都变灰了。它确实报告了安装成功。

  2. 硬盘最初设置如下:(
    sda1 ext4 root with boot
    sda2 linux swap
    sda3 ext4 used as a spare drive用于存放虚拟盒的虚拟机)。

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

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

  5. 经过多次尝试后,我清除了分区记录的前 440 个字节sda1Grub-probe现在报告文件系统为 ext2。运行后update-grub,出现了分区的正确 UUID sda1

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

答案4

我在升级到 Kubuntu 13.10 时遇到了这个错误。在 dist-upgrade 期间,我把一个记忆棒插入了 USB 端口。重启后,我直接进入 Grub Rescue。拔下 USB 驱动器并重启后问题就解决了。

相关内容