VMware Communities
Eljay451
Contributor
Contributor

Can I use VHD on VMware?

HELP!  HELP!

Can I use a bootable VHD as the boot OS on VMware Fusion?

- - - - - - - - - - - - - - - - - - - - - - - - - - - -

Given this scenario...

I work on a server farm in a billion dollar data center.

We have thousands of machines, running Windows Server 2008 R2, each of which runs dozens-to-hundreds of Hyper-V Manager virtual machines, and suffering the indignities of Chaos Monkey.

Those VM's have VHD's.

The VHD file format is the virtual hard drive format used by Windows Server 2008 R2's Hyper-V Manager.  The VHD file format is used by Windows Virtual PC, Microsoft Hyper-V, Microsoft Complete PC Backup.  A VHD can be booted in a VM, and can also be booted native.

Microsoft's VHD file format is an open format, covered by MOSP (Microsoft Open Specification Promise).  Props & kudos to Microsoft!

From what I understand, VMware supports native (i.e., not converting foo.vhd to foo.vmdk) VHD in their VMware ESX Server product, and their VMware Workstation product.  Awesome!  That sounds like the critical feature for me!

QUESTION. Does VMware Fusion support native VHD?

In this scenario, these are VHD's with an OS on them, which I need to boot.  These are not "data only" VHD's.

Converting the file from VHD to VMDK is not an option, since the VHD files range in size from 20 GB to 1 TB (but typically in the 20-30 GB range, the 1 TB size is atypical).  The steps I read for (in this forum) VHD to VMDK conversion are ad-hoc, slow, and sounds unreliable.  And Boot Camp is certainly not an option.

What I really want to do is take my MacBook to work out what problems are on the VHD in VMware Fusion, at my local coffee shop or the beach.  That would be awesome!

Having to convert several a day would not be viable.  May as well just VPN or RDC into a 2008r2 box and do the work over there on a HVM's VM.  Neither the coffee shop nor the beach have access to VPN or RDC, which shackles me to the dreary horrors of cubeville.

Some Google-fu investigation turns up that Parallels can use a native VHD directly, without converting the foo.vhd file to a foo.hdd file.  But I have had very good experience with VMware products in the past, and not so good experience with earlier Parallels versions (stability issues, which they've probably fixed by now, several major versions later -- but once burned, twice shy).

- - - - - - - - - - - - - - - - - - - - - - - - - - - -

Thanks in advance!

Tags (3)
0 Kudos
5 Replies
Eljay451
Contributor
Contributor

Thanks for the email about VirtualBox supporting VHD directly.  (As well as their own VDI format, and VMware's VMDK format, and Parallels HDD format.)

I am not familiar with VirtualBox at all, but I appreciate bringing it to my attention.  I'll keep that tidbit of information under my hat.

I have had very good experience with VMware in the past as a rock-solid product and top-notch support, and would prefer VMware Fusion as a solution, rather than a self-service solution.

0 Kudos
weinstein5
Immortal
Immortal

Welceom to the Community - ESX/ESXi cannot use a VHD natively it will have to be converted -  Workstation and Player can read a VHD natively and from a review of the Fusion documentation you will need to import the Microsoft Virtual Machine into Fusion for it to be used -

If you find this or any other answer useful please consider awarding points by marking the answer correct or helpful
Eljay451
Contributor
Contributor

I'm not so worried about converting the virtual machine configuration in VMware Fusion.  I'm confident I can create a suitable VM configuration by hand in VMware.

Alas, good to know about the ESX/ESXi situation on VHD.  😞

But Workstation and Player being able to use a native VHD is very good news, and bodes well for VMware Fusion.  If not right now at this very moment (still an open question), perhaps in the near future.

0 Kudos
WoodyZ
Immortal
Immortal

VMware Fusion is not designed to work directly with .vhd files and is not supported however it is doable with caveats.

The short answer is create a VMware Fusion Virtual Machine for the target OS type and then manually edit the .vmx configuration file to have the correct type of virtual hard disk and name that the .vhd is using and then take a Snapshot.  Next you have to boot the Virtual Machine with a Windows Live OS CD/DVD/ISO Image and inject the appropriate drivers and or modify the Windows Registry for same.  You will also have to disable the Microsoft Additions.  If you look at the contents of the "/Applications/VMware Fusion.app/Contents/Resources/importerVM/importer.iso" particularly the .reg and .sh files you'll see what needs to be done.

FYI AFAIK The only .vhd file that VMware Workstation and VMware Player are designed to work with "directly"* is the "C:\Program Files\Windows XP Mode\Windows XP Mode base.vhd" file.

* By "directly" this means it creates a special Snapshot called a "sentinel" and does automatically what will need to be done manually in VMware Fusion as previously mentioned.  The actual 'Windows XP Mode base.vhd" file is never modified.  When done in this manner it works without issues regarding the Windows Product Key and WPA (Windows Product Activation) however you will have issues in these areas doing this manually with VMware Fusion.

Eljay451
Contributor
Contributor

Thanks WoodyZ for the caveats, and the quick instruction overview!

I will give that a try as soon as I can (probably in a week or two, depending when my hardware shows up), and report back.

Mostly I'm concerned about Windows OS VHDs.  None of them are running Windows XP though.

Out of curiosity, does that also work with non-Windows OS VHDs, such as a VHD that has Linux or Free/Net/OpenBSD or GNU/Hurd or Plan 9 from Bell Labs or Haiku?  I'm not sure if those non-Windows OS's are ever pressed onto a VHD, but just in case it could be useful to know.  Especially to play around with them.  Maybe the VMDK would cover my interests on those.

None of the VHDs I've seen so far have Linux on them, although the above data center scenario does have some hosted VM's that run Linux.  (Hosted on 2008r2?  Not sure.)  Now I'll have to find out how they're being hosted.

0 Kudos