Windows Server 2012 Hyper-V Host Memory Sizing

My good friend, Aidan Finn, has a post on his blog about Host Memory Sizing for Windows Server 2012 Hyper-V.  In his post, he makes this statement:

Microsoft says that the Management OS should have at least 512 MB. That’s being a bit ambitious; I go with 2 GB when I size.

I’m afraid I’m going to have to disagree.  As I posted earlier, I recommend FOUR GB of RAM for the host at an absolute minimum.  My reasoning is very simple:  While I know we all go out of our way to make certain the host is only running Hyper-V, that isn’t always true.  We do sometimes have other things we must do.  And we all know how Windows loves RAM.  Maybe an update is RAM hungry whilst being installed.  Maybe you have automated scripts that run.  Something.  Anything.  Doesn’t matter.  The point is that the last thing we want is the host running low on juice.  And, RAM is cheap so there are no excuses. 

That being said, do let me be clear that my disagreeing with Aidan is not something I do lightly.  Aidan is a great guy, a good friend, and a renowned expert in virtualization.  He is also a published author with two books here and here at  Please feel free to follow everything else he does without question and without hesitation.


Officially Supported Guest Operating Systems in Hyper-V 2012

My excellent friend, Aidan Finn, just posted on his blog the official list of supported guest operating systems for Hyper-V 2012.

I couldn’t help but notice that Windows XP and Windows Server 2003 were still on that list.  Question:  Will this be the last Hyper-V they will be supported on?  I haven’t got a clue.  I’m not a virtualization expert.  There is the fact that we are about to see support for XP and Server 2003 expire, but then there’s the fact that if MS doesn’t support them, they might be handing market share over to VMWare.  Of course, let us not forget that Windows Server 2012 isn’t here yet and even when it does get here, that means 10 years of support for virtualizing XP and Server 2003 from Microsoft.

Interesting points to ponder.  My company has one app that requires XP/Server 2003 and we are working hard to replace it.  I’m hoping that in two years, XP/Server 2003 will have fallen off my radar.  I recommend your making similar plans if you can.


Using Group Policy to Enable Network Discovery in a Domain

If you use Windows Vista or Windows 7 in a domain, you’ll notice that users probably can’t browse network resources such as file shares.  Also, when they do try to access a file share by typing in the URL to it, they’ll get a menu in Windows Explorer asking if they want to enable Network Discovery. 


Enabling network discovery requires Administrative rights and, subsequently, throws up a UAC prompt.  If your user is set up as a true Standard User, the UAC prompt will ask for an Administrator username and password. 

Obviously, this is not ideal if you have set up several machines at one time and aren’t about to give your users Administrative rights.  There is a nice solution, however.  On a domain controller, open up the Group Policy Management tool under Administrative Tools and navigate to:

Computer Policy\Policies\Administrative Templates\Network\Link-Layer Topology Discovery.  There are two settings there. 


The first setting allows the computer to find network resources such as file shares.  The second setting allows other computers to find this one.  You should certainly enable the first.  The second is dependent on whether you are sharing anything from this computer.


Follow-Up on Hyper-V Recommendations

Previously, I wrote a post about my recommendations for Hyper-V virtualization.  One of the key factors I spoke of was dynamic versus fixed virtual disks.  I also mentioned pass-through disks.  Specifically, I made two points:

  1. Do not use a dynamic disk with any relational database. This includes, but is not limited to: SQL Server, Oracle, DB2, Microsoft Exchange (yes, it uses a relational database to store your email based on the Jet Engine from Microsoft), and so forth
  2. Unless you have a bleeding need for speed (i.e. you run the New York Stock Exchange), do not go out of your way to use pass-through disks.

My friend Aidan Finn, Microsoft MVP for virtualization, recently wrote a post referencing another article that seems to confirm most of what I’m saying but also adds some other very important considerations.  You should check it out by way of Aidan’s excellent blog.


Hyper-V Tips That I HIGHLY Recommend

