Xen Hypervisor On CentOS 7.4 With Modern UEFI Server Not Booting From Grub

Home » CentOS » Xen Hypervisor On CentOS 7.4 With Modern UEFI Server Not Booting From Grub
CentOS 6 Comments


I installed CentOS 7.4 on a modern Lenovo ThinkSystem SR630 server which uses UEFI. So far so good CentOS 7.4 works fine so then I went on to install the Xen hypervisor by following the instructions from the wiki (https://wiki.CentOS.org/HowTos/Xen/Xen4QuickStart).

Unfortunately when I reboot after having installed the xen package the system does not boot into “CentOS Linux, with Xen hypervisor” from the grub menu prompt. I get the following error:

Loading Xen 4.6.6-8.el7 … error: can’t find command `multiboot’. Loading Linux 4.9.75-29.el7.x86_64 … error: can’t find command `module’. Loading initial ramdisk … error: can’t find command `module’.

Press any key to continue…

The problem which I encounter here is exactly the same issue as described for Fedora in the RedHat bugs:
https://bugzilla.redhat.com/show_bug.cgi?id86317 with the exception that for me it’s CentOS 7.4 and that the workarounds as described in that bug do not work.

Does anyone know how I can make my CentOS boot with the Xen hypervisor using UEFI?

Thank you very much for your help.

Best regards, John

6 thoughts on - Xen Hypervisor On CentOS 7.4 With Modern UEFI Server Not Booting From Grub

  • Why do you need UEFI? It does not add to security “a lot” but was designed to block booting software like a “hypervisor”. I used my Dell notebooks to test our hypervisor identification software (HyperCatcher if you are interested) which is bootable image. However, I was unable to boot it until I disabled UEFI. As I understand it, it will block anything from booting excepting original OS. Your Xen and our HyperCatcher are outsiders for UEFI.

    Mikhail Utin

  • Usually not an issue with UEFI .. but with Secure Boot

    You need to make sure Secure Boot is off. It is sometimes called Legacy Booting turned on, etc.

  • You’re thinking of Secure Boot, not all of UEFI.

    For what its worth, UEFI is what we’re stuck with, all modern hardware uses it (and legacy boot is just a special UEFI bootloader). Intel plans to phase out the legacy bootloader in future releases of their chipsets as well, so it wouldn’t hurt to learn how to use UEFI.

  • I checked and secure boot is turned off.

    Jonathan brings it exactly to the point: we have to face UEFI because legacy mode is fading out, if I enable legacy mode I can’t even boot anymore through the network (PXE) as these newer network cards can only boot PXE with UEFI.

    In the mean time I have installed Ubuntu 17.10 with Xen and I was lucky to see that this combination works with UEFI even Xen.

  • Once upon a time, John Naggets said:

    UEFI PXE is different than BIOS PXE and needs to download different software from the TFTP server. I use syslinux for BIOS PXE, but it doesn’t seem to work with UEFI PXE so I use grub2 (I use the secure boot shim from Fedora to support as many setups as practical). You can have both available at the same time (takes a DHCP tweak).

    Just like the early days of BIOS PXE however, UEFI PXE clients don’t always seem to do the right thing. I have an Intel NUC (7th gen), and it always fails with UEFI PXE.

  • Hi Chris,

    For completeness just wanted to mention that it is the first time I
    see in newer servers that it is not possible to PXE boot from the network using legacy mode (BIOS). It seems like the NICs are missing the required piece of code for that as all 4 NICs of that server fail to boot legacy PXE with the following message:

    !PXE structure was not found in UNDI driver code segment.

    Best, J.