如何从 grub 重命名问题中恢复?

如何从 grub 重命名问题中恢复?

我目前正在使用 grub 1.98 作为引导加载程序,双启动 Ubuntu 10.04 和 Windows 7。

我最近决定编辑 grub 菜单以删除旧的 Ubuntu 内核,因此我遵循了本指南并将该行添加list='version_find_latest $list'到 10_linux 文件中,然后运行 ​​sudo update-grub。显然我犯了一个错误,因为重新启动后我有这些引导加载程序条目:

Ubuntu, with Linux $list
Ubuntu, with Linux $list (recovery mode) 
Ubuntu, with Linux version_find_latest
Ubuntu, with Linux version_find_latest (recovery mode)

当我尝试加载其中任何一个时,都会出现 grub 错误:

错误:不是常规文件

现在我无法启动任何版本的 Ubuntu 来删除我添加的行。要再次使用 Ubuntu,最好的做法是什么?谢谢。

答案1

与任何 Grub 错误一样,实际上有两种选择:

  1. 从具有可用引导加载程序/启动菜单的其他设备启动某个版本的 Linux。最简单的方法可能是 LiveCD 或 LiveUSB(如果有)。

    启动到其他 Linux 系统后,您可以修复 Grub 安装。这可能需要chroot 到损坏的安装、修复 Grub 脚本以及运行 Grub 命令(更新 grub或类似方法),或者简单地编辑损坏的安装grub配置文件直接存档。(记住对grub配置文件下次将被覆盖更新 grub已运行。

  2. 如果您可以进入 Grub 菜单,即使它坏了,您也可以尝试编辑启动项或使用命令行进行启动。这有点复杂,但如果你知道启动项应该是什么样子,你可以尝试编辑它们以删除阻止它们启动的所有内容。

    按下E启动菜单项可查看和编辑该条目中的命令列表。错误可能很明显;只需修复它,Esc返回菜单,然后按下Enter以尝试。您的编辑不会是永久性的,因此如果您确实设法修复它并启动系统,请确保通过修复 Grub 脚本并生成新的脚本来使修复永久生效grub配置文件

我通常会尝试选项 2,并将选项 1 作为最后的手段。但我已经尝试了足够多,我对这两种方法都相当满意。如果您对 Grub 还不熟悉,LiveCD 选项可能是更简单的选择。

相关内容