February 5, 20224 yr Hi folks, So I was following the SpaceinvaderOne tutorial in order to pass through my unassigned NVME by passing through the controller, clone my vdisk that is on my Samsung SSD Cache onto it, then use it baremetal for my VM. Summary: Passed through WD NVME controller to my daily driver VM (vdisk on Samsung Cache). Cloned the VM onto it using EaseUS software. Tried to reboot VM, stuck at Tiano Core Logo. Formatted the WD NVME to try and clone it again and re-do process to see if it works. I pass through the NVME once formatted, but this time get stuck at Tiano Core screen before even being able to clone again. The next part is the part I really don't get: I created a test VM again on my Samsung SSD cache as a Vdisk to see if I could inspect a standard XML with no modifications. This time I did not even attempt to pass anything through. Check the XML, and there in the XML the NVME is showing up in the section regarding boot order. Yet...this VM boots just fine, and the NVME is not actually passed through at all since I did not modify anything. Any VM I create now seems to reference the 03:00.0 pci device, the NVME, yet if I try and pass it through again I get the Tiano Core screen and it just hangs there. I can't even attempt to clone the OS onto it again until I can boot the vdisk with it passed through. This is the unassigned WD NVME (note the number 03:00:00): [15b7:5006] 03:00.0 Non-Volatile memory controller: Sandisk Corp WD Black SN750 / PC SN730 NVMe SSD [N:0:8215:1] disk WDS500G3X0C-00SJG0__1 /dev/nvme0n1 500GB This is the relevant XML section from the test VM (see line 8): <devices> <emulator>/usr/local/sbin/qemu</emulator> <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='writeback'/> <source file='/mnt/user/domains/Windows 11 - Test/vdisk1.img'/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/isos/virtio-win-0.1.208-1.iso'/> <target dev='hda' bus='sata'/> <readonly/> <boot order='2'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/isos/virtio-win-0.1.208-1.iso'/> <target dev='hdb' bus='sata'/> <readonly/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> Any reason this unassigned NVME now keeps coming up in the XML in my vm even when not passed through, yet when I try and pass it through I can no longer boot the VM? I'd like to try and diagnose why the cloned NVME was not working in the first place, but it seems like I first need to pass this hurdle. Thanks! P
February 7, 20224 yr On 2/5/2022 at 5:47 PM, pandan888 said: <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> This line has nothing to do with your nvme address. That line specifies the pci address inside the vm (it's the target address, not the source!). You are using a vdisk saved in /mnt/user/domains/Windows 11 - Test/ attached to a virtio controller, at address 03:00.0 in the vm. You can change that address in the xml to something else, not in use by something else, for example 04:00.0 or 05:00.0, or what you want, obviously providing also a pcie-root-port to attach to it. To passthrough the nvme, you simply delete this: <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='writeback'/> <source file='/mnt/user/domains/Windows 11 - Test/vdisk1.img'/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> </disk> and add this: <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> </source> <boot order='1'/> <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> </hostdev> Better to isolate at boot the nvme 03:00.0 Edited February 7, 20224 yr by ghost82
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.