Problem booting after installing Ubuntu

Ubuntu Version

Ubuntu 24.04.3

System Information

  • Laptop: ASUS ROG M16 (GU604VI)

  • BIOS Version: 314

  • Storage Configuration:

  • NVMe SSD #1: Factory-installed SSD with Windows

  • NVMe SSD #2: Samsung 990 Pro (firmware updated), Ubuntu installed on this drive

  • Relevant Settings:

  • Fast Boot, Secure Boot: Turned off in Bios

  • Bitlocker Disabled in Windows


Problem Description

Hi,

I’m new to Linux, so please bear with me if I misunderstand some details.

I recently purchased a new Samsung 990 Pro NVMe SSD and attempted to set up a dual-boot system with Windows and Ubuntu. During installation, the Ubuntu installer initially failed to detect the new SSD. After some research, I found that the Intel VMD controller needed to be disabled in the BIOS for the installer to recognize the drive. Once VMD was disabled, the installer detected the SSD and Ubuntu installed successfully without further issues.

After installation, I was greeted by GRUB and was able to boot into Ubuntu normally. During this first boot, everything worked correctly (network setup, system configuration, etc.).

However, after powering off and rebooting the system, GRUB no longer appears, even though Ubuntu is set as the first boot option in the BIOS. On boot, the system appears to pause briefly while attempting to boot the Linux EFI entry, then silently falls back to booting Windows.

I attempted several recovery steps, including:

  • Booting into a Ubuntu live session

  • Mounting the Ubuntu root and EFI partitions

  • Reinstalling GRUB

  • Verifying that Linux EFI executables (shimx64.efi, grubx64.efi) exist on the disk

None of these attempts resolved the issue.

I also tried modifying the Windows boot manager to directly launch grubx64.efi in order to force GRUB to start. This results in GRUB dropping to a grub> command prompt with errors such as:


failure reading sector 0xe8e08800 from hd0

failure reading sector 0x0 from hd0

My understanding is that, in this state, GRUB has no disk access.

Interestingly, if I enable the VMD controller in the BIOS and reboot, GRUB appears consistently and immediately. However, attempting to boot Ubuntu in this configuration usually fails and drops to a BusyBox (initramfs) shell (both with the default Ubuntu entry and with the linux 6.14.0-37-generic option). During this boot attempt, I also see ACPI-related errors such as:


ACPI BIOS Error: Failure creating named object... AE_ALREADY_EXISTS
probe with driver nvme failed with error -4

I have tried toggling VMD on and off and repeating these steps many times in different orders. Very rarely, selecting the linux 6.14.0-37-generic option will still display the ACPI error above but manage to boot into Ubuntu successfully. However, this behavior is inconsistent and not reproducible.


Boot-Repair Output

Below is the output from the Boot-Repair tool’s initial scan (I had difficulty completing a full repair as I can’t execute one of the commands required to purge GRUB):
https://paste.ubuntu.com/p/6cRZNgtMb7/

Hi, thanks for the detailed report — this actually helps a lot, and you’re not misunderstanding things. What you’re seeing is a known class of issues involving Intel VMD, NVMe drives, and early boot stages.

From your description, there are two different failure modes, depending on whether VMD is enabled or disabled.


:one: Why GRUB disappears when VMD is disabled

When VMD is OFF:

  • The NVMe drive is exposed directly to the OS (good)
  • Ubuntu installs and boots once (also good)
  • On the next reboot, firmware falls back to Windows silently

This strongly suggests a firmware / NVRAM issue, not GRUB itself.

Many ASUS laptops:

  • Ignore or invalidate EFI boot entries that point to a secondary NVMe
  • Or silently reorder boot entries after reboot

:white_check_mark: Recommended fix (very important)

Install a fallback EFI loader so firmware cannot skip Ubuntu:

From a live session:

sudo mount /dev/nvme1n1p1 /mnt   # Ubuntu EFI partition
sudo mkdir -p /mnt/EFI/Boot
sudo cp /mnt/EFI/ubuntu/shimx64.efi /mnt/EFI/Boot/bootx64.efi

This forces the firmware to load Ubuntu even if it ignores NVRAM entries.


:two: Why GRUB works with VMD ON but Ubuntu fails

When VMD is ON:

  • GRUB can see disks (firmware provides access)

  • Linux kernel often cannot, because:

    • VMD requires the vmd kernel module
    • Your initramfs may not include it

That explains:

  • probe with driver nvme failed with error -4
  • Drops to (initramfs)
  • GRUB disk access errors when chainloaded

:white_check_mark: Fix: force VMD support into initramfs

Boot a live session, then:

sudo mount /dev/nvme1n1p2 /mnt
sudo mount /dev/nvme1n1p1 /mnt/boot/efi
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt

Then inside chroot:

echo vmd >> /etc/initramfs-tools/modules
update-initramfs -u -k all
update-grub
exit

This ensures the NVMe controller is available early enough in boot.


:three: ACPI errors explanation (not the root cause)

The errors:

AE_ALREADY_EXISTS

are very common on ASUS laptops and usually harmless. They are symptoms, not the cause of the boot failure.

The real blocker is:

  • NVMe device not available early
  • Firmware inconsistencies with secondary NVMe boot

:four: Recommended stable configuration

For long-term stability on ASUS ROG systems:

:white_check_mark: Keep VMD disabled
:white_check_mark: Use fallback EFI loader (/EFI/Boot/bootx64.efi)
:white_check_mark: Avoid chainloading GRUB from Windows
:white_check_mark: Ensure Ubuntu controls its own EFI entry


:five: Why it booted once (but not again)

This is classic firmware behavior:

  • First boot uses installer-created entry
  • Firmware later “cleans” or deprioritizes it
  • Falls back to Windows unless a fallback loader exists

Hope this helps, and welcome to Linux :+1:

2 Likes

I for years have told those with issues to switch from Intel RST to AHCI. I gather VMD is a subset of RST for only newer systems.

But a couple of years ago got a new Dell laptop with Intel 11th Gen CPU. Forgot to switch to AHCI and it defaulted to Intel® VMD. This was with Kubuntu 22.04. Now using 24.04 clean install & still using VMD, but have booted with external SSD and it shows both VMD & AHCI?
Found this:

https://www.intel.com/content/www/us/en/support/articles/000088762/technologies/intel-rapid-storage-technology-intel-rst.htmlhttps://www.intel.com/content/www/us/en/support/articles/000088762/technologies/intel-rapid-storage-technology-intel-rst.html
Which says VMD is for Intel 11th Gen CPUs or newer.

The Linux kernel has had VMD available since 4.14, but not every distribution may have compiled it in?

My lspci shows this and cat /etc/initramfs-tools/modules has no modules installed.
Kernel modules: vmd, ahci

1 Like