Back in November of 2008, I posted an article called A Look at Microsoft "Hyper-V Server" on a Notebook , where I detailed a failed experiment to get a type 1 hypervisor (bare metal) on a notebook. The experiment failed and I was forced to resort to a dual-boot solution.
Fast forward to April 2010. The year that Brian, six months prior to my prior post, had written his infamous post that claimed VDI technology would be ready for "wholesale desktop replacement by June of 2010". Now one would think that if the mainstream would be ready for VDI in June, a bleeding-edger like me might be ready in April. Brian has since eaten crow and backed off of that prediction (not that I can't jab him about it now and then) as VDI proved out to be more difficult to deliver for production than some had thought. Here in 2010 the basics are in place for smaller deployments, but the tools really are not sufficient for mainstream use except for by a few that don't mind all of the hoops they will need to jump through to get it working smoothly.
But where, you ask, is Tim with his need for a client hypervisor for offline use? Well, I am further along but just not where I want to be. First, let's review where I want to be. I don't claim to be mainstream in this need, but if I can be satisfied I am sure that others closer to the mainstream can be too.
Somehow in the last 10 years I have stopped being a developer and have become a consultant. I still do some software development, but on a regular basis I use my laptop to test things. Not having an office to go to (well, not unless you call the kitchen an office) my private life and my business life have very little separation. I might get separation on the golf course, where my laptop is not allowed, but otherwise I'm pretty much always ready to do some work wherever I am. So I need a personal computer to manage my daily activity, such as email and word processing. But I also need access to a PC with one of several versions of Microsoft's Visual Studio. Sometimes I do development for customers and each manages to use a different version. So separate VMs with different versions of the tools, and often VPN access, makes a lot of sense to ensure complete separation between customers. And then there is this whole App-V thing that is the major focus of my business. I need to be able to put up a server, database, and Active Directory infrastructure to demonstrate App-V to customers. Plus VMs to sequence and VMs to test. Throw in SCCM or XenApp/XenDesktop and I have a heck of a lot of needs for a single laptop. Thank goodness disks have gotten bigger (and faster on the laptops).
So where am I now? Citrix has a Type-1 hypervisor I could be testing, but you can only have 2 VMs at a time. That is a non starter. VMware might or might not have the same (I'm not sure if it is available yet because I lost total interest when they said it would be limited at first also). I am waiting for Virtual Computer to support the graphics chip on the really hot new laptop I bought this year, but I think they are making headway. Neocleus wouldn't even talk to me if I wasn't at least a medium sized enterprise. I've done all of the Type-2 hypervisors, from VMware Workstation to Virtual PC, which are OK -- but I want more performance!
So for my new laptop (for now) I have chosen a hybrid approach. Last year Microsoft included some lesser noticed improvements in Hyper-V that almost make it reasonable for a laptop. In the end, I opted for a dual-boot setup using Hyper-V R2.
My personal boot is using Windows 7 Ultimate x64. I run this probably about 70% of the time. All of my email and word processing happens when booted in Windows 7.
Using the "boot to VHD" techniques that Microsoft describes for Windows 7, I installed a second boot option on the laptop that stores itself inside a VM, and used bcdedit to make the machine dual boot. The difference I did is that rather than installing another Windows 7 in the VHD, I installed Windows Server 2008 R2 with Hyyper-V. When I boot up, I am presented these two choices, Windows 7 for Windows Server 2008 R2.
Booting to Windows 7, I can see a vhd file on my C: partition where the Server 2008 R2 is stored. Booting to Windows Server 2008 R2, I see the contents of that VHD as my C: drive, but then I mount the actual hard drive partition used by Windows 7 as a D: drive. I make this server a domain controller for a new test domain, and use Hyper-V to create new virtual machines, which I store on the D: drive, that live in this domain. Now I can have lots of server and desktop VMs for whatever I need. Using SCVMM (loaded in one of those VMs) I can back VMs off to external drives when I am "in the office" when i finally reach disk saturation (which I estimate should happen by November this year unless I add a second drive into the empty slot on the laptop).
Inside of Hyper-V my wireless internet card is now working, which was a major issue before. Hybernation is supposed to work, and seems to, but quite frankly I don't trust it. The only problem is that there is no driver for this funky remote control card that HP includes for Windows Media Center, but I don't use that anyway (and if I did it would be from the personal image). Performance is pretty good - I would say on par with the Dell server I bought just 2 years ago, although I'm sure I can't scale up with as many VMs churning disk access at once.
Ultimately I really want that type-1 client hypervisor. I want the performance and I want my email when working in the VMs. But for now, this is OK.
PS: I'll see some of you at my App-V training classes this month and next, or at Citrix Synergy where they actually asked me to speak! How times have changed...