Demonstrations with VHD files

My current role involves more than just department and project management. it also involves pre-sales demonstrations.

Prepping for a demonstration is very time consuming and very difficuly, especially since its not my primary job function. Over time, I managed to define an approach that produces great demonstrations with minimal prep time. I am going to share this approach with you.

This approach is constantly improving and I value any feedback and recommendations you may have that can help me improve this approach.

1. Do not re-invent the wheel.

As a Microsoft Gold Partner, focused on SharePoint and ASP.NET solutions.  My demonstrations are focused on showing off Microsoft products. If my pre-sale demonstration leads to a sale, my Company and Microsoft wins. Microsoft is aware of this and they want my demonstrations to Rock! If fact, it’s in there best interest to build detailed demonstrations for me, and that’s exactly what they did.

Go to the following site,, log in with your Microsoft Partner account (Usually your Windows Live ID), and you will have access to a great selection of demonstration solutions that you can download and use. If you can not find your desired demonstration there, don’t worry, contact Microsoft directly, or visit your local Microsoft office with a hard drive and copy your desired demo directly. Its well worth the effort (and bandwidth). You can spend days creating your demo from scratch, and it wont be as good as these.

2. Understand the VHD file.

The demonstration solution provided by Microsoft is very big, the full download would be about 40 – 70 gigs, so make sure you have enough space.

You will notice that most (if not all) of the space is taken up by the Virtual Hard Disk (VHD) file. This file contains content that is found on a physical Hard Disk Drive, content like like files, folders, file systems and disk partitions.

VHD files are created for virtual machines like Microsoft Virtual PC. This file contains its own Operating System, with all the necessary software, configurations and data needed for the demonstrations. VHD files are created to run off Windows Server 2008 via Hyper-V (a virtualisation system), but since we are planning to demonstrate this solution via our laptops that’s (most likely) running Windows 7, we have to run the VHD file without Hyper-V.

3. Prepare the laptop for VHD demonstration.

Chances are, your laptop is not as powerful as the server the demonstration solution was expecting. So running a normal Windows 7 operating system and then assigning half your memory and other resources to the virtual solution will most likely give you a frustratingly slow environment which is not demo friendly, instead, what you want to do is give all the laptop resources to the virtual solution, and the only way you can do that is if you boot directly from the VHD file.

The ability of a physical computer to mount and boot from an operating system contained within a VHD is called “Native VHD Boot” and is supported by Windows 7 Enterprise and Ultimate, so make sure you have the right OS installed.

Also, your laptops virtualisation feature must be turned on, this feature is off by default. You will need to enter the bios and turn that on, if you can’t find that setting in your bios, chances are, your laptop may not support it, meaning that you will not be able to load VHD files and its time to start motivating for an upgrade.

A high end laptop is the obvious requirement when you are trying to run a server environment on your laptop, but if you can only focus on one thing. Let it be RAM.

These demo’s run multiple SQL servers, its own active directory and many other systems that, in real practice, should be installed on multiple servers, your demo may even show off the capabilities of handling millions of rows of data and producing results from complex queries and calculations, all this requires a memory, and lots of it. My recommendation is 8gigs of RAM at the very least.

Regardless the physical size of the VHD file, if the virtual size of the VHD partition is 200 gigs, you will need 200 gigs of free space for the Native VHD boot to be successful. So make sure your VHD file is copied on a hard disk with enough free space.

I understand that this is a difficult requirement, and also unnecessary, especially since the demonstration may only need about 70 gigs but you are forces to allocate about 200 gigs, so follow these steps to reduce the virtual size of our partition.

1. Load your Computer Management Console (run compmgmt.msc), Right Click on “Disk Management” and select “Attach VHD”, browse and select the VHD file.

2. The new disk with a new drive letter will be loaded, right click on the main volume and select “Shrink Volume”.

3. Select a new reduces size, allow for about 5 gigs above the minimal allowed size and ensure you have enough hard disk space for this new virtual size. Click “Shrink”

4. You will now have a reduced disk partition, while the rest of the disk contains unallocated space. All we need to do now is delete the unallocated space.

5. Detach the VHD file and load the VHD Resizer tool to remove the unallocated partition space (it’s a free tool available here :

4. Setup the VHD for Native Boot.

You now need to configure your laptop, so you have the option to boot from the VHD when your computer starts.

1. Attach the VHD via Disk Manager as defined above. Note the dive letter assigned to the partition.

2. Run “Command Prompt” as an administrator (this will not work if you do not run as administrator)

3. run the following command “bcdboot g:\windows” where “g” represents the drive letter of the attached VHD file.

4. That’s it, to confirm that all is configured correctly, run “msconfig” and select the boot tab. Details of the VHD boot settings should be shown here, you can also use this screen to delete the boot setting or change the default boot.

You should now restart your laptop and select the VHD option during the dual boot option screen. You may get a blue screen, with some details on what went wrong, hopefully it can be resolved, but if all goes well you will have the virtual Hard Disk running on your laptop, using all the resources available from the laptop.

5. Preparing for the demo

Unfortunatly, getting the VHD to run on your laptop does not mean you are done.   You need to make sure that your virtual environment is demo ready and that YOU are prepared to give a great demo.

For your virtual environment to be ready you need to ensure that all the drivers needed for the demo is installed correctly, especially the USB driver and the Display Card driver.

With the USB driver, you may attach your mouse and modem which may be useful for the demonstration. The Display Card driver may be more critical, especially if you are planning to demonstrate via a projector, which may not be possible if the drivers are not updated.

To quickly update your drivers, follow these steps:

1. Your original Windows 7 drive is accessible via the virtual environment, look for that drive via “file explorer” and note the drive letter,

2. Go to the Device Manager screen, select the device thats needs to work correctly, right click and select “Update Driver Software” and then select “Browse my computer for driver software”, select the following path “H:\Windows\System32” where H is the drive letter of the disk with your Windows 7 OS. The correct driver should install automatically and the selected device should work.

To prepare yourself for the demonstration, you need a good script and time to practice. Microsoft made it easy by providing a Presenter Script with the VHD download file that’s gives you a scenario that highlights all the features you are demonstrating.

Learn the script. If your demonstration is estimated to take 1 hour, you will need about 6-10 hours in learning the script and understanding how each feature is configured and how the desired results are achieved, this knowledge will come in handy during the Q and A session of your demonstration.

These VHD demonstrations have a trial version OS, set to expire in a few weeks.  Once the OS expires, functionality is limited and your demo is ruined.  Thankfully, there is a way to extend the expiry date:

1. While in the virtual environment, click start and then Command Prompt.
2. type "slmgr.vbs -dli" to view the status of the evaluation period
3. type "slmgr.vbs -rearm" to reset the evaluation period
4. you wil need to restart the PC

And thats it.  Just one more note worth mentioning, the demonstration environment may take about 10 minutes just to boot up, and there is no sleep function available on Windows 2008 OS's, so start your PC and cache up the environment before the presentation starts and good luck.


Popular posts from this blog

What Are SharePoint Architects?

SharePoint Lists Views + JS Links + Data Tables = Awesome Threesome

Why there is a shortage of SharePoint experts