XCP-ng could fail to boot, complaining that error: file /boot/initrd-4.19-xen.img' not found. This happened to me after a interrupted XCP-ng boot, but the problem can rectified easily.

Fig.: Error shown during boot about missing initrd image.

While the current kernel is broken, XCP-ng has a fallback kernel that will allow you to boot up properly and acess the shell. This can be accessed as one of the options during boot up in the grub menu (the page that says that “The highlighted entry will be executed automatically in 5s.”). Hopefully XCP-ng boots up with the fallback kernel properly. When XCP-ng has booted up successfully into its main page, access the shell and observe the following files in /boot.

Fig.: Red highlighting shows that symbolic link is broken.

The white text with red background indicates that the symlink is broken. The XCP-ng documentation recommends the dracut command dracut -f /boot/initrd-<exact-kernel-version>.img <exact-kernel-version>. In this case, the command dracut -f /boot/initrd-4.19.0+1.img 4.19.0+1 is suitable. This command takes about 30 to 60s to run. After which, the ls -la command will then show that the symlink is fixed.

Fig.: No more broken symbolic link after dracut fix.

XCP-ng will then boot normally even with the default boot setting.