I’ve been using Hyper-V for a couple of years now and there are a few things I’ve seen that just plain work, and if you go a different path you are either taking your chances or wasting your time.  Of course, let me point out first that I am not the true authority on Hyper-V, Aidan Finn is, and you will see me reference his blog from time-to-time.  You can visit Aidan’s blog here: (it’s also in my links area to the right).  I’m pretty confident, however, that Aidan may agree with me on most of what I’m about to say.  Here goes:

  1. Do not use a dynamic disk with any relational database.  This includes, but is not limited to:  SQL Server, Oracle, DB2, Microsoft Exchange (yes, it uses a relational database to store your email based on the Jet Engine from Microsoft), and so forth.
  2. Always provision 4G of RAM minimum for the host operating system.
  3. Always provide the host operating system with its own NIC.  Do not let is share a connection with a VM.
  4. If you are in a small environment (e.g. 5 or fewer host operating systems), do not join the host to the domain.  The benefits do not equal or exceed the hassle.  For a few host operating systems, it’s easy enough to log on to them individually to update them or check stuff.
  5. Always disable time synchronization if your guest VM’s are Windows XP or higher (I cannot speak for older Windows guests or non-Windows guests) and have Internet connectivity.  I cannot think of a single reason to have that feature on in Hyper-V – especially if the guest is a member of a Windows domain.
  6. Unless you have a solid reason to do otherwise, always set the Hyper-V host to properly shutdown the guest operating system if the host is shutdown (the default is to perform a save).  This is especially true for guests that have a relational database such as SQL Server, Oracle, Exchange, etc..
  7. Do not go out of your way to use SCSI virtual disks for your VM’s.  The IDE and SCSI virtual disk adapters have almost no differences in performance.
  8. Unless you have a bleeding need for speed (i.e. you run the New York Stock Exchange), do not go out of your way to use pass-through disks.
  9. If you are putting your virtual machines on a physical RAID 5 array, your controller should have a minimum of 512MB of RAM on the board – more if all or most of your VM’s are doing heavy writes.  From what I can see, 512MB is pretty much the minimum these days, but there are still some used/cheap controllers out there.
  10. If you are going to virtualize a Terminal Server, stop what you are doing and read the free white papers here:
  11. If your machine is to be a Hyper-V machine, then that is the only role it should do.  Install no other roles or features.
  12. If your machine is to be a Hyper-V machine, then the backup software agent you are using should be the only software you install on the machine.  Furthermore, you should not install the entire backup suite (e.g. BackupExec), just the agent needed.  If your only physical machine is a Hyper-V host and you need back up software that isn’t some big suite like BackupExec, check out
  13. Never leave your host machine logged on. Once you are done administering the machine, log off.
  14. Guest VM’s on the same machine that need to communicate with one another often should be on the same virtual NIC when possible.
  15. Aidan’s going to kill me for this one, but:  It is OK to install a VM on the same partition as the host operating system as long as the VM is low impact.  Meaning it does not do any heavy reads, does not do any heavy writes, does not consume heavy CPU.  For example, we use Team Foundation Server 2010 as our source code repository.  There are only TWO developers.  How much work do you think that TFS guest does?  Barely noticeable.

That’s pretty much all I have for now.  I may add more to this list as I learn more or read more about Hyper-V.  Of course, comments either confirming or un-confirming what I say here are MORE than welcome.


Windows Cannot Be Installed to the Selected Location. Error: 0x80300001.

For my first blog post, I thought I would start off with something simple.

When you are installing Windows to a new computer/server, or reinstalling on an existing one, and you have to use the hard drive adapter drivers from another CD/DVD, you may get this less-than-helpful error message.  The error makes you think there is something wrong with your new computer or existing one, but fear not, all you have to do is put the Windows DVD back in the drive and click Refresh (remember, you removed the Windows DVD to put in the CD/DVD for the hard drive adapter driver).  The error message is telling you the truth, Windows can’t install since it can’t read its own installation files, but the error could be a little more. . . direct.  For example, it could say “Please reinsert the Windows DVD so setup may continue.”

You can actually replicate the error over and over by removing and replacing the Windows DVD and clicking refresh each time.