Running SharePoint on a native boot VHD

Now that both Windows Server 2008 R2 and Windows 7 have RTM’d I’ve been experimenting with running SharePoint in a native boot VHD and it is working very well! Previously I was using Windows Server 2008 x64 with Hyper-V to dual boot my laptop which has 4GB of RAM to use as my SharePoint development environment. This worked okay but it had two disadvantages. First, you have to have multiple hard drive partitions. I had made a second 32GB partition for Win2K8 but had wasted space in the second partition. Second, I could only use 2GB of RAM for the VM because the VM host needed memory as well. The great thing about native boot to VHD is that the VHD only takes up as much space as it requires except while it is actually running. I haven’t seen this mentioned much but something to keep in mind about using an OS that has been booted from a VHD is that if you are using a dynamic disk and set its maximum size to say 64GB, then it will expand to its maximum size of 64GB at boot time. If you don’t have enough space for this, you will get a blue screen on startup. This is unlike how a dynamic disk works in Hyper-V. So if you are in the habit of setting the maximum size of your VHD’s to a large number, don’t do that unless you have all the space available. You could work around this by using multiple VHD’s (one for the OS and one for programs and data) and setting the max size of the OS VHD to a reasonable value (e.g. 32GB).

Currently, I have the tech beta of SP 2010 in the native boot VHD and have set all the SharePoint, web, and SQL services to manual start. As you may know from, SharePoint 2010 is going to require x64 and likely more RAM to run well than SP 2007 so native boot VHD is definitely better than trying to run it in VM on a laptop. While we are supporting running SharePoint on Windows 7 x64 or Vista x64, I decided that it was probably a better idea not to install it on my production Win 7 environment. You can even enable Hyper-V in the native boot VHD! I’m doing this to run MOSS 2007 x86.

This resource helped me during the setup. Essentially, you have to add a virtual disk in Windows 7 and then start Windows Server 2008 R2 setup and use the virtual disk.