Windows 10 includes Hyper-V by default. You can enable it from “Turn Windows features on or off”. The latest version of Hyper-V does not allow transferring files between the host and the virtual machine directly. In this article, we discuss of ways to transfer files between the VM and the host easily.
There are three ways to copy or transfer files inside the VM from the host computer. One is to turn off the VM, mount the VHDX hard drive file in the host computer and copy the files to be transferred.
Second way is to create an ISO file and mount it inside the VM. Although it works if you have ISO creation software at your disposal, it requires extra effort. We are looking for a simple way to serve our purpose.
Third way is to join both, the host and the VM, to the same local area network. This can be quite easy if you are connected to a network. But if you are not connected to a network, it becomes increasingly difficult.
Creating a private network between host and guest VM
In this article, we will take the third approach but with a twist. We will create a private network between the host and VM and transfer files (or even share host drives with the VM). Just follow the steps below to make this happen:
Open Hyper-V (Run –> virtmgmt.msc)
From the right-hand menu, select Virtual Switch Manager.
Select New Virtual network switch and select Internal as its type. Click on Create Virtual Switch button to create a new switch listing.
Now open the VM settings. Under Network Adapter, select the name of the switch you just created.
Next, we have to assign static IP addresses to the two network adapters. First go inside the VM and assign a static IP address to the network adapter.
After this, we have to do the same for our host network adapter. Do not worry. These settings will not disturb your current network settings. If you go to Control Panel –> Network Connections, you will see a new network adapter by the name of the switch you created in step 3.
Assign an IP to the network adapter.
After completing these steps, your host and guest Operating Systems will be connected to each other through a private network. You can use Remote Desktop (Run –> mstsc) to login to your VM and even change Remote Desktop Connection settings to show host drives inside the VM.
Hopefully this will resolve the problem of sharing files between the host and the guest machines permanently. There are other methods like enabling guest integration services and then transferring files through PowerShell command line but I don’t prefer those methods are they are harder to manage if we have large amounts of files to transfer. What methods do you use to transfer files between VMs and the host?