OVMF's UEFI Shell - Last Hurdle to a Working Gaming VM

Hi guys, I've had a varying degree of success on a few different machines now with GPU pass-through, mostly I do it for mates of mine and all the time using the tutorial supplied on the Arch wiki. So I kinda find it ironic that now my own personal system is not working. I'll elaborate on the setup so things are a little easier to troubleshoot.

I am using virt-manager to control things for the most part with a few edits to the domain's XML here and there, my current rig is a Dual E5-2670 machine with good IOMMU grouping and two GPUs, the host is using a GTX 1060 and the guest is a GTX 1070 which has been completely isolated from the linux system with vfio-pci.

As for drives I am passing through two drives, one being my intel boot SSD for WinX and the other is a 2TB storage drive for movies, games etc. Both of these drives were pulled from my dead gaming machine and reused here in the hopes I could make a virtual desktop out of them. This is where I have edited the domains xml as virt-manager operates on storage pools etc. My drive config in the xml file is as follows;

The rest of my configuration is pretty much vanilla, I have remade the VM several times now for troubleshooting purposes and now am at the point where I just leave QXL video and stuff alone rather than deleting them. My 1070 is being passed through just fine as it outputs to a second display without issue. I am however having an issue with what its displaying. Every time my virt machine boots it pushes me straight into UEFI shell, this isn't usually a problem as i just navigate to boot.efi in FS0 but for some reason I only get block devices appear and no filesystems;

I have tried a variety of configs now with just changing the settings from BIOS to UEFI in virt-manager on several different VM's using entirely different storage pools and EFI boot media. For example I have used a win8.1 installation iso in parallel with a generic 40gb storage pool and I will still get to the same screen (albeit with a different map) but will not list any filesystems. Exiting shell and trying to boot from the VM's boot menu does nothing, screen just goes black for .3 of a second before returning to the boot menu. All of the configs I've tried work fine if the virt-manager's firmware is set to BIOS rather than OVMF (But then I have no GPU passthrough). So I'm at a loss. I'll post a few more images of my config

I have also noticed the 'boot' partiiton of my WinX OS is weirdly enough on my 2TB drive rather than my boot SSD (O.o)

So in boot menu, the HDD is actually Disk 1 and the SSD is Disk 2.

Any help would be much appreciated, this has been driving me up the wall for a few weeks now.

1 Like

the EFI shell is showing no EFI entries, which means you'll need to reinstall windows. It appears you didn't install windows using UEFI.

This time, disconnect the 2TB drive from the VM and boot the winx iso. That should help.

1 Like

If you can somehow boot into Windows via EFI (not sure how you would unless a boot loader could do it), you can use EasyUEFI to re-add the EFI entry in Windows.

http://www.easyuefi.com/index-us.html

It'd be great if I could find a version of this program, or a program like it, for Linux.

@Vitalius I am actually able to dual boot into windows provided the disks are not in use by my VM, so I delete my VM and simply boot from the 2TB drive in my mobo's boot menu and it works fine. Lo and behold I check the system information and find that the boot is on legacy mode. ¯ _(ツ)_/¯

I haven't really had this OS up and running for a while so it is installing the Creators update for Win10 which will let me use MBR2GPT to convert from Legacy to UEFI without data loss. I'm still at a bit of a loss as to why my EFI partition is on my hard drive and not the SSD. It used to be the case that in boot menu I would select the SSD to boot into windows but now if I do it just shows a black screen with a cursor. If EasyUEFI can re-add it to the SSD that would be cool.

EDIT: After several hours of trying to install the 1703 version of windows and getting BSOD's everytime I'm going to try and use a different approach to see if I can change the MBR to a GPT. Reminds me of why I left windows in the first place.

2 Likes