Run Hyper-V and VirtualBox on the same machine

Recently I upgraded to the Windows 8 RTM build for my main work laptop, and began working with Hyper-V, which is available on a client OS for the first time with Windows 8.  Since I use virtualization to do SharePoint development every day, I was eager to see what Hyper-V could do.  So far, I am impressed.  It performs well and stays out of my way when I’m not using it.

However, my project team at work is heavily invested in VirtualBox, and rather than try to make all their updates to my new VM, it makes more sense to develop on the same system as the rest of the team.  The challenge is that VirtualBox and Hyper-V cannot co-exist on the same machine.  Only one hypervisor can run at a time, and since Hyper-V runs all the time, while VirtualBox only runs when it is launched, VirtualBox is the loser in this scenario.

The workaround (there’s always a workaround, isn’t there?) is to disable Hyper-V when you want to run VirtualBox.  I found a few different ways on the web to accomplish this, including altering the registry, and running a command.  But the only one I found that worked involved changing the boot configuration using bcdedit. 

If you run bcdedit with no arguments, you should see a property called hypervisorlaunchtype.  This will be set to off or auto.

 

To disable Hyper-V in order to use VirtualBox, open a command prompt as administrator and run the command:

bcdedit /set hypervisorlaunchtype off

You’ll need to reboot, but then you’ll be all set to run VirtualBox. To turn Hyper-V back on, run:

bcdedit /set hypervisorlaunchtype auto

and then reboot.

Windows 8: a developer’s perspective

Two weeks ago, when the Windows 8 bits became available on MSDN, I took the plunge and installed it on my Sogeti-issued Dell e5420. Prior to this I had had some limited experience with the latest operation system from Microsoft: I had run a few VMs and once installed a boot-to-VHD for awhile to play around with building Metro apps. I even installed the Developer Preview (and subsequent releases) on a new Acer tablet I bought for my wife. This time, though, I was not just playing around. This is my work computer, the one I use every day, all day, to produce billable deliverables for my clients. I was setting myself up for an honest, real-world dose of whether this new OS could perform in the trenches. Here is what I found.

First, let me say that I loved Windows 7. It represented a huge leap forward over Windows XP (yeah, I sat out the whole Vista thing). It was responsive, stable, and easy on the eyes – an important consideration when you spend more quality time with your computer than with your family.

Installation

Installation was a snap. I used a 16GB flash drive and the Windows 7 USB/DVD tool to create a bootable flash drive, then set up my machine to boot into it. The install process was pretty similar to that of previous versions of Windows. One twist is that you have the option of marrying your machine login to a Live ID. This will enable some neat features I will describe later. The install process also will offer to set up a Wi-Fi connection and allow you to choose a color scheme. Once installation is completed and you log in, you are presented with…

The Start screen

As everyone knows by now, Microsoft has completely ditched the Start menu that has been a critical part of Windows since 1995. In its place is a side-scrolling screen with square or rectangular boxes representing the applications installed on the machine. The idea is, I suppose, that users with touch-screen machines can finger-scroll to the app they want, which will then conveniently fill the entire screen with no distracting chrome to interrupt their “immersive” experience.

I have absolutely no use for this. In the hundred or so hours I’ve logged with Windows 8 on my primary system, I’ve yet to launch any app by clicking a “tile” from this interface. To launch my programs I’ve had to either put them on the taskbar, or use the old-school method of hitting the Windows key, then typing the name of the program (“notepad”) to launch the app. This, in my opinion, is a step backward. The old Start menu was perfectly engineered to launch apps quickly with a minimum of effort. In the new interface, something as simple as launching Paint is an invitation to frustration.

“Metro”

The other major feature of windows 8 is Metro, an application design wherein the app fully consumes the screen, creating an “immersive” experience for the user. In itself this seems like a cool idea, and the demo apps I’ve seen so far look pretty sharp. But developers rarely work in this fashion. They usually work with a half-dozen or more windows open at a time, which doesn’t really fit with the Metro paradigm. It might be fine for updating your status or checking the weather in Madrid or playing Angry Birds, but for getting real work done, it’s just not the right product.

Performance

In terms of performance Windows 8 seems pretty solid. The Windows 7 drivers supplied by Dell for my laptop generally work with no issues. Boot-up and shutdown times are noticeably quicker than for Windows 7. All of my tools and apps install and run with no problem.

I did face one glaring issue though: once or twice a day my computer would “freeze”. The display would freeze, the disk and keyboard lights would stop functioning, the mouse cursor would fail to respond, and the only way to recover was to hit the power button, and I would lose whatever I was working on. This has happened about once a day or so since I installed the OS, seemingly with no rhyme or reason as to what triggered it. A web search reveals that this issue might be related to a particular type of processor, and that enabling Hyper-V is a workaround for this issue. Since I did enable Hyper-V over the weekend, I’m hopeful that this issue will not occur again.

Windows Live integration

As I mentioned, you have the option of setting up a Live ID as your login under Windows 8. Doing so enables some neat features in Windows 8. Microsoft Office 2013 products, for example, offer up your Skydrive as an location for saving files, and OneNote allows you to synchronize your notebooks between computers using Skydrive as well. A number of the Metro apps (the picture viewer, for example) integrate with Skydrive, and there is also a “Skydrive” Metro app from which you can manage your stuff in the cloud.

Hyper-V

As a SharePoint developer, I use virtualization software every day, and ever since SharePoint 2010 hit beta, the de facto option was Oracle’s VirtualBox, being the only free product at the time that supported the 64-bit guest operating systems that SharePoint 2010 required. Hyper-V has been an option since Windows Server 2008, but being available only on server operating systems made it impractical for laptops. That is changing, though, with Windows 8. For the first time, Hyper-V is available on client operating systems, and I was eager to try it out.

The two times I previously dabbled with Hyper-V (back around 2009 or so, on 2008R2, and during the Windows 8 beta), I was not impressed, mostly for performance reasons. The “freezing” issue discussed earlier, and the reports that Hyper-V somehow fixed this, caused me to try it again over this long weekend. And this time I really am impressed.

Maybe it was the fact that both times I tried it in the past it was on boot-to-vhd machines, or maybe it was that Microsoft really improved the product, but Hyper-V performs favorably compared with VirtualBox on Windows 8. I really like the fact that Hyper-V machines run in the background, whereas in VirtualBox you have to launch VitualBox, and then rehydrate or start your VM. What I appreciate most is that when I am running a Hyper-V VM I see no difference in the performance of my host.

Conclusion

Windows 8 is here to stay, at least on my machine. Not necessarily because I think it’s superior to Windows 7, but because it’s new technology, and I need to stay up on that for better or worse. It has its share of irritating annoyances, for sure, but I am hopeful that I will discover new ways to harness the usability of this strange and new technical offering from Microsoft.