I’m confused. You say that you’re booting off that drive that it can’t find. Like, this is your root drive?
But I believe that the kernel finding the root drive should happen much earlier than this. Like, you’ve got systemd stuff there on the screen. For that to happen, I’d think that you’d need to have your root drive already up and mounted. Grub hands that off to the kernel, believe that it’s specified in /etc/default/grub on my Debian system, then gets written out when you run sudo update-grub.
If I’m not misunderstanding that you are saying that the drive in question is your root drive, are you sure that this isn’t happening because there’s a reference to the drive – maybe another partition or something – in /etc/fstab is failing to find something?
Or maybe I’m just misunderstanding what you’re saying.
EDIT: if you just want to get it working, unless you’ve got some kind of exotic setup, I expect that you can probably boot into a very raw mode by, from grub, passing init=/bin/sh on the kernel command line. A lot of stuff won’t be functional if you do that, since you’ll just be running a shell and the kernel, but as long as you have a root filesystem, it’ll probably come up. Then I’d mount -o remount,rw / so that you can modify your root drive, and then fiddle your /etc/fstab into shape. Probably a live distro is more comfortable to work in, but if all you need is to get the regular system up, I’d think that fiddling with /etc/fstab is likely all you need to do that.
EDIT2: and then I’d probably compare the output of blkid to your fstab, from within the boot in your regular system, if that isn’t what you already did.