在新硬盘上重新安装了 Windows 7,在旧硬盘上的以前的 Windows 7 上安装了 Linux,如何实现双重启动?

在新硬盘上重新安装了 Windows 7,在旧硬盘上的以前的 Windows 7 上安装了 Linux,如何实现双重启动?

我在新硬盘上重新安装了 Windows 7,并在旧硬盘上安装了 Linux,覆盖了之前的 Windows 7。如何进行双启动?

看来我覆盖了原始硬盘中的 Windows 引导扇区,该引导扇区能够重定向到新硬盘(新 Windows 所在的位置)。

我是否需要在具有 NTFS 文件系统的新硬盘上创建某种 Windows 引导扇区,或者我可以将 GRUB2 引导加载程序直接引导到安装了 Windows 的硬盘上?如果是,我该怎么做?

更新:这不是如何使用 GRUB2 的问题。Windows 7 HDD 似乎缺少某些东西。我使用 Windows 安装 DVD 及其命令提示符将 MBR 设置为 NTFS HDD bootsect /nt60 all,然后从 BIOS 直接进入该 HDD。它抱怨磁盘没有引导加载程序。我认为即使我设置了 GRUB 链,它也不会起作用。

答案1

GRUB 支持一种称为链式加载,它会转到另一个现有的引导加载程序。这里必须采用这种风格,因为 GRUB 不知道如何引导 Windows,而据我所知,Windows 不支持多重引导。

如果您使用的是 GRUB Legacy:

  1. 打开文件/boot/grub/menu.lst
  2. 添加以下文本:

    title Windows 7
    root (hdx,y)
    makeactive
    chainloader +1
    

对于 GRUB 2:

  1. 打开文件/etc/default/grub
  2. 添加以下行:

    menuentry "Windows 7" {
    set root=(hdx,y)
    chainloader +1
    }
    

无论哪种方式,请将 替换x为您的硬盘驱动器号,并将 替换y为 Windows 7 的分区号​​。要找到它,请打开分区编辑器(如 GParted)。

作为参考,硬盘编号分区号从 0 开始。例如:

  • 第一个硬盘,第二个分区 => (hd0, 1)
  • 第二块硬盘,第一个分区 => (hd1, 0)
  • 第九块硬盘,第二十二个分区 => (hd8, 21)
  • ETC。

答案2

您应该能够使用 BIOS 启动选择菜单来选择要启动的驱动器。这通常可以通过在启动时选择 F2/F10/F12/ESC 等键来访问。这样做的好处是每个操作系统都有自己的 Bootloader。

相关内容