[HowTo] Resolving Initramfs UUID Mismatch Boot Hangs & Validating Secure Boot Enforcement

Ubuntu Version

Ubuntu 26.04 LTS

Desktop Environment (if applicable)

GNOME

Problem Description

After modifying or reformatting an EFI System Partition (ESP), the partition’s UUID changed from CD64-16FB to EB51-A58E. Although /etc/fstab was updated to reflect the new UUID, the system hung on boot at the ASUS / Ubuntu splash screen for over 3 minutes before dropping into an emergency dracut recovery shell.

Key Technical Findings:

  • Updating /etc/fstab alone does not resolve the boot failure because early boot ramdisks (initramfs) retain hardcoded device UUIDs from previous builds.
  • The system was unable to pivot to the real root system because dracut-initqueue kept waiting for the non-existent legacy UUID device node.
  • Running standard tools like chroot, lsblk, or update-initramfs inside the minimal dracut shell returned command not found because standard binaries were not loaded into the emergency shell’s PATH.

Relevant System Information

Kernel Release: 7.0.0-31-generic
ASUS ExpertBook
Intel i3 1215U
Ez Flash BiOS

Error Messages / Logs

Boot Failure & Emergency Shell Prompt:

Warning: /dev/disk/by-uuid/CD64-16FB does not exist

Generating "/run/initramfs/rdsosreport.txt"

Entering emergency mode. Exit the shell to continue.
Type "journalctl" to view system logs.
You might want to save "/run/initramfs/rdsosreport.txt" to a USB stick or /boot
after mounting them and attach it to a bug report.

Press Enter for system maintenance
(or press Control-D to continue):
sulogin: failed to execute /bin/bash: No such file or directory
dracut:/root#

Module Mismatch Output (When running dracut directly):

dracut-install: could not get modinfo from 'nvme': No such file or directory
libkmod: ERROR: kmod_module_parse_depline: path=/usr/lib/modules/7.0.0-30-generic/... error=No such file or directory

What I’ve Tried

Step 1: Mount System Root & Chroot via Host Binary

Since chroot was missing from the rescue shell environment’s PATH, I mounted the Linux root partition (/dev/nvme0n1p2) to /sysroot and invoked chroot using the full binary path from the mounted drive:

# Mount system root partition and bind virtual filesystems
mount /dev/nvme0n1p2 /sysroot
mount --bind /dev /sysroot/dev
mount --bind /proc /sysroot/proc
mount --bind /sys /sysroot/sys

# Access system via host chroot binary
/sysroot/usr/bin/chroot /sysroot

Step 2: Align fstab & Rebuild Boot Images

Once inside the chroot environment, I updated /etc/fstab and regenerated the initramfs image targeting the active kernel release (7.0.0-31-generic):

# Update fstab with active UUID
sed -i 's/CD64-16FB/EB51-A58E/g' /etc/fstab

# Rebuild initramfs boot image for active kernel
update-initramfs -u -k 7.0.0-31-generic

# Refresh GRUB configuration
update-grub

# Exit chroot and reboot
exit
reboot

Verification & Health Check (Post-Recovery)

After rebooting into the desktop, system diagnostics confirmed complete alignment:

  • EFI Partition Mount: Mounted on /dev/nvme0n1p1 at /boot/efi with matching UUID EB51-A58E in both blkid and /etc/fstab.

  • NVMe SMART Health: Reported critical_warning : 0 and media_errors : 0 (100% healthy).

  • Secure Boot State: Verified active via mokutil --sb-state (SecureBoot enabled) and dmesg (Kernel is locked down from EFI Secure Boot mode).

  • Boot Order: efibootmgr confirmed BootCurrent: 0001 loaded through \EFI\ubuntu\shimx64.efi.

2 Likes

I moved this useful guide from Support and Help to Lounge as there was no specific request for help.
Hopefully, this topic about reformatting an ESP will prove to be invaluable to users seeking to solve a similar problem.

Thank you @kaveen-amarasekara for this helpful contribution to discourse.ubuntu.com

3 Likes