How to bypass the EFI stub error or Display is not active in UTM

In this guide, I'll explain the workaround for the issues related to the boot with the GUI in UTM using Linux distributions mainly.

It could be used with any GUI issue, I personally found these issues in Fedora 38 and Ubuntu 22.04.2 LTS (both ARM) using UTM 4.2.5, but I strongly think that you may find it in every distro, certainly when using LUKS or when changing the default display type, I suggest using the default virtio-gpu-pci.

Common error messages

The most common error messages are:

“EFI stub”

“Display is not active”


Despite being very different issues, they can both be resolved with the method of this guide.

Workbench

  • Apple Silicon hardware
  • MacOS Ventura 13.3.1
  • UTM 4.2.5
  • Fedora 38 + Ubuntu 22.04.2 LTS, but it doesn’t really matter

Display config

 


 

Add the serial device and leave the default config

 


 


Remove the USB drive from the menu

It’s very well known that it can create issues with the boot process, but if you need it desperately, then put it below the boot disk drive.



Check the boot order in the UEFI

It’s better to double check the boot entries and make sure that the UEFI sees it in the correct order, the boot disk should be first to avoid issues.

Please note that any change that you make, it needs to be made again after every VM shutdown or VM window closure.

It seems there is no functionality that saves the UEFI config.

Disable clipboard sharing

I strongly believe is optional, but that’s my setup at the moment, less functionalities, less chances of failure, same reasoning for the USB drive.

 


Boot and insert the LUKS password

 



 

The terminal you see on the screen on the left side is the Serial Console that you added in UTM (so called “Serial”), after the UTM release 4.x.x, you need to add it manually, there isn’t anymore the option to select boot in “Console Only” mode instead of “Full Graphics” in the Display section.

This terminal will remain open, I suggest leaving it in this way, in case of issues with the GUI, you’ll have access to perform basic troubleshooting and probably restart the GUI server, just to mention one.

 

Please note that you may not be able to see the prompt line when the password is requested by LUKS, give it a kick with a random “enter”, or insert the password directly, but this method shouldn’t be the preferred one because it may get logged if you are not at that password-entry step yet.


Then, put your username and password when requested, but at that point, you GUI should be already fully working.


Check this guide for the best resolution tricks on MacOS with UTM.


What about the installation?

The OS installation doesn’t need anything as such, it seems working flawlessly even with the GUI, in case of issues, simply install the server version with the terminal and then install the GUI, nowadays it’s very intuitive, for example, with Ubuntu is less than 20 obvious steps in total.

What did we learn?

All the above has been tested with Fedora 38 and Ubuntu 22.04.2, but it should work in the same with any other distro out there.


At the given time, I wasn’t able to find the reason for the issue due to the missing logs for troubleshooting.

Looking at the stage of the failure, chances are of a GRUB missing entry for the display server config…


Please remember that also the Display type selected in UTM can change the game, so I recommended the default one virtio-gpu-pci for the GUI and the Serial for the terminal to rescue the situation.

The serial console can be also used as a first terminal choice, it supports clipboard sharing.


Comments

Popular Posts