Shim is not required on non-SB systems. Ubuntu supported direct usage of grub without shim since forever and I see no reason to drop such support. If you're sure shim is required then make it dependency of the grub.
I didn't use boot-repair. I simply updated from 19.04 (without shim) to 19.10 (still without shim) which broke chainload.
2. You're right. While I don't exactly understand what grub_loader_set() does:
but I took a look at grub_secureboot_chainloader_boot() and it indeed gets 0 from handle_image()/read_header() and expected to call grub_load_and_start_image(). However on my system the latest log record comes from:
grub_dprintf ("chain", "Secure Boot is not enabled\n");
and then I guess from grub_load_and_start_image() it immediately goes back to the menu.
This screenshot has been taken using the latest grub2 from eoan without any custom patches. If you want to see full video of boot process send me a message using https://launchpad.net/~xeron-oskom/+contactuser.
This patch may be wrong but it fixes the issue for me. I already tested it on my actual system (not just VirtualBox).
Now to your comments:
1. shim is not dependency of grub2. My 18.04, 18.10 and 19.04 installations had only these packages and no shim:
grub-common, grub2-common, grub-efi-amd64, grub-efi-amd64-bin
Shim is not required on non-SB systems. Ubuntu supported direct usage of grub without shim since forever and I see no reason to drop such support. If you're sure shim is required then make it dependency of the grub.
I didn't use boot-repair. I simply updated from 19.04 (without shim) to 19.10 (still without shim) which broke chainload.
2. You're right. While I don't exactly understand what grub_loader_set() does:
grub_loader_set (grub_secureboo t_chainloader_ boot, grub_secureboot _chainloader_ unload, 0);
but I took a look at grub_secureboot _chainloader_ boot() and it indeed gets 0 from handle_ image() /read_header( ) and expected to call grub_load_ and_start_ image() . However on my system the latest log record comes from:
grub_dprintf ("chain", "Secure Boot is not enabled\n");
and then I guess from grub_load_ and_start_ image() it immediately goes back to the menu.
This is the last page of logs with "debug=all" – https:/ /i.imgur. com/PFRSqg8. png
This screenshot has been taken using the latest grub2 from eoan without any custom patches. If you want to see full video of boot process send me a message using https:/ /launchpad. net/~xeron- oskom/+ contactuser.