Unable to find Windows in a dual-boot setting in the GRUB loader

I previously installed EndeavourOS on my ASUS ROG Strix G17 (32 GB RAM, 1TB SSD factory installed, another 1TB SSD mounted externally) and it was working fine until I messed up with the configuration enough to go for a re-install. However, it seems like I had two EFI partitions (~200mb, ~500mb) and I chose the ~500mb partition for the /boot/efi flag during installation. I also went with manual installation where I selected 300gb freespace for the / partition.

Now, when I tried booting after install, I couldn’t find my Windows 10 option anywhere. At first, I thought it was me selecting the wrong boot loader maybe (I chose system-d), so I reinstalled everything again with the same settings but chose GRUB as my loader instead. Same problem.

Here’s the output for sudo-parted -l:

Model: INTEL SSDPEKNU010TZ (nvme)
Disk /dev/nvme0n1: 1024GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system     Name                          Flags
 1      1049kB  274MB   273MB   fat32           EFI system partition          bios_grub, no_automount
 2      274MB   290MB   16.8MB                  Microsoft reserved partition  msftres, no_automount
 3      290MB   674GB   674GB   ntfs            Basic data partition          msftdata
 4      674GB   675GB   538MB   fat32                                         boot, esp
 5      675GB   677GB   2147MB  linux-swap(v1)                                swap
 6      677GB   677GB   33.6MB                                                bios_grub
10      677GB   999GB   322GB   ext4
 7      999GB   1000GB  1101MB  ntfs            Basic data partition          hidden, diag, no_automount
 8      1000GB  1024GB  23.6GB  ntfs            Basic data partition          hidden, msftdata, no_automount
 9      1024GB  1024GB  210MB   fat32           Basic data partition          hidden, diag, no_automount


Model: CT1000P5PSSD8 (nvme)
Disk /dev/nvme1n1: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                          Flags
 1      17.4kB  16.8MB  16.8MB               Microsoft reserved partition  msftres
 2      16.8MB  430GB   429GB   ntfs         Basic data partition          msftdata
 3      430GB   1000GB  571GB   ext4

Running sudo os-prober returns nothing, I’ve also tried uncommenting the GRUB_DISABLE_OS_PROBER=false line but that doesn’t do anything either.

One thing I’d like to mention: I did try moving Windows Boot Loader up the hierarchy in my BIOS to see if I could boot into Win like that and it jumped straight to the endeavor system-d loader again.

Please let me know what can be done here, Thanks.

Is this the ESP from your Windows’ installation? If positive, it has wrong flags. It should be boot, esp on that as well.

However I am not sure if that is the real issue here.

Could you post the output of the following commands:

sudo blkid

efibootmgr

?

Also, why would you need:

?

1 Like

I’m not sure why a lot of those partitions exist the way they do, but here’s the output for the following commands:

  1. blkid:
/dev/nvme0n1p3: UUID="f4466876-3f9a-43fa-9001-0bdfedea575a" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="c97e550f-52cf-48b8-ba08-c6ced791be72"
/dev/nvme0n1p1: PARTLABEL="Microsoft reserved partition" PARTUUID="ac2a6687-21e5-4267-91f7-8601fef581e6"
/dev/nvme0n1p2: BLOCK_SIZE="512" UUID="0EB804930EB80493" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="9f823366-d8ad-11ed-af29-346f24be2650"
/dev/nvme1n1p4: LABEL_FATBOOT="NO_LABEL" LABEL="NO_LABEL" UUID="4CAA-243C" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="669717d1-91fa-fa42-9595-d480098a6e11"
/dev/nvme1n1p2: PARTLABEL="Microsoft reserved partition" PARTUUID="987fccfd-c24a-48f8-ba0b-e50b5d039e2c"
/dev/nvme1n1p9: LABEL="MYASUS" UUID="328B-300B" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="Basic data partition" PARTUUID="20e1dd65-9bcf-4d67-9586-ec7091d3a0c9"
/dev/nvme1n1p7: LABEL="RECOVERY" BLOCK_SIZE="512" UUID="78ACC4F6ACC4B044" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="22185959-a1fd-49e5-bd4c-61e9b72a1870"
/dev/nvme1n1p10: LABEL="endeavorOS" UUID="8009d21d-5283-4b9a-a45c-436f6cdd44d2" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="4bd4053b-4427-4476-821a-3f29ecb67e5e"
/dev/nvme1n1p5: UUID="611e14e4-f959-4f3f-89ac-7ef5028f7ac2" TYPE="swap" PARTUUID="61a1a011-5065-ca4b-989b-921ea02bc876"
/dev/nvme1n1p3: LABEL="OS" BLOCK_SIZE="512" UUID="70D0F919D0F8E66E" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="1a2a7621-03ab-4908-851b-f017b128a6c5"
/dev/nvme1n1p1: LABEL_FATBOOT="SYSTEM" LABEL="SYSTEM" UUID="8AF7-4743" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="c7a289e4-0088-43cb-85dd-f21e944d156f"
/dev/nvme1n1p8: LABEL="RESTORE" BLOCK_SIZE="512" UUID="1C5C8AF85C8ACBC8" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="d1871fd0-65e0-4fc3-b46a-126d1f90625a"
/dev/nvme1n1p6: PARTUUID="453d123e-9d83-d04e-b3eb-d9534de4c08d"
  1. efibootmgr:
