![Grub 与多种操作系统](https://linux22.com/image/1051293/Grub%20%E4%B8%8E%E5%A4%9A%E7%A7%8D%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.png)
我最近在一台使用了 10 年的台式机上安装了 Ubuntu 14.04.02,只是为了做点事情,而且手头还有一块闲置的硬盘,所以我决定在第二个硬盘上单独安装 Turnkey Linux Fileserver(我想如果我想要一个文件服务器,我会想要更多的空间和一个更新的硬盘)。我运行了一会儿服务器,它在系统上安装了它自己的 Grub。Ubuntu 不是引导加载程序上的选项,因此为了返回 Ubuntu,我尝试取出新硬盘,但在戴尔屏幕之后,它直接进入 Grub 救援模式。我听从了其他一些建议,重新安装了硬盘,并从 Turnkey CLI 使用“sudo apt-get purge grub-PC”,之后,我直接进入 Grub 救援模式,没有机会启动到 Turnkey。问题可能是 Grub 安装在与 Ubuntu 不同的硬盘上吗?另一件事是,我清除了 grub、grub-legacy 和 grub-PC(只有 grub-PC 能用),但在这里它却弄乱了我的启动。是的,在安装 Turnkey 时,我小心翼翼地没有清除 Ubuntu。
答案1
在基于 BIOS 的计算机上(您的 10 年前的系统几乎肯定是这样的),引导加载程序会安装到主引导记录 (MBR)硬盘的——也就是它的第一个扇区。注意单数:引导加载程序。无论哪个引导加载程序驻留在 MBR 中,它都会控制引导过程。
如果您有多个磁盘,情况会变得更加复杂,因为每个磁盘都有自己的 MBR。理论上,您可以在一个磁盘的 MBR 中安装一个引导加载程序,在另一个磁盘的 MBR 中安装另一个引导加载程序,然后使用 BIOS 的内置引导管理器在它们之间切换。但实际上,以这种方式设置需要知道如何操作或运气。我怀疑您的 Turnkey Linux 版本的 GRUB 覆盖了第一个硬盘上的 Ubuntu 版本的 GRUB,而第二个磁盘未受影响。
针对这个问题至少有两个相当简单的解决方案:
- 准备一个超级 GRUB 2 磁盘并从中启动。幸运的话,这将为您提供一个菜单,使您可以启动 Ubuntu 或 Turnkey。启动到 Ubuntu,打开终端窗口,然后
sudo grub-install /dev/sda
键入sudo update-grub
。 - 跑过引导修复可以从任何可以启动的紧急磁盘启动工具。(Ubuntu 安装实用程序应该可以工作。)这将重新安装 GRUB 并进行设置。
理想情况下,这两种方法都可以检测到您的 Ubuntu 和 Turnkey 安装,并让它们都启动。实际上,可能一种可以工作,另一种不行;或者甚至两种都行不通。您只需尝试一种,如果不行,再尝试另一种。在最坏的情况下,您可能需要深入研究 GRUB 的“内部”,这并不好;但请先尝试这些更简单的修复方法。按照您喜欢的顺序尝试它们,如果一种可以工作,就不要尝试另一种,遵循“如果它没坏,就不要修复它”的原则。
答案2
您可以使用启动修复CD 来恢复您的 Ubuntu GRUB。