I've finally compiled a utility I've been trying to for awhile.
That utility is devio.
What this utility does, is serve either a disk image or iso file and allows you to mount it on a remote pc.
I mounted a 16GB iso file that contains 73 different versions of Windows on my phone.
Then I mounted it over wifi on my pc, and installed Windows 8.1 into a vhd file using WinNTSetup v3.6.5
It worked slower than directly hooking it via usb, but it was still acceptable.
I tested the copy of windows installed to the vhd, and it appeared to be working fine (No weird messages in event viewer, etc)
There are many other ways to mount the image, either through ftp, http, smb, etc.
But the protocol devio speaks allows for the lowest overhead, so in theory the best possible speed.
I have posted the source on my github here:
I had to use api level 12 because essential functions pread and pwrite are present only in this api onward.
Because of this, it only works on Android 3.1 or greater.
It gave me some errors when I tried to compile it statically, but it seems to work fine dynamically linked.
Of course, this means some devices will have linking issues.
It will not be easy to figure out the issue, so I probably won't look into it.
I've uploaded the file with an apk extension, remove it after you download if you want.
Here's an example of using devio:
In android, things are mapped differently than windows, so you won't be able to mount \\.\D: or \\.\PhysicalDrive1
You would have to mount it like this:
/storage/sdcard/devio 9000 /storage/extSdCard/ISO/Windows.iso