GRUB Broken on TrueNAS Scale Install

I know the easiest solution would be to reinstall the OS, but at this point it has become a learning exercise.

I recently setup a TrueNAS Scale server and have been setting it up and transferring data. I needed to reboot and I think GRUB was looking for the install USB because I got a no such device and unknown filesystem.

I haven’t been able to figure out what I need to do to fix Grub on my install, and I do not want to let Grub win.

Part of what I’ve Tried:
Booting in to SystemRescue+ZFS and reinstalling Grub through that. I also confirmed my boot-pool was working and I ran a scrub while in SystemRescue

Trying to make a flash drive with ZFSBootMenu but apparently I’m missing something because I wasn’t able to get it to work. So if anyone has a good tutorial on how to do it, that would be great. I have a SuperMicro X9-DRH-7TF.

Installing a new TrueNAS install onto a spare drive and adjusting its Grub.cfg to add an entry for my broken install. Got the same error with missing device and unknown file system. I used BLKID to get the UUIDs of my partitions, but none of them see to be what GRUB wanted. And the grub.cfg entries for the ‘good’ install and my ‘broken’ install are basically identical except for the UUIDs. One thing I did notice is that I can’t figure out where the UUID is coming from in GRUB. None of them match the UUIDs in blkid. I tried using UUID, PARTUUID and UUIDSUB.

Using Grub Rescue from here but I couldn’t get that to boot either. Apparently I suck at making bootable flash drives of certain utilities.

I think what I need to do is figure out what UUID grub is looking for and put that into a grub.cfg, but I can’t figure out where its pulling it from.

Its possible i’m missing something very obvious so I need another set of eyes on this. Any ideas?

The only problem I’ve ever had with ZFS is with Grub when updating kernel or iniitramfs on Ubuntu.


Settting the environment variable in .bashrc

export ZPOOL_VDEV_NAME_PATH=YES
has fixed it for now.