Category Archives: Virtualization

Windows 7 / Windows Server 2008 R2 – Boot to VHD

Windows 7 and Windows Server 2008 R2 support booting from a VHD directly.  No host OS involved.  Very nice!  It kind of blows my mind a bit to think of the possibilities. 

How Does It Work?

It works like a dual boot machine, where you pick your OS option at startup.  Instead of having physical disk partitions, you can multi-boot onto a VHD instead of a disk partition.  You can boot directly to a VHD running SharePoint 2010 beta for example.   You can have as many of these as you need (and have disk space for).

For people limited to 4GB or RAM on a laptop, this can help SharePoint 2010 run much smoother because it has all the physical memory, no memory sharing with the host.  Your physical disk is available from the booted OS (VHD becomes C:, and physical disks looks like a D:, E:, etc.).  All physical hardware is available, just as if you installed the OS directly to a disk partition.

You can even get it to work with Vista as your main OS on your machine if you’re not ready to rebuild your machine with Windows 7 or Windows Server 2008 R2.  

What’s the Catch?

There are a few catches that I’m aware of: 

  • It only works if the VHD is stored on an internal disk 
  • The OS on the VHD must be Windows 7 or 2008 Server R2
  • Hibernation and bit-locker don’t work when booted from VHD’s.  Suspend does work on my Dell D830 after I installed the NVIDEA drivers for my video card. 
  • It works best with a fixed-size VHD, dynamic VHD disks will run slower
  • There is a slight performance hit, around 3%, when compared to a boot from a physical disk.  It’s negligilbe, I haven’t noticed a difference at all.
  • The vhd is not portable to other boxes due to hardware differences between machines.  You can sysprep and image and move it that way.

Great! Now How Do I Set It Up?

I won’t recreate a detailed walkthrough here, but the basic gist of it is this:

  1. Insert Windows 7 or Windows Server 2008 R2 media
  2. Boot from the CD like you’re installing the OS normally
  3. At the first screen, hit Shift-F10 to open a command window
  4. Use the DiskPart utility to create and mount the vhd.  Type DiskPart at the command prompt cnd enter the following commands:
    1. create vdisk file=C:\VHD-Windows7.vhd maximum=40960
    2. select vdisk file=C:\VHD-Windows7.vhd
    3. attach vdisk
    4. exit
  5. Close the command prompt and continue setup
  6. Select the Custom (Advanced) Install option
  7. Select the VHD disk you created for the install
  8. That’s it!  The Windows installer takes care of the rest.
  9. If you want more control, you can use BCDEdit or EasyBCD to edit the boot menu


If you need a more detailed walkthrough, the best one I’ve seen is here:

If you’re interested in booting a Windows 7 VHD from a system running Vista (I’m not!), you might find these helpful:



Virtual PC / SQL Server – Restore Database Failure – Media Family Incorrectly Formed

I ran into a problem with SQL Server restore operations recently.  I got burned for quite a while, because I thought I had a problem with my SQL Server 2000 and SQL Server 2005 installation, a SQL Server or O/S version issue, or a problem with my database backup file.  Small SQL backup files restore fine, but large backups fail on the restore on VPC images

When I restored the large backup files, ISQL RESTORE DATABASE commands fail with the following symptoms:

  • Msg 3241, Level 16, State 37, Line 1 The media family on device ‘C:\Temp\MyLargeDatabase.bak’ is incorrectly formed. SQL Server cannot process this media family.
  • The media set shows a Backup Set Name of *** INCOMPLETE ***
  • RESTORE HEADERONLY FROM DISK=’C:\Temp\MyLargeDatabase.bak’ returns BackupName of *** INCOMPLETE ***, Position = 1, the rest of the fields are NULL

The Problem

Virtual PC Shared Folders corrupt files!  Especially large files.  Small files seem to work fine.  I’ve heard reports of problems with files over 1GB to 4GB in size.  My database was around 8GB.

