Is this Rocky 8 or 9? I was assuming 9.
The commandline argument root=UUID= wants to point to your root partition sda3 and not boot on either r8 or r9.
Why are you using the xfs file system for boot which is usually a 1 or 2 gig partition of relatively small files?
That [XFS] is the installer default. You could ask Red Hat why. You can ask users why they accept proposed defaults, but they could ask how they could know better.
Indeed. Only the el9 has mere stub in /boot/efi/EFI/rocky/
That stub (if it exists), the real grub.cfg (always /boot/grub2/grub.cfg in el9), and the /etc/fstab
do refer to the /boot by UUID.
The initramfs for each kernel, do they have a copy of /etc/fstab in them for early mounts?
Probably not – the /boot is not “essential”.
No, you don’t need to change it. That’s irrelevant at this point. Some will say use a non-journaling filesystem like ext2 for /boot because it’s not necessarily needed to have journaling enabled for that particular mountpoint.
Whether that is boots new or old UUID the only places it should appear is in fstab for boots mount point and in the stub grub.cfg on /boot/efi/EFI/rocky/ .
Both locations require opening in a text editor to correct. To restore the kernel command line reference to your root partition you need to run grubby again thus:
Running grubby per above should correct the entries in /boot/loader/entries/ and in /etc/kernel/cmdline .
You should remove any reference to “root=” in /etc/default/grub , do this first. The only commandline arguments there should be those that were there before.
Then as a belt and suspenders type of action you can rebuild grub
So the question now is can you boot into your system now to effect these corrections? Can you get to a grub menu from the firmware boot menu “F12” at the logo on my machine? If you can then at your chosen entry hit “e” to edit and then go to the linux line and replace the root= argument with root=/dev/sda3
then enter cntrl+x to boot that entry.
If you can’t boot into your system that way then you’ll have to use a rescue disk and chroot mount your system. Then mount boot to “/boot” and boot/efi to “/boot/efi”
Thanks everyone, I have gotten it to work. I did grep around as most suggested and found every reference to the old UUID, it appears this file was hanging on: /boot/efi/EFI/Rocky/grub.cfg and I had to hand edit it and my /etc/default/grub was incorrect, I needed to do nothing there but regen it. It was also suggested I run sudo dracut --force, thanks everyone!