Understanding the Root Cause
Modern computers use Unified Extensible Firmware Interface (UEFI) instead of the legacy BIOS. When you attempt to set up a dual-boot environment with Ubuntu and Windows, the firmware often restricts manual changes to boot priorities for security reasons. The most common culprits are UEFI Secure Boot, which prevents unsigned bootloaders from running, and Windows Fast Startup, which hibernates the hard drive state and locks file systems, making them inaccessible or unmodifiable by the Linux installer.
Additionally, if the Ubuntu installation was created on a USB drive using Legacy/CSM mode but your motherboard is set to UEFI-only, the system will not list the drive as a valid boot option. This mismatch creates the illusion that the BIOS "won't allow" the change, when in reality, the device simply does not meet the criteria for boot selection. It is crucial to align the installation method with your motherboard's current firmware settings.
Disabling Windows Fast Startup
Windows 10 and 11 enable a feature called Fast Startup by default. This hybrid shutdown mode saves the kernel session to disk to speed up subsequent boots. However, it leaves the NTFS partition in a locked state. If you try to install Ubuntu alongside Windows while this feature is active, the installer may fail to detect the Windows partition correctly, or the BIOS may refuse to prioritize a drive that appears to be in an inconsistent state.
- Open the Control Panel in Windows.
- Navigate to Hardware and Sound > Power Options.
- Click on Choose what the power buttons do.
- Select Change settings that are currently unavailable, which requires administrator privileges.
- Uncheck the box next to Turn on fast startup (recommended).
- Save changes and fully shut down the computer, rather than restarting.
After disabling this feature, perform a full shutdown. This ensures that the Windows partitions are cleanly closed, allowing the Ubuntu installer to access them and properly configure the bootloader entries without interference.
Configuring UEFI and Secure Boot Settings
If disabling Fast Startup does not resolve the issue, you must adjust the firmware settings directly. Secure Boot is designed to only allow operating systems with valid digital signatures. While Ubuntu supports Secure Boot, some motherboards have strict implementations that reject third-party bootloaders or misidentify the Ubuntu EFI stub. Furthermore, CSM (Compatibility Support Module) must be disabled if you intend to boot in pure UEFI mode.
- Restart your computer and enter the BIOS/UEFI setup by pressing
F2,Delete, orF10during POST. - Locate the Security or Boot tab.
- Set Secure Boot to Disabled. This allows the GRUB bootloader from Ubuntu to execute without signature verification issues.
- Ensure CSM is set to Disabled if your motherboard supports native UEFI. Mixing CSM and UEFI can cause detection failures.
- Save changes and exit. Re-enter the BIOS to see if the Ubuntu drive now appears in the boot priority list.
Some systems require you to clear NVRAM or reset boot order defaults after changing these settings. If the drive still does not appear, look for an option labeled Add Boot Option or Manually Add Boot Device in advanced menus, where you can point the firmware to the /EFI/ubuntu/shimx64.efi file on your EFI System Partition.
Verifying Installation Media Creation
The method used to create your Ubuntu installation USB significantly impacts whether the BIOS recognizes it. If you used tools like Rufus on Windows, you must select the correct partition scheme. For modern systems, choose GPT for the partition scheme and UEFI (non-CSM) for the target system type. If you selected Legacy/MBR, the resulting USB will not show up in UEFI boot menus.
Alternatively, consider using balenaEtcher or the official dd command on Linux, which writes images byte-for-byte and preserves the EFI structure correctly. After creating the media, verify that your motherboard's boot menu lists the USB drive under "UEFI: [Drive Name]" rather than just "[Drive Name]". If only the non-UEFI option appears, your motherboard might be forcing CSM mode, or the drive was created incorrectly.
For more information on managing storage devices in Ubuntu, you may find Adding an Extra Hard Disk to an Ubuntu Machine useful for understanding how the OS interacts with block devices during and after installation.
Using efibootmgr to Manually Set Priority
If the BIOS interface remains uncooperative, you can sometimes bypass graphical limitations by using the Linux command line tool efibootmgr. This utility manages the EFI Boot Manager variables directly. Once booted into a live Ubuntu session or an existing Linux installation, open a terminal and run sudo efibootmgr to view current boot entries. You can then add or modify entries using specific flags.
For example, to add a new boot entry, you might use: sudo efibootmgr --create --disk /dev/sda --part 1 --label "Ubuntu" --loader \EFI\ubuntu\shimx64.efi. After adding the entry, you can set the boot order using sudo efibootmgr --bootorder XXXX,YYYY, replacing the hex codes with those listed in your previous output. This method forces the firmware to recognize the Ubuntu bootloader even if the GUI is restrictive.
Resolving Persistent Detection Issues
In rare cases, hardware faults or outdated motherboard firmware prevent the drive from being recognized entirely. Check your SATA/NVMe cable connections and ensure the drive is enabled in the BIOS storage view. Updating your motherboard's BIOS to the latest version provided by the manufacturer can also fix compatibility bugs related to NVMe drives and UEFI standards.
If you encounter specific hardware quirks during the installation process itself, such as wifi or audio issues preventing completion, refer to community troubleshooting guides like Kubuntu 24.04.1 LTS: USB Wifi with RTL8852BE PCIe Won't Boot or Shutdown During Installation for similar low-level driver conflicts.
Frequently Asked Questions
Why does my BIOS only show the Windows Boot Manager?
This happens because the Ubuntu bootloader was not registered in the EFI NVRAM. Ensure you installed Ubuntu in UEFI mode, not Legacy mode. You can manually register the bootloader using efibootmgr or reinstall the OS, ensuring the installation media was created with GPT/UEFI settings.
Can I keep Secure Boot enabled while dual booting?
Yes, Ubuntu supports Secure Boot out of the box. However, if you are having trouble, disabling it temporarily helps diagnose if signature verification is the blocker. If you wish to keep it enabled, ensure you are using the signed versions of shimx64.efi and grubx64.efi provided by your distribution.
What should I do if the Ubuntu installer doesn't see my Windows drive?
Disable Windows Fast Startup and Hibernation as described earlier. Also, check if the drive is encrypted with BitLocker; if so, decrypt it first. The installer needs read/write access to the Windows partition to configure the shared bootloader entries.
Is it safe to manually edit boot order in BIOS?
It is generally safe, but incorrect entries can make your system unbootable. Always note the original boot order before making changes. If you accidentally delete the Windows entry, you can repair it using Windows Recovery Media. Using efibootmgr from Linux is safer than guessing hex codes in the BIOS menu.
Why does my USB drive not appear in the UEFI boot menu?
The USB was likely created in Legacy/MBR mode. Recreate the installation media using Rufus with GPT partition scheme and UEFI target, or use Etcher. Additionally, some motherboards hide USB devices if they are not plugged into specific ports designated for booting.