Cannot boot into Qubes 4.1 - what has changed in 4.1 boot routine (UEFI)?

As far as what changed from 4.0 to 4.1,

  • R4.0/UEFI does not use GRUB2. xen.efi is the EFI loader executed by the firmware, and xen.efi requires a xen.cfg configuration file for Xen and kernel parameters. Xen, the linux kernel, and the initramfs live on the EFI System Partition, which can be an issue during upgrades if the partition is too small.
  • R4.1/UEFI uses GRUB2. grubx64.efi is the EFI loader executed, which requires a grub.cfg file specifying to boot Xen using the multiboot protocol. GRUB2 lives on the EFI System Partition, but Xen, the linux kernel, and the initramfs are loaded from the /boot partition.

In R4.0, if you wanted to change Xen or linux parameters before booting, you had to use a livecd to modify xen.cfg and reboot. Or if you’re brave, save a reboot by booting into the UEFI shell, using the text editor in the shell to modify xen.cfg, and then executing xen.efi.

In R4.1, with GRUB2, modifying boot options is simple as hitting ‘e’ on a boot entry, make your changes, then booting the entry.

The latest unstable version of Xen now supports a unified EFI file structure which wraps xen.efi, xen.cfg, linux kernel and the initramfs into a single EFI loader. That would allow for allowing Xen to be booted using Secure Boot seamlessly as long as it was signed properly. This might then take GRUB2 out of the picture again.

4 Likes