Windows dual boot in a separate disk

Hi all,
I recently have a new computer where in one NVMe I installed Windows. In another NVMe I installed EndeavourOS. When I boot into the GRUB, I can only see EndeavourOS and not Windows, which was otherwise working before. It doesn’t even show up in the BIOS.

I tried different solution I could find on the internet, such as adding an entry in /etc/grub.d/40_custom and re-generating the config file. It didn’t work, I can still boot into EndeavourOS only. I’ve also seen some fixes that are done via Windows, but I cannot boot into it.

Here is some output:

fdisk -l

Disk /dev/nvme1n1: 465,76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: WDS500G3X0C-00SJG0
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: AF2B217F-D0AF-A549-B1EF-E54E16C129EE

Device             Start       End   Sectors   Size Type
/dev/nvme1n1p1      4096   1052671   1048576   512M EFI System
/dev/nvme1n1p2   1052672 940988187 939935516 448,2G Linux filesystem
/dev/nvme1n1p3 940988188 976768064  35779877  17,1G Linux swap


Disk /dev/nvme0n1: 931,51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Samsung SSD 980 1TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 16384 bytes / 131072 bytes
Disklabel type: gpt
Disk identifier: 357984A7-E01F-48B9-A91E-62349BC22A99

Device         Start        End    Sectors   Size Type
/dev/nvme0n1p1  2048      34815      32768    16M Microsoft reserved
/dev/nvme0n1p2 34816 1953523711 1953488896 931,5G Microsoft basic data

Does anyone have any ideas on how to fix it?

EDIT: So, as @dalto suggested, I had to use the Windows ISO to fix it. It was as simple as to open the command prompt and then run bcdboot m:\windows where M is the Volume number of where Windows is installed, which is usually C. That will re-write the boot files of Windows. I don’t know what was the reason they got deleted, but that was the fix in my case. Now rEFInd can see Windows.

It looks like you install EOS in EFI and Windows in legacy mode. EFI grub can’t boot a legacy mode Windows.

There are several ways to address this.

  • Use your BIOS to switch. You won’t see “Windows” in there since it is legacy installed. You will have to select the partition manually.
  • Reinstall Windows using UEFI
  • Reinstall EOS using legacy booting(Personally, I would not do this)
  • Use something like refind to sit in front and boot them both.

100% recommended rEFInd bootloader as well.

I use it for Macbook and Windows desktop.

I tried with rEFInd but can still only boot into EOS. Is there an extra step I need to take?

Can we see sudo parted -l

$ sudo parted -l
[sudo] password for felipe:
Model: Samsung SSD 980 1TB (nvme)
Disk /dev/nvme0n1: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name                          Flags
 1      1049kB  17,8MB  16,8MB               Microsoft reserved partition  msftres
 2      17,8MB  1000GB  1000GB  ntfs         Basic data partition          msftdata


Model: WDS500G3X0C-00SJG0 (nvme)
Disk /dev/nvme1n1: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size    File system     Name  Flags
 1      2097kB  539MB  537MB   fat32                 boot, esp
 2      539MB   482GB  481GB   ext4            root  legacy_boot
 3      482GB   500GB  18,3GB  linux-swap(v1)        swap

Hmm…actually, I am not sure windows is installed in legacy mode because none of those partitions have the boot flag.

Is it possible that windows was sharing the EFI partition on the other disk and when you installed EOS you overwrote it?

Can you share the output of sudo efibootmgr -v

That’s possible. When I first got the two disks I first installed another Linux distro and then Windows. It worked fine until I decided to try EOS.

Here’s the output of efibootmgr -v:

BootCurrent: 0002
Timeout: 1 seconds
BootOrder: 0000,0002,0001
Boot0000* rEFInd Boot Manager	HD(1,GPT,9f00a59e-73d9-1848-a262-a83ca2d4ee17,0x1000,0x100000)/File(\EFI\refind\refind_x64.efi)
Boot0001* Hard Drive	BBS(HD,,0x0)..GO..NO........q.S.a.m.s.u.n.g. .S.S.D. .9.8.0. .1.T.B....................A...........................%8...6j.....4..Gd-.;.A..MQ..L.S.6.4.9.N.F.0.R.6.3.6.2.8.1.X........BO..NO........w.W.D.S.5.0.0.G.3.X.0.C.-.0.0.S.J.G.0....................A........................................DJIi.6........Gd-.;.A..MQ..L.2.1.2.2.F.A.4.5.5.1.1.0........BO
Boot0002* UEFI OS	HD(1,GPT,9f00a59e-73d9-1848-a262-a83ca2d4ee17,0x1000,0x100000)/File(\EFI\BOOT\BOOTX64.EFI)..BO

Did you install EndeavourOS by wiping the EFI partition, or did you simply put a mount point to the existing EFI partition?

You will probably need to boot off the windows ISO and use the repair option.

I installed EnveavourOS by wiping the entire disk where Manjaro was installed. I didn’t touch the other disk where Windows was already installed.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.