KDE 17.0.5 EFI - Cannot boot in VirtualBox



Cannot boot fresh KDE 17.0.5 EFI install in Virtualbox.

Installation completes successfully, reboot starts OS successfully, but after first VM shutdown it refuses to boot subsequently. Fails straight to EFI shell.

Seems it cannot find the EFI boot partition. When I enter either of the following commands to manually set it within the EFI shell it boots straight to grub.


Changing the VM boot order doesn’t help, the only workaround is to manually set it in EFI shell after failing.

Done a lot of VM installs and haven’t seen this on a very simple install.

Any ideas?


From EFI shell

edit startup.nsh



Save and reboot.

Still gets the EFI error in screen image above, but after 5 second timeout it boots using the startup.nsh workaround.

Messy and still don’t know why happening in the first place.


Are you trying to boot a VM using a ACTUAL Physical or pre-existing disk partitions, rather than a virtual partition that resides in a file (or group of files)?

Also did you enable EFI check box on the Settings / System / Motherboard tab in the VirtualBox Manager for this machine?


Issue is the bootloader filename in /boot/efi/EFI/boot.

Manjaro installs grubx64.efi and it should be named bootx64.efi. Copy from Manjaro directory and boots fine.

sudo cp /boot/efi/EFI/Manjaro/grubx64.efi /boot/efi/EFI/boot/bootx64.efi 


EFI settings are fine, it was a case of the default bootloader not being found. Seems Vbox is hardwired to look for bootx64.efi, Manjaro installed it as grubx64.efi.

Not sure if this is a Calmares bug or Virtualbox issue, or a little of both.


I’ve seen some topics on that in arch wiki as well as virtual box forum, and apparently in the VB Efi shell you can set the name it should load via F2, but it forgets it after power off.
https://wiki.archlinux.org/index.php/VirtualBox#Installation_in_EFI_mode says you can’t rely on the F2 shell.

Others report the latest version is supposed to do it right.

Seems to me if they offer it they should honor it. But you got it working so…


I think the issue is that Virtualbox EFI implementation doesn’t persist EFI runtime variables (ie efivars). So you could use tools like efibootmgr from within a VM to adjust your EFI boot config (ie set default bootloader to EFI/Manjaro/grubx64.efi), but when you reboot none of it sticks.

EFI/boot/bootx64.efi is the default EFI bootloader location, which automatically resets upon VM shutdown and boot.

My somewhat limited understanding anyway…


This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.