Dual boot with Windows - Windows is not listed on Grub menu

Last week I have installed EndeavourOS after some years with Manjaro and I’m impressed with EOS. :grinning:
System runs much faster and consume much less RAM.

There is only one problem left with Grub not recognising Windows.
I gone through No GRUB after Windows 10 install: how to recover? post and done as said there:
I installed os-prober.
I have enabled os-prober on grub config.
I run ‘sudo grub-mkconfig -o /boot/grub/grub.cfg’ command.
And still no result.

More signs:
The UEFI menu doesn’t list EOS as an option but only the label of the disk it is installed on.
Windows is listed too on UEFI including Manjaro even Manjaro is not installed.
So maybe it means that os-prober can’t connect with the UEFI?(or whatever)

cat /var/log/endeavour-install.log | eos-sendlog

inxi -Fxxc0z --no-host | eos-sendlog

journalctl -b -0 | eos-sendlog

It looks like you did not install EndeavourOS in UEFI mode but in legacy/BIOS mode.

When booted in legacy mode, grub cannot dual-boot OSes in UEFI mode.

If you want to install EOS in UEFI mode, you need to boot the ISO in UEFI mode. If your BIOS boots the legacy option by default, you may need to hit a key on boot to specifically select the UEFI option to boot the ISO and install that way.

So now that I installed EOS I need to reinstall it?
Is there a way to avoid that?

Can you share the output of sudo parted -l

sudo parted -l
[sudo] password for mango: 
Model: ATA TS512GSSD230S (scsi)
Disk /dev/sda: 512GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system  Name                          Flags
 1      1049kB  106MB  105MB   fat32        EFI system partition          boot, esp, no_automount
 2      106MB   123MB  16.8MB               Microsoft reserved partition  msftres, no_automount
 3      123MB   512GB  511GB   ntfs         Basic data partition          msftdata
 4      512GB   512GB  547MB   ntfs                                       hidden, diag, no_automount

Model: ATA WDC WDS500G2B0A (scsi)
Disk /dev/sdb: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size   File system  Name                  Flags
 1      17.8MB  500GB  500GB  ntfs         Basic data partition  msftdata

Model: ATA WDC WD10EZEX-00W (scsi)
Disk /dev/sdc: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  1000GB  1000GB  primary  ext4         boot

It is possible but not easy. I haven’t tested these steps but this would be the general process:

  1. Convert your MBR partition table to GPT using a 3rd party tool
  2. Boot off an ISO
  3. Shrink the ext4 partition by 1GB
  4. Create a 1GB EFI partition
  5. Format the EFI partition
  6. arch-chroot into the system with the new EFI partition mounted to /boot/efi inside the chroot
  7. Run grub-install with appropriate parameters for UEFI
  8. Add the EFI partition to /etc/fstab
  9. Run sudo grub-mkconfig -o /boot/grub/grub.cfg
  10. Exit the chroot and hope that all worked

I would note that step 1 is a highly risky operation. You should definitely back up your data before attempting it.

In truth, it would probably be a lot easier to backup your data and reinstall.


Anyway I just need to know what does it mean “to boot the ISO in UEFI mode” or more specicialy how to do it?
I’ll try to look for a Youtube video.
I never had such problem before so it is new to me.

It is specific to your actual PC/laptop.

Most BIOSes have some type of key you can press during the boot sequence that lets you choose which device to boot. It is more frequently somewhere between F7-F12 but varies by device.

Once you get to that menu. You will see entries for the USB stick with your ISO. You will probably see one that is identified as EFI or UEFI. Choose that one.

Alternatively, you can go into your BIOS and disable legacy booting.

I know how to choose which device to boot with F keys.
I remember an entry for UEFI but never paid attention to it.

Lets install everything all over again :upside_down_face:

Hi there,

One thing I would like to mention here, which I forgot in my last thread: I think that in the first times I was running sudo grub-mkconfig -o /boot/grub/grub.cfg inside the chroot environment.

Yesterday I think I noticed my mistake and ran the same command while logged in my correct EndeavourOS installation. From now on everything ran smoothly.

1 Like