setup a new ubuntu 23.04 which was running for some days. All of a sudden while rebooting the system failed to the initramfs prompt.
Begin: Running /scripts/local-premount .... Scanning for Btrfs filesystems
done.
Begin: Waiting for root file system ... Begin: Running /scripts/local-block...done.
done.
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=xxxx does not exist. Dropping to a shell.
My setup:
- nvme disk
- gpt layout
- UEFI system
- secure boot
- brtfs filesystem on /, subvolume /home.
A parallel windows boots with a grub entry.
I was able to install an older kernel+initrd from a separate system and was able to boot with a manually edited grub.cfg.
So I think the filesystem is ok, as well a the UUID in /etc/fstab -- since it stays the same.
I checked the disk without any error.
update-grub seems to work as well, it's just picking up the manual kernel/initrd, overrides the grub.cfg and I'm able to boot again.
BUT when I re-generate the initrd boot breaks with above error.
Still same kernel boots with the previously copied initrd, so I think update-initramfs is broken.
For sure I checked
- /proc/cmdline (differs only in BOOT_IMAGE from the working one)
But /proc/modules is completely empty, so /proc/filesystems is missing btrfs.
I tried to break in initrd with the running (copied) initd by entering an invalid UUID, and I checked that /proc/modules is filled, btrfs was loaded and so /proc/filesystems contains btrfs. blkid is also working.
So initramfs build process is broken on my system, since the recent as well the old versions stopped with same error.
Just by the size initrd files looks similar, I checked /etc/initramfs-tools/initramfs.conf and its the same with my parallel / running system.