Mount a USB to Hyper-V Virtual Machine


Since I wanted to test the new features of SCCM 2012 on my test server, I decided to install Hyper-V on a Windows 2008 R2 SP1. After everything was installed and worked fine, I needed to mount a USB removable storage to the VM.

To do this on my Ubuntu host and VMware I chose “Removable Storage” on my VM and select the USB attached to my host machine. Or even easier; I copy the file or folder from the USB on my Ubuntu host and paste it on the VM...very easy :)
This didn't work on Hyper-V. I checked the settings on Hyper-V server and the VM. There was no option to mount a USB removable storage to the guest VM and no option for “file sharing”.

I came across some different solutions on some tech-forums, but non of them satisfied me. While playing and trying around, I found the shortest and easiest way that worked for me. Mounting the USB removable storage as a VHD.

Before you start, you have to now the size of your removable storage that you will need in step 3. To learn the real size, on your host machine clickComputer → right-click removable disk → properties: On general tab you will see it written as Bytes and GB.


1. First right click on your Hyper-V server or chose from Actions: New → Hard Disk


2. After clicking twice Next write the name you want (I named my vhd driveUSB.vhd). Click Next 


3. Select “copy the content of the specified physical disk” and select the physical drive that is corresponding to your removable storage. In my case, it is the “Physicaldrive3 - 7 GB”



4. Now it is copying the content of the removable storage and creating the USB.vhd file. Depending on the size this can take some minutes. It doesn't matter how much free space you have on your removable storage, because it creates a vhd file with the entire size of the removable storage


5. Now on your VM, go to settings, on the left pane select SCSI Controller, on the right pane select Hard drive then click Add


6. Click Browse and chose the vhd-file that you have mounted your removable storage to. In my case it is USB.vhd. Click open. That's it.. 



7. Now you should be able to see the removable storage as a drive, when going to Computer. In my case it is Local Disk (E:) with 7.61 GB 


If you can't see your removable storage on “My computer”, it is possible that the drive is off-line.
On your VM, go to computer Management (right-click Computer manage or administrative tools → computer management).

Expand Storage and select Disk Management. If there is red arrow icon, this means that the disk is off-line. Right-click the disk (in my case Disk 1) and select Online


And now the disk becomes online and a drive letter is assigned to it. Now you can see the drive when you you go to Computer



Removing (unmount) the drive:

If you don't need the drive anymore and want to remove it, on your Hyper-V Manager, right-click your VM, select Settings → SCSI Controller → Hard Drive (your USB.vhd). On the right pane click Remove → Apply → OK

Tip: Mounting the drive to multiple VMs. You can use the drive on multiple VMs as long as every VM has its dedicated vhd file. To do that, copy the USB.vhd file and rename it as needed. Then mount it to another VM.

By default, the vhd files are under "C:\Users\Public\Documents\Hyper-V\Virtual hard disks”


P.S. One disadvantage with this method is, that you have to re-do every single step for every new USB drive that you want to connect to your VM on Hyper-V. Another disadvantage is, that at the first time when creating the vhd file, it takes a while also depending on the size of your USB disk. You should use USB disks with small sizes.



Trackback URL for this post:


It Worked

Awesome. Almost no posts on this. The one's that exist either have wrong info. or say it can't be done. Beautiful - Thanks!!!


Works a treat - all the other articles I saw didnt seem to work but this is great. Thanks!

please i am getting the same

please i am getting the same error any solution?

Failed to convert the virtual disk.
Incorrect function. (0x80070001).

Another easier way

First off, congrats on a good tutorial.

Never the less, a new way has been discovered by me (probably by a lot of people too), but it's the first i have seen, being posted here.

In Win8.1, i just mounted (as a drive) the VHD where the OS of the VM is installed. Right click on the VHD file and on the top of the context menu, there is the menu "Mount". It acts just like a disk (no matter the type, because you can read and write to it, and it holds the formatting that you applied within the VM).

You don't even need do create special folders (like shared ones), because you can see the VHD just like your own C: drive on the host OS.

I have not tried it on linux to win or win to linux (host to VM), but if the formatting stays the same, windows cannot read linux disk formatting, so probably this will not work if it's not a windows to windows situation.

If someone tries linux to win, share your findings please. And comment for the ones that tried this, if it works for you. Best regards.

Hi, This method worked fine

This method worked fine for Ubuntu 14.04 on HyperV so thanks alot. Alas it did not work for Ubuntu 15.04 but probably because I am having problems with networking on that machine.

Reply to comment | Senior Project Manager, IT

What is Windows Hosting?

Mount a USB to Hyper-V Virtual Machine

This is the best i have seen so far on this issue.
Very good post, even though some of the steps are missing in your post.
I tried to do this with a 16GB USB drive in Hyper-V on Windiws Server 2012 Datacenter

Errow Message after i choose Finish in step 4:
The Server encountered an error trying to create the virtual hard disk.

Failed to convert the virtual disk.
Incorrect function. (0x80070001).

Please help!

Reply to comment | Senior Project Manager, IT

Great post! We will be linking to this particularly great content on our website.
Keep up the great writing.

Nice post! recommended for

Nice post! recommended for reading. good alternative way for mounting USB/make USB data work (read-write) from USB stick

#sorry for my bad English hehehe..

Great method to get around

Great method to get around the USB passthru limitation! Installed Server 2012 on a guest from a USB installation drive. Thanks for sharing!

USB Dongle...

I'm trying to install software on a Hyper-V VM that requires a dongle for security. How would you go about configuring a dongle to work with Hyper-V??? I don't think I can just copy it to a drive...

Reply to comment | Senior Project Manager, IT

It'sdifficult to find educated people ߋn thіs subject, hօwever, you ѕee like
уou know what үoս're talking ɑbout! Ҭhanks

Allso visit my weboog - Alkaline Diet And Cancer

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Enter the characters shown in the image.