如何在 EFI 模式下使用 GRUB 启动以传统模式安装的 Windows 8?

如何在 EFI 模式下使用 GRUB 启动以传统模式安装的 Windows 8?

这个问题与此相关: 如何通过 GRUB 以 UEFI 模式从旧式 MBR 分区启动 Windows 8? 但是我无法再访问 Windows,所以我无法运行 bcdboot。

这是我的分区表:

Device     Boot      Start        End    Sectors   Size Id Type
/dev/sda1  *          2048     718847     716800   350M  7 HPFS/NTFS/exFAT
/dev/sda2           718848 1024718847 1024000000 488,3G  7 HPFS/NTFS/exFAT
/dev/sda3       1024718848 1953523711  928804864 442,9G  7 HPFS/NTFS/exFAT

Device       Start        End    Sectors   Size Type
/dev/sdb1     2048     411647     409600   200M EFI System
/dev/sdb2   411648    1435647    1024000   500M Linux filesystem
/dev/sdb3  1435648 1953392639 1951956992 930,8G Linux LVM

如您所见,Linux 安装在 上,/dev/sdb而 Windows 安装在 上/dev/sda。奇怪的是,在我的/dev/sda1分区上有文件指出 Windows 是在 EFI 模式下安装的,但我确信它是在传统模式下启动的:

[guilherme@localhost cd]$ ls
Boot
bootmgr
bootmgr.{2dda62ae-3a9a-437d-a4dc-91a8897a08f4}
bootmgr.{59f99938-b78c-4ea7-beb4-80d69b0e4d5a}
bootmgr.{5e47a1b8-c32d-4182-97bf-754ab31c49b6}
bootmgr.{65df4810-28ab-4ba3-af0d-1429e2cbce48}
bootmgr.{71232d0b-14dd-47fc-b994-a97fc3fa8aa0}
bootmgr.{805becd8-9a2c-4fa1-b68b-d37348bc1cf9}
bootmgr.{88d40ee7-11a2-48ca-a70d-bfe097964c23}
bootmgr.{9c912ab9-44d4-453a-96c2-871a59bb40e4}
bootmgr.{9caa1b36-3160-4465-aeb9-66aa0bfe89ed}
bootmgr.{c83dc42a-f3f7-4c2e-82da-dd9f86fb09de}
bootmgr.{d302ed49-4e51-4504-acfb-09b83ecf85bc}
bootmgr.{e9a38883-db69-4802-9f12-fcdce2549103}
BOOTNXT
BOOTSECT.BAK
EFI
Recovery
Sem título 1.ods
System Volume Information
$WINDOWS.~BT

这也是我在 grub 上为 Windows 设置的菜单项:

menuentry "Windows" {
        insmod part_msdos
        insmod ntfs
        insmod search_fs_uuid
        insmod chain
        set root='hd0,msdos0'
        if [ x$feature_platform_search_hint = xy ]; then
         search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos0 --hint-efi=hd0,msdos0 --hint-baremetal=ahci0,msdos0  CAF89785F8976E87
        else
         search --no-floppy --fs-uuid --set=root CAF89785F8976E87
        fi
        chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

这是 blkid 的输出:

[guilherme@localhost linux64]$ sudo blkid
/dev/sda1: LABEL="System" UUID="CAF89785F8976E87" TYPE="ntfs" PARTUUID="f4e2ee09-01"
/dev/sda2: LABEL="Windows" UUID="01CEE56765B47300" TYPE="ntfs" PARTUUID="f4e2ee09-02"
/dev/sda3: LABEL="Arquivos" UUID="4CCADB1B2E48AE5A" TYPE="ntfs" PARTUUID="f4e2ee09-03"
/dev/sdb1: SEC_TYPE="msdos" UUID="0BC9-184B" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="71e36a80-82a9-4383-a7ae-e7055f01a890"
/dev/sdb2: UUID="fb4388c1-cda6-487e-b35c-dd55126a643d" TYPE="ext4" PARTUUID="ebca8d0a-7b68-4ba7-b7ff-8544e19faebf"
/dev/sdb3: UUID="5ryZ4u-CNXU-dK7h-3gt8-Vgqm-uymx-0bQJfD" TYPE="LVM2_member" PARTUUID="c396453d-bfa1-4220-8bcf-a985e1f72f6b"
/dev/mapper/fedora-root: UUID="f37a787f-291c-4e57-b618-d22bced80384" TYPE="ext4"
/dev/mapper/fedora-swap: UUID="9cccdc41-27cb-400e-b6fc-890cfd0e0e1e" TYPE="swap"
/dev/mapper/fedora-home: UUID="716e87e0-8af7-4e77-8d3c-03c1dd522396" TYPE="ext4"
/dev/loop0: UUID="bdc881c3-673d-43d9-9425-cdbd304217ff" TYPE="ext4"
/dev/mapper/docker-253:0-11272198-pool: UUID="bdc881c3-673d-43d9-9425-cdbd304217ff" TYPE="ext4"

相关内容