About --- If your Xen system is based on UEFI with the ESP mounted on /boot/efi, you will get a linking error when trying to install a hypervisor like: xen-hypervisor-4.20-amd64_4.20.0-1+ub24u04.5_amd64.deb Your ESP mount is similar to below: UUID=26F1-4BDA /boot/efi vfat rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 2 Workaround --- This trick proposes to manually install the included *.efi into /boot/efi, unmount the ESP (boot/efi), do a normall install, finally remount ESP. to extract the *.efi from the hypervisor package: // ar, install binutils apt install binutils man ar mkdir zztemp && cd $_ dpkg -x ../xen-hypervisor-4.20-amd64_4.20.0-1+ub24u04.5_amd64.deb above works, but it extracts the whole package to curdir. A more compact way is to use ar (with the hypervisor above): ar -xv ../xen-hypervisor-4.20-amd64_4.20.0-1+ub24u04.5_amd64.deb x - debian-binary x - control.tar.zst x - data.tar.zst the *.deb contents are in data.tar.zst, and we can access precisely the *.efi like this: tar -Ipzstd -xf data.tar.zst --wildcards */*efi --strip-components 5 xen-4.20-amd64.efi xen-4.20-xsm.efi While the ESP is mounted to /boot/efi : sudo cp -p *.efi /boot/efi/EFI/ubuntu To continue with the install of the new xen release, we have to unmount the ESP sudo unmount /boot/efi sudo apt install ./*.deb After above succeeds: sudo mount /boot/efi sudo systemctl daemon-reload Author --- PryMar56 June 2025