grub 中的 insmod 错误:未找到符号:grub_realidt

grub 中的 insmod 错误:未找到符号:grub_realidt

我有一台双启动 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
    

    然后重新启动。

相关内容