2

I installed Manjaro on my desktop computer which has multiple SSDs with one SSD having a Windows 10 installation. I tried to install Manjaro on a secondary SSD, which worked fine, but GRUB was unable to install as it was unable to find the EFI system partition (ESP) on the drive. I check manually and there was no ESP on any of the drives. I manually created a ESP as described in the Arch wiki and manually installed GRUB for EFI Systems as described in the Manjaro wiki.

The problem I have is that Windows 10 is not found by grub-mkconfig and therefor not listed in the boot options anymore, only Manjaro is listed. I guess the reason for that is that the Windows installation still uses BIOS and not UEFI. If I read this Ask Ubuntu question correctly, I need to switch GRUB back from UEFI to BIOS so GRUB can find the Windows installation. What is the best way to archive this in a clean way?

My current drive setup is as following: sda (SSD with Windows 10 installation):

Disk /dev/sda: 232,89 GiB, 250059350016 bytes, 488397168 sectors
Disk model: Samsung SSD 850 
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: dos
Disk identifier: 0xb507cf23

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048   1026047   1024000   500M  7 HPFS/NTFS/exFAT
/dev/sda2         1026048 487320175 486294128 231,9G  7 HPFS/NTFS/exFAT
/dev/sda3       487321600 488392703   1071104   523M 27 Hidden NTFS WinRE

sdb (sdb5 is the shrunk NTFS data partition, sdb2 Manjaro and sdb3 the manually created ESP partition).

Disk /dev/sdb: 1,82 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: CT2000MX500SSD1 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x26b4b1bf

Device     Boot      Start        End    Sectors   Size Id Type
/dev/sdb1             1985 1984962559 1984960575 946,5G  5 Extended
/dev/sdb2       1984962560 3905980415 1921017856   916G 83 Linux
/dev/sdb3  *    3905980416 3907028991    1048576   512M ef EFI (FAT-12/16/32)
/dev/sdb5             2048 1984841727 1984839680 946,4G  7 HPFS/NTFS/exFAT

Partition 1 does not start on physical sector boundary.
Partition table entries are not in disk order.

There is also a third NTFS SSD sdc which only holds data.

1 Answer 1

1

The reason why I wasn't able to boot into the Windows 10 install was because I deactivated the BISO legacy mode in the mainboard's BIOS which in my case is called CSM Support, or UEFI CSM (Compatibility Support Module).

After I activated CSM support, I was again able to choose the sda drive in the BIOS boot menu and boot into Windows. Note: I can only choose the boot drive from the BIOS menu, not from GRUB, as GRUB is installed in UEFI mode as mentioned above and is therefor unable to detect the Windows installation.

So on my machine I have a BIOS Windows installation and a UEFI Manjaro installation. This is unconventional but works.

To clean this up and allow GRUB to detect both the Windows and Manjaro installation there are two possibilities:

  1. Convert Windows 10 form BIOS to UEFI (I haven't tried this, it could well be that the described process damages/deletes GRUB or the ESP partition)
  2. Re-install GRUB in BIOS mode.

To reinstall GRUB you need to:

  • Boot into a Manjaro live USB
  • Delete the existing ESP partition e.g. via GParted (in my case /dev/sdb3)
  • Load Chroot environment via manjaro-chroot -a
  • Re-install GRUB for BIOS systems: grub-install --force --target=i386-pc --recheck --boot-directory=/boot /dev/sdb
  • Update GRUB configuration: grub-mkconfig -o /boot/grub/grub.cfg

For full describtion on how to manually install GRUB, see the Manjaro wiki.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .