Trying to dual-boot a Dell laptop. I have GRUB2 installed which boots Linux fine. However, when I try to boot Windows ("Windows Boot Manager" menu item in the GRUB2 menu) then the screen just goes black and no activity occurs. However, if I boot into UEFI/"BIOS" on poweron and select "Windows Boot Loader" from the boot menu in there Windows boots fine.
I have the following setup: - Dell XPS 13 (7390) - Linux 5.4.6-arch1-1 #1 SMP PREEMPT Sat, 21 Dec 2019 16:34:41 +0000 x86_64 GNU/Linux - os-prober 1.77-1 - grub 2:2.04-3 -Secure boot disabled -UEFI ONLY boot setting (Legacy/BIOS booting disabled) -Arch Linux installed in addition to Windows 10 The disk (only 1) looks like this: Device Start End Sectors Size Type /dev/nvme0n1p1 2048 1085439 1083392 529M Windows recovery environment /dev/nvme0n1p2 1085440 1290239 204800 100M EFI System /dev/nvme0n1p3 1290240 1323007 32768 16M Microsoft reserved /dev/nvme0n1p4 1323008 308760575 307437568 146.6G Microsoft basic data /dev/nvme0n1p5 308760576 728190975 419430400 200G Linux filesystem /dev/nvme0n1p6 728190976 2000409230 1272218255 606.7G Linux filesystem GRUB2 was installed using standard grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB and os-prober found Windows all-right ("Windows Boot Manager" shows up in GRUB2 menu.) grub.cfg was generated with grub-mkconfig -o /boot/grub/grub.cfg and the relevant grub.cfg section looks as follows: ### BEGIN /etc/grub.d/30_os-prober ### menuentry 'Windows Boot Manager (on /dev/nvme0n1p2)' --class windows --class os $menuentry_id_option 'osprober-efi-6261-199D' { insmod part_gpt insmod fat if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root 6261-199D else search --no-floppy --fs-uuid --set=root 6261-199D fi chainloader /efi/Microsoft/Boot/bootmgfw.efi } ### END /etc/grub.d/30_os-prober ### grub.cfg was not manually modified. "efibootmgr -v" shows the following output: BootCurrent: 0004 Timeout: 0 seconds BootOrder: 0004,0003,0000 Boot0000* UEFI KXG60ZNV1T02 NVMe TOSHIBA 1024GB 99GA22PBK3QL 1 PciRoot(0x0)/Pci(0x1d,0x4)/Pci(0x0,0x0)/NVMe(0x1,8C-E3-8E-03-00-20-84-29)/HD(2,GPT,950216ab-2bfb-4159-ad13-051bfb4c2311,0x109000,0x32000)/File(\EFI\Boot\BootX64.efi)N.....YM....R,Y. Boot0003* Windows Boot Manager HD(2,GPT,950216ab-2bfb-4159-ad13-051bfb4c2311,0x109000,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...a................ Boot0004* GRUB HD(2,GPT,950216ab-2bfb-4159-ad13-051bfb4c2311,0x109000,0x32000)/File(\EFI\GRUB\grubx64.efi) I turned on debug=all in GRUB2 before trying "Windows Boot Manager" entry and the output ends with the following (and it just sits there): commands/verifiers.c:88: file: /efi/Microsoft/Boot/bootmgfw.efi type: 29 disk/efi/efidisk.c:593: reading 0x40 sectors at the sector 0x10b180 from hd0 kern/disk.c:196: Opening "hd0,gpt2’,,, disk/efi/efidisk.c:482: opening hd0 disk/efi/efidisk.c:511;: m = Ox53d1f058, last block = 773bd2af, block size = 200, io align = 8 disk/efi/efidisk.c:531: opening hd0 suceeded partmap/gpt.c:90: Read a valid GPT header partmap/gpt.c:112: GPT entry 0: start=2048, length=1083392 partmap/gpt.c:112: GPT entry 1: start=1085440, length=204800 Any idea why GRUB2 seems to be unable to chainload Windows Boot Manager? Thanks!