Saturday, March 23, 2013

More on Building Your Lab...

If you are reading this, you are an IT Pro or a developer in possibly the wrong place. Either way, you are a professional (like me) and need to understand what you are doing before you do it. There are concepts such as Boot from VHD which can leave your PC as a brick if not done correctly. I take no responsibility for you pooching your family computer, even in the name of education. If you have questions, ask before leaping. Always have a backup and don't forget your towel!
Greetings True Believers,

I received a lot of questions and comments about my lab environment post so I figured I would expand upon some things to give some clarification. As always, feel free to leave a comment or tweet a question to @MichaelBender. Thanks to Rick Claus and Aidan Finn for fielding questions on Client Hyper-V.

I thought it would be a good idea to give you background of how I study and my lab methods. My hope is it will provide some insight into the different options and allow you to choose the best one for your situation.

At my college, we use VMware Workstation 9 for all of our OS classes as well as many programming classes. It is a flexible and scalable tool that meets all the scenario needs of our classes. Since I am accustomed to using it, it is second nature to spin up environments in it for labs & demos. Also, I work on several computers and don't always have access to the Death Star so I need a lab environment that is portable as well.

Last and most important, I can run Hyper-V in a VM in VMware Workstation 9. So why would I want to do that? Because I want to be able to run almost all Hyper-V scenarios, not just some. If you want to perform client migrations (like Live Migration), you either need physical hardware (2 or more Hyper-V capable servers/computers) or you virtualize it with VMware. For me, it is a no brainer. I virtualize it in VMware.

I do a lot of "unscripted" lab environments. I spin stuff up to see if it will work because that is how I learn. It's not for everyone. This is what I do for a living. I build lab activities and projects for my students on a weekly basis. I rebuild all of my projects every semester. For some people, the "computer inside a computer inside a computer" lab environment is challenging. I can tell you it takes the average student at our college 1-2 semesters using VMware Workstation virtualization to understand it.

If this type of lab sounds complicated, it is and you are probably not alone in thinking that. One thing I have learned in years of teaching is that if the tool to perform the lesson impedes the learning, you need to find a new tool. That's why there are a number of other options for you. I listed many of them in the first blog, but here is a re-hash for you.

You first option is to use physical hardware. This will give you the true experience with the only limitations being your budget. I used to think it was cool having multiple computers in my house, then I discovered stuff like brewing beer and other things I'd rather spend my money on. If you have the money, buy some Hyper-V capable systems and go to town. It will make a great lab environment, and will replace a space heater if you need one of those.

The next option is to use Windows 7/8 Boot from VHD. This is probably the best option to get Windows Server 2012 running on your computer without blowing away your existing OS or doing arcane multi-partition multi-boots. Keith Mayer has a great post on this and you can check it out below. Also, Scott Hanselman has some great posts on Boot from VHD. These are how I learned to successfully navigate the Boot from VHD waters. One tool to have at your ready when working with this method is easyBCD. It is a graphical tool you install on Windows 7 and 8 that allows you to modify the BCD store easily, and without having to trudge through bcdedit on the command line. Another tool that looks promising is B2VHD. I haven't tried it so YMMV.

Windows Azure offers a lot of opportunities for people without the hardware needed to do any of the above. You can get a free trial here. One thing to note with Azure is that the free trial is limited in the amount of resources you can use each month. If you spin up too much, your VMs will not be useable until the next billing cycle. Another option could be to just pay for what you use, but that could get expensive. Again, Keith Mayer posted great resources on using Azure. Note with Azure that you will not be able to work with things like client migration since your are just getting access to the VMs and not the Hypervisor. On the plus side, you are getting skills and training in how to deploy workloads in the cloud. I've heard from some people that might be important in the future.

Client Hyper-V is Windows 8 is a great addition. It provides a hosted hypervisor environment for running legacy applications, development environments, and it makes a great lab environment. Due to the way Hyper-V works, it has one limitation that does not make it the "Best of Breed" choice for a lab platform IMHO. You cannot install the Hyper-V role into a VM running on Client Hyper-V and created nested VMs. While this does not prevent you from using it as a lab platform, it will prevent you from covering all of the scenarios covered by the MCSA: Windows Server 2012 exams. For more background on running Hyper-V in Hyper-V, see Aidan Finn's blog post here. For more information on Client Hyper-V, Thomas Maurer has a great blog posting on this.

While researching the Hyper-V question, I went to some experts. I emailed Aidan Finn, Microsoft MVP in Virtual Machine and all-around Hyper-V Guru, about his post regarding virtualizing Hyper-V and he had this to say about running the Hyper-V role inside a Hyper-V guest:

Hyper-V requires DEP and CPU assisted virtualization to be available to the host for WinServ Hyper-V to run. Full installs of WinServ will refuse to enable the Hyper-V role without them. A Core install doesn’t check when you enable the role but the hypervisor will fail to start. Hyper-V does not pass through those hardware features, therefore a Hyper-V hypervisor cannot run in a Hyper-V VM.” Aidan Finn

Check out Aidan’s blog,, for great post on Hyper-V and other topics

If you have any additional questions on lab environments, just let me know.

Good Luck!



Resource List:
Can you install Hyper-V in a VM? (Aidan Finn):

Windows  8 Client Hyper-V and boot from VHD (Thomas Maurer):

Build Your Lab on Windows Server 2012 (Keith Mayer):

Less Virtual, More Machine- Windows 7 and the magic of Boot to VHD (Scott Hanselman):

B2VHD Assistant from (Not Tested):

No comments: