Help needed on passthrough of SSD WIN 10 to virt-manager

i want to setup a windows 10 virtual machine on my manjaro distro through virt-manager.

the windows 10 is already installed and configured with all the softwares i need to run and is on a separate SSD on dev/sda how can i passthrough the SSD as a hard disk to virt-manager?

Hi, which guide are you following?

none, i couldnt find any on this subject.
i used this to setup a virt-manager with qemu and kvm but thats about how far i came…

Install and setup Virt Manager, KVM, and QEMU (Arch/Manjaro) by [Vashinator] in youtube

You could use virsh, to edit it seperate to virt-manager?

Like, if you do

sudo virsh edit VmName

then add the details like these:

  <driver name='qemu' type='raw' />

  <source dev='/dev/sda'/>

  <target dev='sda' bus='sata'/>

  <address type='drive' controller='0' bus='0' target='0' unit='0'/>
# if you installed the virtio drivers, better performance may be had with 

# working, bus=’virtio’ works fine too 

from here:

sorry i dont follow, what do you mean by edit it seperate to virt-manager? edit what?
and i have intel cpu not ryzen didnt see the video by wendell you posted tho…

Okay, so Virt-Manager is the program you use in Manjaro to launch and manipulate VM’s
But it just takes the VM’s “XML” file, and runs it.
The XML file is like the recipe for the actual machine, and you could use different front ends to actually start/stop it.

Virsh is a program on the command line, that allows for editing of the XML, with finer grained control of what you can change, past what virt-manager can do.

It might use Vim as the default editor, so make sure you know how to :wq your way out of it, but Virsh basically just lets you do more.
When you save and quit out of Virsh, it will also trigger a check, to make sure all edits are sane, and there were no missing characters / punctuation etc.

You can use other apps to launch/run VM’s, like cockpit etc, but I lie virt-manager, as it has a lot of options available, in an easy to use graphical interface, but it lacks the power of the cli…

got you, but where do i find the VM itself to open? i only have one thing in virt-manager its name is QEMU/KVM and the storage tab has two pools like so:

<pool type="dir">
  <name>default</name>
  <uuid>5b98b595-264e-4dbc-b1e7-3a981bb9a34b</uuid>
  <capacity unit="bytes">484571783168</capacity>
  <allocation unit="bytes">38445903872</allocation>
  <available unit="bytes">446125879296</available>
  <source>
  </source>
  <target>
    <path>/var/lib/libvirt/images</path>
    <permissions>
      <mode>0755</mode>
      <owner>0</owner>
      <group>0</group>
    </permissions>
  </target>
</pool>

and:

> <pool type="dir">
>   <name>pool</name>
>   <uuid>761bd786-43bf-486e-b011-dd83bd942c15</uuid>
>   <capacity unit="bytes">484571783168</capacity>
>   <allocation unit="bytes">38445703168</allocation>
>   <available unit="bytes">446126080000</available>
>   <source>
>   </source>
>   <target>
>     <path>/</path>
>     <permissions>
>       <mode>0755</mode>
>       <owner>0</owner>
>       <group>0</group>
>     </permissions>
>   </target>
> </pool>
sudo virsh list --inactive

Dang, editted the dev= bit

got nothing back:

$ sudo virsh list --inactive
Id Name State

$ sudo virsh list
Id Name State

Huh, how about if you start the vm, and run virsh list while it is running in V-M?

Presuming you have already set up a VM, and are just fine tuning it.
If you did not make one to start with, beacuse of the HDD passthrough, then we go a different way…

tried running a VMware and using the command you gave me, it output nothing again.

just watching the vid now, to see where the passthrough is mentioned, and fails.

I presume you can run a VM with just a virtual storage space to see if the rest all works?

Right, what kind of tasks would you like to do with your system once it’s all running?
Like, editing, or developing, or testing, or gaming?
Or just for services or hosting?

looks like there was already a thread about this with a possible soultion:

i am looking to run manjaro for my main work and a windows 10 VM machine(which is also a bare-metal in case i need it) for gaming.

Okay, the reason I ask, is because GPU’s can be finnekey.

The link above briefly describes how to pass through a block device, in Virt-Manager, without having to mess with the cli/virsh.

It also suggests to use the /dev/disk/by-id/ name for the device, rather than the /dev/sda because that letter can change.

so if you did:
ls -la /dev/disk/by-id/ | grep sda

it’d give the ata-OCZVertex4000shdfjhsd name for the drive, which won’t change.
It’ll also list the partition names as -part1 and -part2 etc.

I would say look at the Arch Wiki for info as well, but there is a lot to take in, so take a little time, try a few things, hit some errors, google them and carry on trying the next bit.

Nvidia GPU’s are notorious for troubles in guests, but that is another can of worms…

there are a few guides on this forum for the set up, two of the the most rated are here:

and the Arch Wiki is best reguarded written source for non partisan advice:
https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF

1 Like

after running the QUEM/KVM with the /dev/disk/by-id all i get is a error of booting:

Booting from Hard Disk…
No bootable device .

ill read the thread’s you linked and watch the video and try to make it running…

Okay, not so useful. As a trial, I presume that you tried with the /dev/sda just to check?

I saw a few posts about having to delete part of the disk, but that is something you don’t want to do if you can avoid it.

Another test would be to make a virtual storage pool rather than the raw disk, to make sure you can get something runngin, before you chuck the already-configured drive at it?

So just make any machine, and create a new storage space in any old folder, like a 30gb file, just to practice installing windows and stuff?