You get the errors shown above when you reference a file across a VPC Shared Folder, or when you create a local VPC file copy by copying a file to your VPC disk over a Shared Folder connection.

The Solution

Copy or reference files using a traditional networking file share between the host and guest, and avoid using Shared Folders for large files (or altogether).


If you think you may be having a similar issue, you can use a tool like SlavaSoft’s fsum to perform checksum comparisons file on the host and guest systems to verify what’s going on.  Or you can take my word for it and save yourself the trouble.  I’ve experienced this (the hard way) with Virtual PC 2007. it!

digg it!




Virtual PC 2007 – Installing Vista / Windows Server 2008 Sound Drivers on VPC’s

When building Windows Vista and Windows Server 2008 VPC’s, I found it is sometimes difficult to get the correct device driver for the sound card installed.  After a few fruitless Google searches, I found lots of people with this problem and few solutions.  I finally found a blog post that gave me the help I needed.  Thanks to Greg Low Bit Bucket for his blog post, Greg Low’s Bit Bucket – Playing videos and sound in Windows Server 2008 using a Virtual PC (VPC).

First, as Greg said, if you’re using Virtual Server, you’re out of luck.  Virtual PC 2007 emulates a sound card, but Virtual Server doesn’t.  I’m not sure about Hyper-V.  If anyone has any findings on Hyper-V sound card emulation, please leave a comment and let us know what you found out.

Virtual PC 2007 Service Pack 1

The service pack has new sound emulator drivers for Vista and Windows Server 2008.  Be sure to install it and setup your VMC as a Windows Vista or Windows Server 2008 virtual machine.  As far as I can tell, the only difference between the operating systems you pick are the sound drivers and the memory allocation.  I normally tweak the memory allocation anyway.

Installing the Sound Drivers

To install the sound drivers, you need to install Virtual Machine Additions first, reboot, and then install the sound drivers from the C:\Program Files\Virtual Machine Additions folder on the VHD.

  1. Install Virtual Machine Additions (File > Install or Update Virtual Machine Additions).  This will mount a virtual drive and run a setup program to install the VM additions.
  2. After installing the software, reboot the VPC as directed
  3. If you get the Found New Hardware dialog, you can point it to the C:\Program Files\Virtual Machine Additions folder to install the drivers from there
  4. If you don’t get the Found New Hardware dialog (you disabled it because it was bugging you to death), you can install the device driver from the Device Manager
    1. Open the Device Manager (Start > Control Panel > Device Manager)
    2. Under the Other devices, you’ll see a yellow icon indicating you have a problem with the Multimedia Audio Controller
    3. Right-click the Multimedia Audio Controller and select the Update Device Driver option
    4. Select the option to “Browse my computer” and point it to the C:\Program Files\Virtual Machine Additions folder
    5. Click Next to install the device drivers
  5. After the device driver setup is complete, your sound should start working, and you’ll no longer have an annoying device driver warning when you startup your VPC

Installing Windows Media Player on Windows Server 2008

Windows Server 2008 does not have Windows Media player installed by default.  If you want to get streaming media audio running, you’ll need to install it.  To install the Media Player, you need to install the “Desktop Experience” feature.

The Desktop Experience feature enables a bunch of stuff that is by default present on a Vista workstation, but is not included by default on a Server 2008 installation.desktop OS.  Most importantly it includes Windows Media player, Themes, and the Aero related features.

  1. Open Server Manager (Start > Administrative Tools > Server Manager)
  2. Select Features > Add Features
  3. Check the Desktop Experience feature and click Next
  4. Click Install to install the feature
  5. Reboot as directed
  6. When the machine comes back up, WIndows Media Player will be there

After installing the Desktop Experience on Windows Server 2008, Windows Media Player will be available.  Themes and Aero will be installed but disabled, but I don’t need them bogging down my VPC anyway.


Greg Low’s Bit Bucket – Playing videos and sound in Windows Server 2008 using a Virtual PC (VPC) it!

digg it!