Jump to content

SSD IOMMU Passthrough can't see drive on boot (but can during Windows 11 install)


Go to solution Solved by SpaceInvaderOne,

Recommended Posts

Hi everyone,

 

I'm making some update to the way my Windows 11 VM works and it seems like I can't get it to work properly. 

 

Previously, I was using a 1 TB NVME drive where I was binding the corresponding VFIO at boot of the corresponding IOMMU group. This worked really well and I was able to select "None" as my Primary vDisk Location.

 

Now, I decided to change my setup and little bit and want to use a SATA SSD as my main drive. I don't really care about my VM config so just decided to create a new one. I followed the same step, where I bind the corresponding VFIO at boot of the corresponding IOMMU group containing my SSD Drive. I have an MSI PRO B660-A DDR4 where all SATA ports are bound to 1 IOMMU group, which is fine, because I'm running my unraid array out of a separate LSI HBA card, so no issues there. In fact, it's even better because I'd love to pass not only a SATA SSD but some other SATA drives to my VM, so that would work.

 

IOMMU Group

 

I start the VM, jump right into the Windows 11 installer, I can see my drive just fine, go along with the Windows 11 installation until it succeeds.
Windows Installer can see the drive

Then, the VM restarts into the UEFI Interactive Shell, but I just can't see my drive. There is a few options, unfortunately, none seems to be corresponding to my SSD. At first, I thought maybe the binding was wrong, but then, the more I think about it, the more I was able to install Windows 11 on it, so the VM "should" be able to see it too right? 
UEFI Interactive Shell

 

From the UEFI Interactive Shell, I can type exit and then go to the BIOS Boot Manager, where I can see a few options.

 

  • Windows Boot Manager : Flickers briefly and brings me back to the same BIOS Boot Manager Menu.
  • EFI Internal Shell : Brings me back to the UEFI Interactive Shell.
  • UEFI QEMU DVD-ROM QM00001 : Boots the Windows 11 installation.
  • UEFI QEMU DVD-ROM QM00003 : Flickers briefly and brings me back to the same BIOS Boot Manager Menu.
  • UEFI PXEv4 : Tries to boot from a network attached devices.

 

Boot options available

 

I've tried playing around with the Logical CPUs, the Memory and a few other things. Here's what I currently have :

 

  • CPU Mode : Host Passthrough
  • Machine : Q35-7.1
  • BIOS : OVMF TPM
  • Enable USB Boot : No
  • Hyper-V : Yes
  • USB Controller : 3.0 (qemu XHCI)
  • Other PCI Devices : Intel Alder Lake-S PCH SATA Controller [AHCI Mode] | SATA controller (00:17.0)

 

VM Config 1

VM Config 2

 

Is there anything else in my IOMMU group that I should pass to the VM for it to be able to boot from my drive?

 

What am I missing?

 

Please see the attached screenshots for more detail.

 

Thank you!

 

Link to comment
  • Solution

Don’t bind the SATA controller; simply pass the SSD directly.

Run this command in the terminal:

ls /dev/disk/by-id/

 

This will display a list of all the disks on the server by their ID number. For example, here's what it shows on my server (though I've only included one SSD disk for clarity)

 

root@BaseStar:~# ls /dev/disk/by-id/
ata-CT2000MX500SSD1_2117E5992883@
ata-CT2000MX500SSD1_2117E5992883-part1@


 

If you want to pass this SSD to the VM in the vdisk location in the vm template, instead of selecting "none", you should specify manual and put

 

/dev/disk/by-id/ata-CT2000MX500SSD1_2117E5992883
 

(Note that I removed the '@'). Here, I am passing the entire disk, not just a partition (the second listing of my disk you see ends with -part1).

I hope this helps!

Link to comment

Thank you so much for replying. 

 

I’ve tried and it does indeed work. I was able to retrieve the ID using the unsigned device plugin too. 

 

Is using a vdisk slower than binding the IOMMU group? If I want to get the optimal performance, is this how I would achieve it? 

 

Thank you.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...