BootCurrent: 0003
Timeout: 1 seconds
BootOrder: 0003,0004,0002,0000,0001,0005,0006,0007
Boot0000* Windows Boot Manager	HD(1,GPT,c7a289e4-0088-43cb-85dd-f21e944d156f,0x800,0x82000)/\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d00000000000100000010000000040000007fff0400
Boot0001* Windows Boot Manager	VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d00000065000100000010000000040000007fff0400
Boot0002* Linux Boot Manager	HD(4,GPT,669717d1-91fa-fa42-9595-d480098a6e11,0x4e7d3a8f,0x100571)/\EFI\SYSTEMD\SYSTEMD-BOOTX64.EFI
Boot0003* endeavouros	HD(1,GPT,c7a289e4-0088-43cb-85dd-f21e944d156f,0x800,0x82000)/\EFI\ENDEAVOUROS\GRUBX64.EFI
Boot0004* UEFI OS	HD(4,GPT,669717d1-91fa-fa42-9595-d480098a6e11,0x4e7d3a8f,0x100571)/\EFI\BOOT\BOOTX64.EFI0000424f
Boot0005* UEFI:CD/DVD Drive	BBS(129,,0x0)
Boot0006* UEFI:Removable Device	BBS(130,,0x0)
Boot0007* UEFI:Network Device	BBS(131,,0x0)

Look at the partiuuid for your /dev/nvme1n1p1 and compare it to the partuuid of the partition where your endeavouros bootloader (Boot0003) and Windows Boot Manager (Boot0000) are installed.

You mentioned that you had used the ~500 MB partition as ESP for your EnOS and you used Grub. That would be /dev/nvme1n1p4.

However, you have two items for systemd-boot’s bootloader: Boot0001, Boot0004 installed in /dev/nvme1n1p4 (partiuuid 669717d1-91fa-fa42-9595-d480098a6e11).

All in all, it is a bit of a mess :sweat_smile:

Myself, I would clean up the whole thing and setup things properly from the scratch.

1 Like

I don’t mind setting things up from scratch as long as Windows doesn’t get deleted and I’m still able to setup dual-boot. How would you recommend I go through that? Should I just delete everything that’s not Windows? If yes, which ones.

Before everything, you would need to find a way to make your Windows bootable again.

Try Boot0000 and Boot0001 and see if any of them are functional. If not, I am afraid you have to do some research as to how to restore your Windows bootloader.

1 Like

How do I try either of those, from my BIOS, all three options (Linux Boot Loader, Win Boot Loader, endeavor) take me to the Grub screen where only endeavor is shown.

From your EndeavourOS set the next boot entry:

sudo efibootmgr --bootnext 0000

and reboot.

Repeat for 0001.

Any of them will launch your Windows?

1 Like

fat32 EFI system partition boot, esp

thats whot should show for the EFI partitions in case of gpt drives,

Okay, it seems like setting the boot option to 0000 did the trick for loading Windows. What are the next steps here? Do I just delete everything Linux?

That’s good. Your Windows’ bootloader is intact.

No.

  1. Set the right flag on /dev/nvme1n1p1 → boot,esp

  2. Run sudo os-prober and see if Windows get detected.

  3. If positive, run: sudo grub-mkconfig -o /boot/grub/grub.cfg

  4. Reboot into Bios and set endeavouros first in boot order.

  5. Boot up your system and see if you get to Grub’s boot screen and you have the boot option both for your EnOS and Windows.

1 Like

I’m not sure if that’s the ESP indeed.

Please go back and read through all the posts. Especially:

Good luck!

1 Like

Sorry if I sound dumb, a lot of these terms are a little foreign to me for now. What exactly should I go through to figure out if it’s just the flags that I’m missing. Also, can I set those flags without reinstalling everything or do I just reinstall stuff with the correct flags?

You don’t need to reinstall everything/anything.

We are trying steps to resolve the issue or figure out what is wrong.

You can use a partition manager like Gparted and set the flags as per my post above and follow the rest of the instructions.

It may or may not resolve the issue. But we have to try it and see.

Search the web for how to use Gparted for setting the flags.

2 Likes

During this installation you had probably booted in BIOS/Legacy Mode (instead of UEFI) and that’s why the partition flags were messed up.
The installer explains everything it is doing before it starts. It is a good habit to read what it says it will do. You can prevent lots of messed up systems this way :wink: .

For now, take some time to read a couple of Archwiki articles, and then follow the advice of the great EnOS forum experts :sunglasses:

So I just set the flags you specified and running sudo os-prober returns nothing.

The partition is on your other disk :wink:

1 Like

How do I approach this then?

In Gparted, at top right, there is a drop-down menu. Choose your other disk there.

1 Like