我在单独的硬盘上安装了 Windows 7,在另一个硬盘上安装了 Debian。安装 Windows 7 后,我的 grub 没有出现,所以我使用 Ubuntu Live CD 进行启动修复来修复我的 grub2 安装。一切顺利,但重新启动后,它直接启动到 Windows 7,没有出现 grub。
就像我说的,我有两个硬盘,一个装有 Windows 7 (sda),另一个装有 Debian (sdb)。我按照启动修复过程在 sdb 上安装了 grub2,但它不起作用。有什么想法我应该怎么做吗?
答案1
进入 BIOS 设置并更改启动顺序,使sdb
驱动器首先启动。
答案2
我本来想把这个写成评论,但太长了。我不确定这是解决方案还是猜测,但还是说一下...
我猜你已经在 sdb 上安装了 grub,但你正在从 sda 启动。安装 grub 时,你需要做两件事:1. 在由 BIOS 设置为启动的驱动器的主引导记录 (MBR) 中安装一些东西。这是你系统上的 sda。这个磁盘的 MBR 显然只有 Windows 引导加载程序,而不是 grub。2. 告诉这个引导加载程序在哪里找到 grub 菜单文件,通常位于/boot/grub/grub.cfg
安装的最后一个 Linux 分区中。请注意,如果 MBR 代码不知道在哪里查找,menu.lst 中的内容根本无关紧要,因为它永远不会被看到。
修复此问题最简单的方法是下载并刻录名为 Super Grub Disk 的 Live CD。您可以在 askubuntu 上找到很多讨论,但我认为这些讨论非常直观。
另一种方法是使用命令行,然后运行 grub-install,告诉它将 MBR 代码放在哪里;您需要安装磁盘才能执行此操作,然后从实时 CD 运行它。命令将类似于:您需要为 sudo grub-install --root-directory=/location of root directory /dev/sda
grub.cfg 文件指定发行版根目录的正确位置,除非它在实时系统上运行(我从未尝试过,但这可能是可行的,尽管可能不推荐)。如果您想走这条路,我相信您可以找到分步说明。
一旦 MBR 设置完毕,您就可以运行sudo update-grub
来更新菜单文件。
您还可以使用 BIOS 设置来选择要启动的操作系统,方法是选择磁盘 1 或磁盘 2。这应该可行,但我发现从长远来看这是有问题的,因为 grub 最终会被错误地安装在磁盘 1 上。