更新后,获取“错误:找不到文件。”后跟“grub rescue> _”
我刚刚安装了很多12.10更新,提示重启,然后发现我无法启动。
使用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了解更多详情
- 输入
ls
以获取分区列表 - 输入
set prefix=(hd0,msdos6)/boot/grub
[你几乎肯定要在括号中输入不同的驱动器/分区,你可能只需要尝试ls
列出的所有驱动器/分区,直到找到有效的那个。 - 输入
insmod normal
- 键入
normal
,您将获得引导提示!
另请参阅: 我发现这个的有用位置。 我怀疑这对每个遇到这个错误的人都有用,但是我把它放在这里希望能帮助别人。
一旦你加载了Ubuntu,尽快运行sudo grub-install /dev/sda
和sudo update-grub
。 这意味着每次启动计算机时都不必执行上述繁琐的过程。
我有完全相同的问题 – normal.mod not found
,启动分区的ls
会产生一个空行。 经过一周的故障排除以使系统正常启动,这是我经历的步骤。
-
得到了SuperGrub的副本并创建了启动CD。 我现在可以重新登录我的系统了。 得到了BootRepair的副本,并且没有运气让系统直接从硬盘启动并且不得不继续使用CD。 BootRepair确实有点奇怪,因为Grub位置和Grub选项都显示为灰色。 它确实报告了成功安装。
-
硬盘最初设置:
sda1 ext4 root with boot
sda2 linux swap
sda3 ext4 used as a spare drive
(保存虚拟机的VM)。 -
使用了Ubuntu 10.10 live cd的副本。 跑了 收缩
sda1
分区并在驱动器前面创建sda4
ext4引导分区,并在从/
删除引导目录后将挂载点设置为/boot
。 BootRepair现在有可用的选项。 安装在启动分区上,现在可以从硬盘启动。 -
好奇,我决定进一步调查。 启动修复日志有一个特殊的条目,我的
sda1
ext4分区,它被报告为DOS
并有一个短的8字符UUID而不是blkid报告的UUID。grub-probe
将文件系统报告为vfat。 -
经过许多其他试验后,我清除了
sda1
分区记录的前440个字节。Grub-probe
现在将文件系统报告为ext2。 Ranupdate-grub
和sda1
分区的正确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长笛。