4

After a series of mishaps with Secure Boot (trying to sign VMWare Player kernel modules), GRUB stopped showing the entries corresponding to Ubuntu 19.10, installed as ZFS root (default 19.10 installer options), booting in the System Setup by default.

I was able to boot into my system by doing the following (from memory; some details below may be off).

In the GRUB shell, I entered

set root=(hd0,gptXXX)
linux /BOOT/ubuntu_YYY/@/vmlinuz root=ZFS=rpool/ROOT/ubuntu_YYY boot=zfs
initrd /BOOT/ubuntu_YYY/@/initrd.img
boot

To find which gptXXX partition to use, I ran ls and then ls (hd0,gptXXX)/ until I found the boot files. The ubuntu_YYY seems a unique identifier for the Ubuntu system. I found it by ls-ing around (hd0,gptXXX)/BOOT.

While ls-ing around from GRUB, I got a few errors concerning the compression algorithm 115 not supported.

I don't have any other operating system installed, and I disabled Secure Boot for now.

I wonder now what steps to take to restore the GRUB bootloader correct operation. If I can't fix it, I may simply end up installing a fresh 20.04 LTS copy. But at least the above can be of help for anybody ending up in the same situation.

Edit: I have compression=lz4 set on rpool (but not on bpool), it may be related.

0

Since your commands above get it to boot, the first & straightforward way is to insert them into your/boot/grub/grub.cfg (standard location) like this:

Menuentry 'my Ubuntu installation' {
insmod zfs
insmod part_gpt
insmod (whatever)
 ... here go your commands (without "boot")...
}

Most likely, if editing grub.cfg is enough, you many not even need the insmod stuff there. Anyway, won't hurt to take a look at the entries already there (created by the system install).

OR you may choose to reinstall grub altogether using grub-install command, assuming your (hd0) is /dev/sda: grub-install /dev/sda.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.