我刚刚安装了相当多的12.10更新,被提示重新启动,然后发现无法启动。
答案1
使用 Boot Repair 来修复你的引导加载程序。
- 从 LiveCD 或 Live USB 启动 Ubuntu
- 连接到互联网
打开终端,并添加 Boot Repair PPA
sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
安装启动修复
sudo apt-get install -y boot-repair && boot-repair
启动并使用,请参阅https://help.ubuntu.com/community/Boot-Repair#Using_Boot-Repair更多细节
答案2
- 输入
ls
以获取分区列表 - 输入
set prefix=(hd0,msdos6)/boot/grub
[您几乎肯定必须在括号中输入不同的驱动器/分区,您可能只需要尝试列出的所有驱动器/分区,ls
直到找到有效的那个。 - 类型
insmod normal
- 输入
normal
后你就会得到启动提示!
也可以看看:我发现这个有用的地方。我怀疑这是否对遇到此错误的每个人都有用,但我把它放在这里,希望它能对某些人有所帮助。
加载完 Ubuntu 后,尽快运行sudo grub-install /dev/sda
。sudo update-grub
这意味着您不必在每次启动机器时都执行上述繁琐的过程。
答案3
我遇到了完全相同的问题 -normal.mod not found
启动ls
分区会产生一个空白行。经过一周的故障排除,系统才能正常启动,下面是我执行的步骤。
有一份超级Grub并创建了启动 CD。现在我可以重新登录我的系统了。获得了启动修复无法让系统直接从硬盘启动,只能继续使用 CD。BootRepair 的行为确实有点奇怪,因为 Grub 位置和 Grub 选项都变灰了。它确实报告了安装成功。
硬盘最初设置如下:(
sda1 ext4 root with boot
sda2 linux swap
sda3 ext4 used as a spare drive
用于存放虚拟盒的虚拟机)。使用 Ubuntu 10.10 live cd 的副本。运行分区缩小分区并在驱动器前面
sda1
创建ext4 启动分区,并在从 中删除启动目录后将挂载点设置为。BootRepair 现在有可用的选项。安装在启动分区上,现在可以从硬盘驱动器启动。sda4
/boot
/
出于好奇,我决定进一步调查。启动修复日志中有一个关于我的
sda1
ext4 分区的特殊条目,它被报告为DOS
并且有一个简短的 8 个字符的 UUID,而不是 blkid 报告的 UUID。grub-probe
报告文件系统为 vfat。经过多次尝试后,我清除了分区记录的前 440 个字节
sda1
。Grub-probe
现在报告文件系统为 ext2。运行后update-grub
,出现了分区的正确 UUIDsda1
。
该问题似乎有两个方面:
1. 它似乎影响分区记录引用 msdos 的安装。2
.grub-probe
不尝试解决 fs 类型和分区记录中的内容之间的不匹配问题。
答案4
我在升级到 Kubuntu 13.10 时遇到了这个错误。在 dist-upgrade 期间,我把一个记忆棒插入了 USB 端口。重启后,我直接进入 Grub Rescue。拔下 USB 驱动器并重启后问题就解决了。