我有一台双启动 PC,装有 Windows 7 和 Ubuntu。我从 12.04 升级到 12.10,然后又升级到 13.04,从那时起我就无法启动了,因为 PC 进入 grub 救援并显示错误“文件未找到”。
我已尝试以下步骤:
set prefix=(hd0,msdos5)/usr/lib/grub/i386-pc
set root=(hd0,msdos5)
insmod linux
我收到错误:
symbol not found : 'grub_realidt'.
如果我执行 insmod normal,则会出错
symbol not found : 'grub_disk_dev_list'
我有两个包含 Linux 文件系统的分区:(hd0,msdos5) 和 (hd0,msdos6)。它们分别是 / 和 /boot 的挂载点。
我搜索过这个错误,并找到了一些“已解决”的线程。但它们都使用 Live USB 进入 grub 提示符。我没有权限访问,并希望能够在没有闪存驱动器的情况下解决问题。
请帮忙...提前致谢。
答案1
从故障处理准备应该可以从命令行修复此问题。但是我发现的命令与问题中的命令略有不同。所以...
做一个
ls (hd0,msdos5)/ ls (hd0,msdos6)/
如果您看到,
grub
则将set prefix="(hd0,msdos5)/grub"
5 更改为正确的数字。如果你看到了,
boot
那么set prefix="(hd0,msdos5)/boot/grub" set root="(hd0,msdos5)"
其中 5 需要更改为正确的数字。
更改前缀后,您需要执行
insmod normal normal
然后重新启动。