Advice Requested for Resolving BIOS/UEFI mismatch in Dual-boot Setup

Hi all, I’m new to Rocky Linux and this is my first time installing linux as a second OS on a host, so probably a newbie question but I’d appreciate any help!

I am trying to install Rocky Linux to dual-boot alongside my current Windows 10 installation. Here’s what I’ve done so far:

  • I made 200GB of space available on my SSD before the installation
  • I turned off fast-startup in the power options in Windows 10, secure boot is disabled on motherboard.
  • I used etcher to flash the x86-64 dvd ISO of Rocky Linux 9.3 to a USB stick, then booted the installation from that USB.
  • I installed Rocky Linux using automatic storage config, installing from local media (USB), and connecting to network through ethernet.

The installation was successful, and Rocky Linux appears fully functional, but the GRUB menu does not show my Windows 10 OS as an option. In fact, when I run os-prober in Rocky Linux, nothing is returned. From other forum posts I see that this points to a mismatch between BIOS/UEFI firmware options between the two operating systems, and from further investigation, I think that is what is going on:

from my linux terminal:

fdisk -l
	Disk /dev/sdb: 953.87 GiB, 1024209543168 bytes, 2000409264 sectors
	Disk model: SPCC Solid State
	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: <GUID>

	Device          Start        End    Sectors   Size Type
	/dev/sdb1        2048    1085439    1083392   529M Windows recovery environment
	/dev/sdb2     1085440    1288191     202752    99M EFI System
	/dev/sdb3     1288192    1320959      32768    16M Microsoft reserved
	/dev/sdb4     1320960 1580978175 1579657216 753.2G Microsoft basic data
	/dev/sdb5  1580978176 1580980223       2048     1M BIOS boot
	/dev/sdb6  1580980224 1583077375    2097152     1G Linux filesystem
	/dev/sdb7  1583077376 1599496191   16418816   7.8G Linux swap
	/dev/sdb8  1599496192 1746296831  146800640    70G Linux filesystem
	/dev/sdb9  1746296832 2000408575  254111744 121.2G Linux filesystem
	ls /sys/firmware/efi
	ls: cannot access '/sys/firmware/efi': No such file or directory

So to me it looks like linux is using BIOS and Windows is using UEFI.

I know I have to fix this mismatch, and I think the appropriate action is to reinstall Rocky Linux using UEFI rather than reinstall windows to BIOS somehow.

I read that UEFI/BIOS boot configuration is done in the motherboard config. I am using an ASRock Phantom Gaming 4 X570 motherboard, and the advice I found for changing this is set CSM (Compatibility Support Mode) to disabled (it was set to enabled during the installation). After I did this, the system couldn’t even find any OS’s to boot, so it definitely did something.

Right now I am thinking that I will erase the volumes on my SSD that have linux or BIOS info on them, and try to reinstall the Rocky Linux OS with the CSM setting set to “Disabled” on my motherboard. I’m hoping this will at least give me the option to opt for installation using UEFI, but I can’t find any info on how to ensure that.

Please let me know if you have any other recommendations to help me resolve the issue.

Thank you!

1 Like

Yes, but how? Do you mean you pressed F8 before Windows startup and then chose from a menu in the middle of the screen? You have to make sure you choose UEFI at that point, you might see two Rocky entries, one for normal and one for UEFI. You can test it without re-installing, just boot the usb with F8, check what you see on screen, then cancel out.

In general, it’s best to have secure boot enabled and csm disabled to get the most modern style of installation.

1 Like

Thank you @gerry666uk ! I can see that I have a few options when I select the boot device. I’m pretty sure this is where I made my mistake. I selected “USB: Sandisk” but I’m sure I probably need to select “UEFI: Sandisk”. Both of these refer to the USB boot device. I’ll try this, but let me know if this is the wrong idea.

Thank you!

1 Like

Yes, I’m not sure what the “Partition 2” thing is about, but I did notice the official dvd also has a second partition (something to do with anaconda). The UEFI: SanDisk looks like the one to try first. Don’t forget you can boot into Rocky install media and get a command prompt if you just want to test it without installing anything.

1 Like

Thank you so much @gerry666uk ! This solved my issue. I cleared all the partitions created by the linux install with fdisk and reinstalled selecting the UEFI: Sandisk, Partition 1 option. Went through install and now I have both Rocky Linux and Windows working well. Thanks again!

1 Like

Great news about getting Rocky working!

1 Like