I have a dual boot setup with:
- A fresh installation of Arch Linux (manual) on a SATA HDD
- Windows 11 installed on an NVMe M.2 SSD
Grub is installed on the HDD, and both operating systems are installed in UEFI mode.
My boot order is:
- SATA HDD (Grub, Arch)
- NVMe SSD (Windows Boot Manager, Windows 11)
- USB (Ventoy)
When I boot directly into Windows from the UEFI/BIOS and upon reboot into default boot, GRUB can successfully chainload Windows from the NVMe drive.
However, upon booting into Arch, rebooting, and selecting Windows from the GRUB menu, GRUB fails to chainload with the following error:
error: no such device: 72BE-12C2
error: file 'EFI/Microsoft/Boot/bootmgfw.efi' not found
In the GRUB shell, ls does not list the NVMe SSD at all. From what I have gathered, this means GRUB loses any visibility of the NVMe device after Arch is booted; however, I may be mistaken.
I have tried:
- Mounting
/dev/nvme0n1p1to/boot/windowsand runningos-probeand thengrub-mkconfig -o /boot/grub/grub.cfgwhich both successfully state that/dev/nvme0n1p1@/efi/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efihas been found and in turn added to the boot list. - Manual GRUB entry
- Verifying the correct UUID via
lsblk -fwhich returns
├─nvme0n1p1 vfat FAT32 72BE-12C2
- I have ensured that Fast Startup is disabled on Windows.
- Both OSes are using UEFI
- Arch is not mounting or modifying the EFI partition
sudo update-grub, a nice and convenient script. You need to find the equivalent for Arch.however, I may be mistakenI don't think you are. I suppose it comes back when you do a "cold reboot"? (Like shutdown and power on instead of just "reboot")? See if there are UEFI and SSD firmware updates for your devices. Also see if disabling "fast boot" and anything alike in the UEFI firmware setting (i.e. NOT Windows Fast Startup) helps. (You may also consider filing a kernel bug report, but...)