TL;DR both Ubuntu and Windows boot fine from f8 and grub menu once upon a time. I decided to upgrade Win10 from slow HDD to SDD, and then Windows Boot Manager gave me two Win10 options. I reformatted the old HDD because I didn't need two win10, and that's when grub menu stop booting into Windows. Even so f8 menu still boots both OSes fine.
Not entirely sure how to explain my problem, I'll try my best. Been running Ubuntu 20.04 from a 1TB SSD for a few months, I decided to install Win10 on an old 500 GB HDD. I noticed the Win10 installer didn't create its own EFI on the HDD, but rather created its boot entry in the main 1TB SSD efi partition along with Ubuntu efi. Not sure if most people have one EFI partition per drive or per system, but either way Win10 installer didn't really have any options for this. Booted on Ubuntu to update the grub menu, and then a Windows Boot Manager menu item was added. Things worked great every menu item on grub worked fine.
Fast forward to now I installed a new Win10 on a new 1TB SSD, since the old HDD was too slow on boot and response. Things worked good, but on grub menu when I launched Windows Boot Manager I now had two Windows OS options. I decided to reformat the old HDD so when I selected Windows Boot Manager it would boot straight into the new Win10 rather than seeing two options.
That was a big mistake, now I could not boot into any Windows either from F8 boot options, or grub menu. I popped the installer to boot cmd prompt, then ran bootrec
commands and I was able to boot into Windows 10 with F8. Also if I put Windows Boot Manager as the first boot option, the new Win10 OS launches with no problems. I thought all things would be fixed by now. I put Ubuntu back to boot option 1, I select Windows Boot Manager from grub menu and Windows 10 boots fine only once, any subsequent tries gives me a blue screen of RECOVERY everytime about a device not found error code 0x000000e.
I've tried all kinds of things, efibootmgr, boot-repair, update-grub, I've look at the UUID and it seems to be correct for Windows Boot Manager.
The biggest question is that I don't know what's broke, windows boots fine, so it leads me to believe the grub menu is broken, but I thought grub just uses efi entries, but then I don't understand how Windows still boots fine.
bcdedit:
Windows Boot Manager
--------------------
identifier {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device partition=\Device\HarddiskVolume3
path \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
description Windows Boot Manager
locale en-US
default {d0fb23a8-0a09-11eb-9dac-82074bc046f4}
resumeobject {928ea8ee-0a01-11eb-8113-806e6f6e6963}
displayorder {d0fb23a8-0a09-11eb-9dac-82074bc046f4}
timeout 30
Windows Boot Loader
-------------------
identifier {d0fb23a8-0a09-11eb-9dac-82074bc046f4}
device partition=C:
path \Windows\system32\winload.efi
description Windows 10 Pro
locale en-US
recoverysequence {d0fb23a9-0a09-11eb-9dac-82074bc046f4}
recoveryenabled Yes
osdevice partition=C:
systemroot \Windows
resumeobject {928ea8ee-0a01-11eb-8113-806e6f6e6963}
bootmenupolicy Standard
efibootmgr:
~ ❯❯❯ efibootmgr -v
BootCurrent: 000C
Timeout: 1 seconds
BootOrder: 000C,0000,000D,0009,000A,0004,0005,0001,0002,0003
Boot0000* Windows Boot Manager HD(1,GPT,f00bcd52-36bd-4a75-9dc8-098d39d94539,0x800,0x100000)/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.}....................
Boot0001* UEFI:CD/DVD Drive BBS(129,,0x0)
Boot0002* UEFI:Removable Device BBS(130,,0x0)
Boot0003* UEFI:Network Device BBS(131,,0x0)
Boot0004 UEFI: PXE IP4 Intel(R) Ethernet Connection (7) I219-V PciRoot(0x0)/Pci(0x1f,0x6)/MAC(a85e45e7f8fa,0)/IPv4(0.0.0.00.0.0.0,0,0)..BO
Boot0005 UEFI: PXE IP6 Intel(R) Ethernet Connection (7) I219-V PciRoot(0x0)/Pci(0x1f,0x6)/MAC(a85e45e7f8fa,0)/IPv6([::]:<->[::]:,0,0)..BO
Boot0009 UEFI: PXE IP4 Intel(R) Ethernet Connection (7) I219-V PciRoot(0x0)/Pci(0x1f,0x6)/MAC(a85e45e7f8fa,0)/IPv4(0.0.0.00.0.0.0,0,0)..BO
Boot000A UEFI: PXE IP6 Intel(R) Ethernet Connection (7) I219-V PciRoot(0x0)/Pci(0x1f,0x6)/MAC(a85e45e7f8fa,0)/IPv6([::]:<->[::]:,0,0)..BO
Boot000C* ubuntu HD(1,GPT,f00bcd52-36bd-4a75-9dc8-098d39d94539,0x800,0x100000)/File(\EFI\UBUNTU\SHIMX64.EFI)
Boot000D* UEFI: PNY USB 2.0 FD 1100, Partition 1 PciRoot(0x0)/Pci(0x14,0x0)/USB(7,0)/HD(1,GPT,9ea75237-6b11-4b0b-ad58-54fe8ebe30ba,0x800,0x1df2edf)..BO
Both SSD drives info with lsblk:
Disk /dev/nvme1n1: 931.53 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Samsung SSD 970 EVO Plus 1TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: D38640D2-C120-4733-A4F8-9B4F1FFE7138
Device Start End Sectors Size Type
/dev/nvme1n1p1 2048 34815 32768 16M Microsoft reserved
/dev/nvme1n1p2 34816 1953523711 1953488896 931.5G Microsoft basic data
Disk /dev/nvme0n1: 931.53 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Sabrent Rocket Q
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 041DB30D-EAB3-460B-A8EC-F056C3B33024
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 1050623 1048576 512M EFI System
/dev/nvme0n1p2 1050624 1953523711 1952473088 931G Linux files
efi part info with blkid:
/dev/nvme0n1p1: UUID="8505-DD3A" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="f00bcd52-36bd-4a75-9dc8-098d39d94539