I must admit that I’m a huge fan of technology, but only from a distance. I decided to build my own mini-server at home, mainly to be able to run various things in a virtualized environment. Okay, how about Windows 2008R2 and Hyper-V? Good to go, since I have it for free as an MCT.
As for the hardware… well, I’m married, I have two kids, and this automatically qualifies me as the least important living thing around the house. But still, ASUS P8P67 LE, 8 GB of RAM, Intel i5 – a quad core 2400 series, it’s not that bad, after all.
The first thing I noticed is that all modern motherboards (mobos, as they call them now) display very bright colors when unpacking them – whatever used to be blue when I was young, now is cyan, whatever used to be red or purple is now magenta, and so on. You kinda need a pair of sunglasses in order to assemble your own PC nowadays.
Secondly, the BIOS is now visual, with all the buttons and the suggestions (they call it BIOS, EFI, UEFI, all sorts of names), so you better have a mouse. Apart from being good looking, I was not able to set my RAID 10, because there was no option to access the RAID configuration. Half a day later, it turned out that I you do a hard reset (clear the RTC RAM in CMOS – a millennia ago we simply said “reset the CMOS”, or “reset the BIOS”) would solve the problem.
Okay, I installed Windows 2008R2 Enterprise without a glitch (as compared to Windows 2008 Enterprise, which I’m still trying to install with no success), and I set the Hyper-V role. Since I created my own virtual machines for running Microsoft courses (curses, as they were called, at least for SQL Server 2008 in the early stages of delivering the course, but now they solved that beautifully), I imported them in Hyper-V. And that was all I was able to do. When I tried starting the virtual machine, it gave me what is now the common: “the virtual machine could not be started because the hypervisor is not running”. A quick check would reveal that I need to go to hardware level again (namely BIOS settings), which I did.
Hardware level again
Go to BIOS (or whatever that thing is), and under the Advanced Settings, CPU Settings (by the way, you’ll find this only in the Advanced Mode), and there you’ll find among other settings, the two culprits:
- Execute Disable Bit (enabled by default) – Enables the No-Execution Page Protection Technology. Enables what? What is this? Yes, I know about DEP and stuff, after all I’m also an MCSE, but still.
- Intel Virtualization Technology (disabled by default) – “allows a hardware platform to run multiple operating systems separately and simultaneously…”. Really? It does? Okay, so this is my best bet, right? Wrong.
So far I found the following:
- You need “execute disable bit” for Hyper-V to run. Check here
- Intel Virtualization Technology does nothing in this particular case. I’ll get back to this later. Please remember the motherboard as well: ASUS P8P67 LE.
- You cannot have both of them enable. Oh, sorry, you can, but instead of Windows you’ll enter a spiral of BSODs.
- Although there is no way to run Hyper-V without the underlying hardware to do so, apparently it was possible in RC0 of Windows 2008. Again, apparently, as I cannot verify the reliability of the source.
- Intel provides tools for you to check whether your processor is being able to run the virtualized environment or not. So, software level again.
Software level again
http://www.intel.com/support/processors/tools/piu/sb/cs-014921.htm – this is the tool that is actually telling you whether you should further struggle or not with the damn virtualization thing (just note that I’m not talking about Hyper-V now, I’m talking about the whole virtualization stuff). Yppieeee, I’m good to go!!! I can continue on my quest, as per here!!!
Just a quick note: you’re interested in Intel Virtualization Technology
Another quick note: you’re interested in “Execute Disable Bit” to be set to “Yes”.
But wait, something’s fishy here… okay, let’s go for CPUID and their PC Wizard 2010 – and see what’s in there.
There looks okay, but why take it for granted? Why not try another tool? After all, when you have three reliable sources nothing can go wrong, right? So HW Monitor is the last tool that I’m checking.
Nice, everything seems to be in order. I’ve set the settings in BIOS, I’ve checked the hardware info with three different tools, so everything seems to be in order.
I launched again Hyper-V, only to get…
“My Asus contact confirms the enabling of VT-D is not complete due to chipset limitation (cannot pass all test items via Intel VT-D test tool)
After discussing with Intel FAE, it has just officially confirmed to my Asus contact that the VT-D support mentioned on the Intel’s own P67/H67 board spec page is a misprint, and will be removed to avoid further misunderstanding.
The official support for VT-D begins from Q67 series, and so is vPRO.
For your reference.”
This is the actual quote from an ASUS rep.
- ASUS, it’s not a misprint, it’s a failure!!!!! And it costs money!!!
- INTEL, the damn chipset is listed as having the VT support!!! And VT-X???? That is so 6 years ago and x86 architecture!!! The rest of the world is now living in the 64-bit space.
- ASUS and INTEL, please let everybody know (just do a Google search for P67 and virtualization to see how many of us are suffering) why on Earth this is either supported, or not supported, depending on when you accessed the forums – yet another design flaw?
- I know there’s no way I can win against to corporate giants, but at least I want a decent motherboard that actually does what it says in the manual (again, forget the spec page, the thing is in the manual and in my BIOS).
And I almost forgot, 2 tons of freshly made coffee, 2 cups a day.
- Somebody stop that Steve Jobs frenzy: a BIOS with cute graphics? I need a BIOS that works!!!
My final conclusion is this: I have seen this in a variety of forums, people having major issues, even though the processor seems to be suitable for virtualized environments. The motherboard also has to support it, and as of this writing, you also VT-d, not VT-x (which is the x86 architecture). Putting together apples and oranges will not yield more apples or more oranges.
The only workaround I found is to use VMware, but still not quite the best idea for 64-bit guest OS-es.