两个带有 Grub2 的 EFI 磁盘

两个带有 Grub2 的 EFI 磁盘

我买了两个 SSD 磁盘,像往常一样,我认为在完全独立的磁盘上安装 Windows 将是最简单的解决方案,但我找不到任何使用 grub2 (efi) 进行双引导的教程。所有教程均假定一个 EFI 启动分区。

仅使用:

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

给我无效的 EFI 路径。

什么是正确的配置?

答案1

您是否在 GPT 分区上安装了 Windows?如果我理解正确的话,你正在尝试就像我昨天做的那样

我遇到了同样的错误,因为使用 EFI,您不会提供chainloader要读取的扇区数,而是提供 Windows 启动文件的路径。

chainloader /efi/Microsoft/Boot/bootmgfw.efi

您的根目录应设置为 Windows 创建的 EFI 系统分区。您还可以通过 GUID 设置根目录,而不是(hdX,Y)使用search --fs-uuid --set=root.用于指定 GUID 的附加参数可以通过以下方式找到

grub-probe --target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

(假设您的 EFI 分区已挂载到/boot,如果您将其挂载到其他位置,请相应地更改路径。)

答案2

这来自超级用户:

menuentry "Other Disk" {
    insmod part_msdos
    set root='(hd1)'
    drivemap -s hd0 hd1
    chainloader (hd1)+1
}

此特定示例用于弹射到另一个磁盘以引导保存 GRUB1 的 MBR。因此,它需要针对您的特定示例进行一些重写。但抛出 GRUB2 来引导另一个磁盘似乎是要走的路。您set root=(hd1,1)希望首先找到引导加载程序分割第二个磁盘的。

答案3

我已经放弃了这个,我正在使用 BIOS 启动选择器进行双启动。

答案4

就目前我所记得的

  1. Windows现在有2种安装模式:MBR和GPT,UEFI只能使用第二种,所以你必须确保硬盘格式化为GPT;这个分区结构很可能就是你提到的“UEFI模式”
  2. Grub2 软件包中的 OS-Prober 必须能够定位 Windows(还不是 Win8)并将其单独包含到启动菜单中

也许你没有正确安装Windows,所以Grub自然找不到它

相关内容