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, andxen.efi
requires axen.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 agrub.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.