How can I fix boot problem (ending up in BusyBox, UUID not found)
https://askubuntu.com/questions/1563923/how-can-i-fix-boot-problem-ending-up-in-busybox-uuid-not-found
I have a dual boot setup (Windows and Ubuntu) on my computer. For background, a while ago when I had different Ubuntu issues I already disabled Windows' "Fast Startup".
The current issue: I tried one day to boot into Ubuntu, and I just got a screen with the following text:
BusyBox v1.36.1 (Ubuntu 1:1.36.1-6ubuntu3.1) built-in shell (ash) Enter 'help' for a list of built-in commands.
(initramfs)
If I enter "exit" I get:
BusyBox v1.36.1 (Ubuntu 1:1.36.1-6ubuntu3.1) built-in shell (ash) Enter 'help' for a list of built-in commands.
(initramfs) exit
Gave up waiting for root file system device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! UUID=1785c362-92ff-4a9a-b254-f950db82ad8c does not exist. Dropping to a shell!
BusyBox v1.36.1 (Ubuntu 1:1.36.1-6ubuntu3.1) built-in shell (ash)
Enter 'help' for a list of built-in commands.
(initramfs)
My next step was a long, long foray trying to get Perplexity to help me fix the problem. I will summarize for you anything that may be illuminating from those attempts.
It had me create a removable drive to boot Ubuntu temporarily from, and get to the Terminal. At one point, it had me run the following for "quick diagnostics":
sudo blkid | grep nvme0n1p7
cat /mnt/root/etc/fstab | grep nvme0n1p7
sudo mount /dev/nvme0n1p7 /mnt/root
journalctl -xb | grep -i "nvme0n1p7\|1785c362\|fsck\|mount"
The output was very long, so I'll give you Perplexity's evaluation of the output:
Key findings from your output
✅ UUID perfect: /dev/nvme0n1p7 has correct UUID 1785c362-92ff-4a9a-b254-f950db82ad8c
✅ Filesystem mounts fine: Kernel successfully mounted it read-only earlier
❌ Mount point missing: You ran cat and mount without creating /mnt/root first
❌ No /etc/fstab access: Because /mnt/root wasn't mounted when you checked
⚠️ os-prober found your Ubuntu: 40lsb detected /dev/nvme0n1p7:Ubuntu 24.04.3 LTS
A couple more failed fixes/boots back to the BusyBox later, it had me do more diagnostics. Here is the output from that:
ubuntu@ubuntu:~$ # 1. Test if root mounts read-write now
sudo mkdir -p /mnt/test
sudo mount /dev/nvme0n1p7 /mnt/test
mount | grep nvme0n1p7
sudo umount /mnt/test
# 2. Check filesystem health
sudo fsck -n /dev/nvme0n1p7
# 3. Verify GRUB kernel line
sudo mount /dev/nvme0n1p7 /mnt/root
grep "root=" /mnt/root/boot/grub/grub.cfg
# 4. Boot parameter check
sudo mount /dev/nvme0n1p1 /mnt/efi
ls -la /mnt/efi/EFI/ubuntu/
/dev/nvme0n1p7 on /mnt/test type ext4 (rw,relatime)
fsck from util-linux 2.39.3
e2fsck 1.47.0 (5-Feb-2023)
/dev/nvme0n1p7: clean, 528537/32210944 files, 19131061/128843776 blocks
mount: /mnt/root: mount point does not exist.
dmesg(1) may have more information after failed mount system call.
grep: /mnt/root/boot/grub/grub.cfg: No such file or directory
mount: /mnt/efi: mount point does not exist.
dmesg(1) may have more information after failed mount system call.
ls: cannot access '/mnt/efi/EFI/ubuntu/': No such file or directory
...to which it said:
Key takeaways from output
✅ /dev/nvme0n1p7 mounts read-write perfectly (rw,relatime)
✅ Filesystem clean (no fsck errors)
❌ Missing /mnt/root, /mnt/efi directories
❌ No /mnt/efi/EFI/ubuntu/ = GRUB EFI files missing (main problem!)
I ran its next code to "Fix the mount directory issues + reinstall GRUB EFI". Output:
ubuntu@ubuntu:~$ # Create missing directories
sudo mkdir -p /mnt/root /mnt/efi
# Remount with proper structure
sudo mount /dev/nvme0n1p7 /mnt/root
sudo mount /dev/nvme0n1p1 /mnt/efi
# Verify GRUB files NOW exist
ls -la /mnt/efi/EFI/ubuntu/
grep "root=" /mnt/root/boot/grub/grub.cfg
total 4390
drwxr-xr-x 2 root root 2048 Mar 30 2025 .
drwxr-xr-x 6 root root 2048 Aug 2 23:20 ..
-rwxr-xr-x 1 root root 108 Jan 31 16:05 BOOTX64.CSV
-rwxr-xr-x 1 root root 117 Jan 31 16:05 grub.cfg
-rwxr-xr-x 1 root root 2660232 Jan 31 16:05 grubx64.efi
-rwxr-xr-x 1 root root 856280 Jan 31 16:05 mmx64.efi
-rwxr-xr-x 1 root root 966664 Jan 31 16:05 shimx64.efi
grep: /mnt/root/boot/grub/grub.cfg: Permission denied
...to which it said "Excellent—GRUB EFI files are present and recent (Jan 31 timestamps), but Permission denied on grub.cfg needs fixing."
So I ran its next code for "Quick permission fix + final verification". Output:
ubuntu@ubuntu:~$ # Fix grub.cfg permission (live USB -> root filesystem mismatch)
sudo mount -o remount,remount,rw /mnt/root
sudo chmod 644 /mnt/root/boot/grub/grub.cfg
sudo grep "root=" /mnt/root/boot/grub/grub.cfg
# Check what root= parameter GRUB passes to kernel
cat /mnt/root/boot/grub/grub.cfg | grep "linux.*root=" -A 5
linux /boot/vmlinuz-6.14.0-36-generic root=UUID=1785c362-92ff-4a9a-b254-f950db82ad8c ro quiet splash $vt_handoff
linux /boot/vmlinuz-6.14.0-36-generic root=UUID=1785c362-92ff-4a9a-b254-f950db82ad8c ro quiet splash $vt_handoff
linux /boot/vmlinuz-6.14.0-36-generic root=UUID=1785c362-92ff-4a9a-b254-f950db82ad8c ro recovery nomodeset dis_ucode_ldr
linux /boot/vmlinuz-6.14.0-35-generic root=UUID=1785c362-92ff-4a9a-b254-f950db82ad8c ro quiet splash $vt_handoff
linux /boot/vmlinuz-6.14.0-35-generic root=UUID=1785c362-92ff-4a9a-b254-f950db82ad8c ro recovery nomodeset dis_ucode_ldr
linux /boot/vmlinuz-6.14.0-34-generic root=UUID=1785c362-92ff-4a9a-b254-f950db82ad8c ro quiet splash $vt_handoff
linux /boot/vmlinuz-6.14.0-34-generic root=UUID=1785c362-92ff-4a9a-b254-f950db82ad8c ro recovery nomodeset dis_ucode_ldr
linux /boot/vmlinuz-6.14.0-36-generic root=UUID=1785c362-92ff-4a9a-b254-f950db82ad8c ro quiet splash $vt_handoff
initrd /boot/initrd.img-6.14.0-36-generic
}
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-1785c362-92ff-4a9a-b254-f950db82ad8c' {
menuentry 'Ubuntu, with Linux 6.14.0-36-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.14.0-36-generic-advanced-1785c362-92ff-4a9a-b254-f950db82ad8c' {
recordfail
--
linux /boot/vmlinuz-6.14.0-36-generic root=UUID=1785c362-92ff-4a9a-b254-f950db82ad8c ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-6.14.0-36-generic
}
menuentry 'Ubuntu, with Linux 6.14.0-36-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.14.0-36-generic-recovery-1785c362-92ff-4a9a-b254-f950db82ad8c' {
recordfail
--
linux /boot/vmlinuz-6.14.0-36-generic root=UUID=1785c362-92ff-4a9a-b254-f950db82ad8c ro recovery nomodeset dis_ucode_ldr
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-6.14.0-36-generic
}
menuentry 'Ubuntu, with Linux 6.14.0-35-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.14.0-35-generic-advanced-1785c362-92ff-4a9a-b254-f950db82ad8c' {
recordfail
--
linux /boot/vmlinuz-6.14.0-35-generic root=UUID=1785c362-92ff-4a9a-b254-f950db82ad8c ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-6.14.0-35-generic
}
menuentry 'Ubuntu, with Linux 6.14.0-35-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.14.0-35-generic-recovery-1785c362-92ff-4a9a-b254-f950db82ad8c' {
recordfail
--
linux /boot/vmlinuz-6.14.0-35-generic root=UUID=1785c362-92ff-4a9a-b254-f950db82ad8c ro recovery nomodeset dis_ucode_ldr
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-6.14.0-35-generic
}
menuentry 'Ubuntu, with Linux 6.14.0-34-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.14.0-34-generic-advanced-1785c362-92ff-4a9a-b254-f950db82ad8c' {
recordfail
--
linux /boot/vmlinuz-6.14.0-34-generic root=UUID=1785c362-92ff-4a9a-b254-f950db82ad8c ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-6.14.0-34-generic
}
menuentry 'Ubuntu, with Linux 6.14.0-34-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.14.0-34-generic-recovery-1785c362-92ff-4a9a-b254-f950db82ad8c' {
recordfail
--
linux /boot/vmlinuz-6.14.0-34-generic root=UUID=1785c362-92ff-4a9a-b254-f950db82ad8c ro recovery nomodeset dis_ucode_ldr
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-6.14.0-34-generic
}
}
...to which it responded: "PERFECT—your GRUB config is 100% correct. Every root=UUID=1785c362-92ff-4a9a-b254-f950db82ad8c matches your fstab exactly.
GRUB hands the kernel the right parameters. The problem is initramfs itself failing to mount root."
It then sent me down this wasted rabbithole of "Since everything else checks out, increase initramfs root delay + force regeneration".
If anyone can help me where the AI could not, I would be very appreciative. Of course I will give any other information you may need.
Edit: As asked for me to add:
ubuntu@ubuntu:~$ cat /etc/fstab
overlay / overlay rw 0 0
tmpfs /tmp tmpfs nosuid,nodev 0 0