Dual boot installation only boots into Windows

Yes.

I suppose that the bug is there, on using the default bootloader. For some reason, it’s not going for the default.
I would swap this option for the AI-bot to resurrect (actually the code to be fulled). At the end, the selection should be Grub.

I just tried to perform the install again following your advice, however I still see the same warning in the install log (full - https://privatebin.net/?3933968f1f5daf1b#rQgrDvxNREUCYTzEFZsnukrxk1FzK6tbge4y6A2Ra4F):

WARNING: [PYTHON JOB]: “Non-EFI system, and no bootloader is set.”

Could it perhaps be related to what is stated on this page?

EFI/BIOS: In case, modern EFI systems can provide the option to support legacy boot so called CSM mode (Compatibility Support Module) Best is to disable this feature if possible, as the installer is not always detecting this correctly. In case you are dual booting with Windows installed in legacy mode, the options are indeed limited to go reinstall Windows in EFI mode or try to add EndeavourOS in CSM legacy mode.

I think I saw this in my BIOS settings but disabling it might have resulted in Windows not booting. My Windows installation seems to be a legacy install, and I would rather avoid reinstalling Windows. I could have a look again though.

Something I would try in this situation would be to create a msdos partition table on the desk in question

Obligatory Warning:

Be careful to pick the right disk; this operation will wipe out the data on the drive.

and install the system in Legacy mode.

If choosing the Grub bootloader still fails, you could try installing again but with no bootloader.

You could try to install Grub bootloader post-install.

I will try that. When you say install in legacy mode, do I have to do anything different with Calamares or the live environment?

Well it seems that the msdos partition table is incompatible with my hard drive due to it being too large. I will have to try something else.

No, just boot up the live usb as you have done.

If I have understood it correctly, your boot mode defaults to Legacy/Bios.

You could always check in a terminal:

test -d /sys/firmware/efi && echo UEFI || echo BIOS

It should return BIOS.

Yes, it returns BIOS.

1 Like

Right.

I forgot about that.

But then go ahead as it was outlined before. This time install with no bootloader. Ignore the warnings that your system won’t be bootable, if you get any.

When the installation is done, we could try installing the bootloader and see if we can make it to work that way.

From some of the research I have been doing, it seems that the problem is the conflict between my legacy install of Windows 10 and Endeavour OS being more suited for an UEFI install. I found this tutorial on how to convert a legacy Windows 10 install into UEFI without losing data:

But first perhaps it would be worth trying to install the bootloader manually. Could I please have some assistance with that? I lack the knowledge in this field unfortunately.

Get the system installed firs with the instructions outlined above.

Then we can help you to chroot into your installed system and install the bootloader.

When you are done installing, still in the live session, run the following command and post the output:

sudo parted -l

Model: ATA ST4000DM000-2AE1 (scsi)
Disk /dev/sda: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 9437kB 8389kB bios_grub
2 9437kB 4001GB 4001GB ext4
Model: ATA Samsung SSD 850 (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 368MB 367MB primary ntfs boot
2 368MB 1000GB 999GB primary ntfs
3 1000GB 1000GB 561MB primary ntfs msftres
Model: SanDisk Cruzer (scsi)
Disk /dev/sdc: 8004MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
2 2738MB 2901MB 163MB primary fat16 esp

This looks like to be the relevant disk.

In the live session, open a terminal and run:

  1. sudo mount /dev/sda2 /mnt

  2. sudo arch-chroot /mnt

Inside the chroot:

  1. pacman -S grub

  2. grub-install --target=i386-pc /dev/sda

  3. grub-mkconfig -o /boot/grub/grub.cfg

If you get any error message at any of the steps above, stop and post the whole of the command you have run and the terminal output.

If things are fine so far,

  1. exit

  2. reboot into your bios settings and make sure /dev/sda has boot boot priority

  3. boot up your system and see if you get the Grub boot menu

The only error I got was in step 3, where the command was successful but it said ‘fatal library error, lookup self’. Anyway the rest of the commands worked fine and I will reboot my computer to see if it worked. If it does not work I shall attempt to convert my Windows installation to UEFI.

That is normal inside the chroot, you could ignore it.

I’m afraid, not having any experience on this, I cannot be of any help.

Make sure first that your firmware/bios settings supports UEFI boot mode.

1 Like

Unfortunately it seems like manually installing the boot loader did not fix the issue. I shall now attempt to convert the Windows installation into UEFI. The BIOS should support this given that it has settings for CSM.

That’s a bummer!

Anyways, if I were to do this, I would just install EnOS on a GPT disk in UEFI mode without converting Windows.

The only “inconvenience” with this would be that you have to bring up your Bios’ one time boot menu to choose the other OS. Windows, if you put EnOS first in boot order.

Hopefully you will get it working!

Success! It looks like the conflict between the legacy install of Windows 10 and installing Endeavour OS was the problem. Changing the Windows install to UEFI and then installing Endeavour OS with systemd worked. Here is what I did in case anyone encounters a similar issue in the future.

(Hopefully you will not need it, but backing up important files would be prudent)

  1. Confirm whether your BIOS/motherboard supports UEFI. Converting a legacy Windows into UEFI with a BIOS that does not support it will probably make it unbootable.
  2. If it is supported, then use mbr2gpt to convert your installation without the need to reinstall Windows.
  3. After it has been successfully converted, you may need to turn off CSM in your BIOS settings. Also first make sure that you can boot into Windows after changing the BIOS settings. When you are able to boot into Windows, you can check if it is in UEFI mode via system information. If secure boot is enabled, you may want to disable it as it could cause problems with the Linux installation.
  4. Boot into the live environment as normal and install the OS. You will know if the live environment is in UEFI mode if the boot loader menu gives you the default option of systemd instead of just GRUB.
  5. If the install was successful then you should be able to boot into either OS via Linux (or rEFInd if you choose to install that later).

If your device is not compatible with UEFI, then unfortunately I am not sure how to solve this issue…

I was able to also install rEFInd however the problem now is that the keyboard keys are not lining up with what rEFInd registers (e.g., pressing ESC will output 4 instead, this seems to also be the same issue that is occurring in systemd menu)… But that is a separate issue and I can now close this issue as solved. Thank you all for your help and time.

1 Like

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