Background:
- Ubuntu Xenial
- ZFS installed for system disk (so, you know: rpool/ROOT)
- System runs fine, but when kernel updates,
grub-probe
barks error mentioned above - I would rather not reboot right now
There's a discussion here about grub-probe
and how it should "just be better", but this helps until that comes along. I got the idea from that discussion.
More detail: a complete instance of the error (for my system) looks like:
/usr/sbin/grub-probe: error: failed to get canonical path of `/dev/ata-ADATA_SP550_2G1520009135-part1'.
This is buried in a slew of detail spouted forth from an apt command to install graphics drivers (but that's not important).
This disk corresponds to one of my ZIL partitions. I added ZIL and cache after the install completed, so I suppose that's why I didn't see the problem before. I haven't yet rebooted, and that's why I'm seeing the problem at all. Yes, you can reboot to fix all this, but assuming you don't want to do that, read on:
If I look in /dev, I see links to all my ZFS disks that look like:
lrwxrwxrwx 1 root root 4 Sep 16 23:31 ata-WDC_WD10EARS-00Y5B1_WD-WMAV51436394-part1 -> sdc1
lrwxrwxrwx 1 root root 4 Sep 16 23:31 ata-WDC_WD20EZRX-00D8PB0_WD-WCC4MK86SWX7-part1 -> sdd1
lrwxrwxrwx 1 root root 4 Sep 16 23:31 ata-WDC_WD20EZRX-00D8PB0_WD-WCC4N1085683-part1 -> sde1
lrwxrwxrwx 1 root root 4 Sep 16 23:31 ata-WDC_WD2500JS-22MHB0_WD-WCANK4053187-part1 -> sda1
... but notably none for the ZIL partitions.
I can test the situation by running:
$ sudo grub-probe /
grub-probe: error: failed to get canonical path of `/dev/ata-ADATA_SP550_2G1520009135-part1'.
So the question is: how to fix this problem so grub-probe
behaves?