grub error failed to get canonical path
by Dain_Bramage from LinuxQuestions.org on (#6HEBP)
I am running Ubuntu 22.04 root on zfs with mirrored pools.
Code:root@orac:/home/mike# blkid | grep bpool
/dev/sdd3: LABEL="bpool" UUID="10149266795976124053" UUID_SUB="7554971749162667878" BLOCK_SIZE="4096" TYPE="zfs_member" PARTUUID="ffc44ed2-67ac-b14d-8674-5653f5457c8f"
/dev/sde3: LABEL="bpool" UUID="10149266795976124053" UUID_SUB="1881332597513951535" BLOCK_SIZE="4096" TYPE="zfs_member" PARTUUID="09185217-6483-d64d-a146-25b9b2ef7fcc"Code:root@orac:/home/mike# lsblk | grep sdd
sdd 8:48 0 1.8T 0 disk
sdd1 8:49 0 512M 0 part /boot/grub
sdd2 8:50 0 2G 0 part [SWAP]
sdd3 8:51 0 2G 0 part
sdd4 8:52 0 1.8T 0 partSo as you can see grub is installed on /dev/sdd and the operating system boots from /dev/sdd
I decided that I wanted to change the UUID of /dev/sde but when I ran update-grub I got this error:
Code:root@orac:/home/mike# update-grub
/usr/sbin/grub-probe: error: failed to get canonical path of `/dev/disk/by-partuuid/09185217-6483-d64d-a146-25b9b2ef7fcc'.It was easily fixed by changing the UUID back but I am puzzled as to why grub cares about the UUID of a drive it is not installed on?
Code:root@orac:/home/mike# blkid | grep bpool
/dev/sdd3: LABEL="bpool" UUID="10149266795976124053" UUID_SUB="7554971749162667878" BLOCK_SIZE="4096" TYPE="zfs_member" PARTUUID="ffc44ed2-67ac-b14d-8674-5653f5457c8f"
/dev/sde3: LABEL="bpool" UUID="10149266795976124053" UUID_SUB="1881332597513951535" BLOCK_SIZE="4096" TYPE="zfs_member" PARTUUID="09185217-6483-d64d-a146-25b9b2ef7fcc"Code:root@orac:/home/mike# lsblk | grep sdd
sdd 8:48 0 1.8T 0 disk
sdd1 8:49 0 512M 0 part /boot/grub
sdd2 8:50 0 2G 0 part [SWAP]
sdd3 8:51 0 2G 0 part
sdd4 8:52 0 1.8T 0 partSo as you can see grub is installed on /dev/sdd and the operating system boots from /dev/sdd
I decided that I wanted to change the UUID of /dev/sde but when I ran update-grub I got this error:
Code:root@orac:/home/mike# update-grub
/usr/sbin/grub-probe: error: failed to get canonical path of `/dev/disk/by-partuuid/09185217-6483-d64d-a146-25b9b2ef7fcc'.It was easily fixed by changing the UUID back but I am puzzled as to why grub cares about the UUID of a drive it is not installed on?