2
votes

There is strange way of information sharing between host and vm in Hyper-V called Data Exchange. It is so slow and uncomfortable. Especially on host machine, cause I need to use WMI to invoke AddKvpItems, RemoveKvpItems, etc. methods...

In my case, OS on VM is Linux, so I could use netlink to read data directly from kernel as it hv_kvp_daemon does...

Is there any way to write data on host machine "directly", without WMI using?

Or more general question: how can I send data with acceptable speed from host to vm and from vm to host?

P.S. Obviously, I could establish network connection, but in my case, virtual machine can be created without network adapters at all.

1

1 Answers

1
votes

Use Copy-VMFile with PowerShell on the host. You do need to run Copy-VM file from the host but it does work bidirectionally (you can send or receive data). File copy is disabled by default but you can enable it on a per-VM basis instructions here. You want to enable "Guest Services".

As for making sure file copy is available in your linux distro, the Linux support matrix is a bit complicated here is the Ubuntu support matrix other distros are available in the left hand nav. You can also check what is available via available linux drivers using these instructions. Look for hv_fcopy_daemon.

Hope that helps! Full disclosure: I work at Microsoft on Hyper-V and those are my docs. If you can't find the stuff you're looking for let me know :).