Installing Windows Hyper-V Server 2012 with an Asus P8Z68-V Pro Motherboard…

by Andy Grogan on December 8, 2012 · 6 comments

in Hyper-V, Windows Hyper-V Server 2012

Not quite an Exchange post, but technically related depending on your circumstances. Today I decided to “bite the bullet” and migrate all of my Virtual Machines to Windows Hyper-V 2012 server away from Windows 2008 R2 with Hyper-V 2.

There were a number of reasons why I wanted to do this:

  1. My current test rig was using Windows Server 2008 R2 with Hyper-V 2. I was also using Microsoft Virtual Machine Manager 2012 – this all culminated in a base memory utilisation of about 2.3 – 3GB of RAM before I had even booted up a Virtual Machine instance. As Windows Hyper-V Server is based on a cut down version of Windows Server Core (containing just the Virtualisation components) The memory overhead is slightly less at around 1.2 GB.
  2. I had a full O/S running on the server which was probably a waste of a license given that I did nothing else with it aside from run virtual instances – if I had less to update and manage I could simplify my environment.

Of course, moving to this new platform presented its own set of unique challenges, not least of which the loss of a GUI – which (as I found) was about to cause me a number of issues in the context of installing drivers.

The Problem

Although Hyper-V 2012 Server installed with no issues – The problem that I had straight away was a lack of network connectivity. The Asus P8Z68-V PRO has an on-board Intel 82579LM Network Interface Adapter (see below)– which is a traditional Desktop based NIC, and unsurprisingly neither Asus or Intel supply native drivers for server operating systems.

08-12-2012 10-05-27

Now, this is not a huge problem, as generally speaking the driver software does not vary a huge amount between Windows 8 and Windows Server 2012 – so the theory is that you can download the Windows 8 driver which will work correctly with Windows Server 2012. However the truth is that it does, but not without a bit of messing about!

The driver packs from either Asus or Intel contain no provision within the Windows 8 installation INF files to allow for an installation on Windows Server 2012 Server. So, you have to bodge the INF file so that the installation process will work on the server platform.

Modifying the Driver Pack

I downloaded the Intel Driver from Intel’s website and extracted the contents to a folder on my local PC. Within the extracted package there was a folder called “PRO1000” (Pro drivers for Gigabit Network Adapters). I drilled down further within PRO1000 to WinX64\NDIS63\ and located the file entitled “e1c63x64.inf” this is the INF installation file for Windows 8 x64 platforms for the 82579LM NIC.

I opened the file in Notepad and located the [ControlFlags] section (see image below) – I removed all entries (but not the ControlFlags section).

08-12-201213-18-23

I then located the section [Intel.NTamd64.6.2.1] – selected the last 3 highlighted entries (shown the image below) and copied them to the clipboard:

08-12-201213-21-58

I then pasted these to the bottom of the entries located in the [Intel.NTamd64.6.2] section – see the image below.

08-12-201213-25-32

I then saved the INF file.

Installing the Driver on Windows Hyper-V Server 2012

This process needs to be done from the command line on Windows Hyper-V Server 2012 – however, before this was attempted I needed to disable the “Driver Signature Enforcement” security function on Windows Hyper-V Server.

In essence most drivers and associated files from reputable manufacturers are signed with a unique digital ID. By modifying the INF file – it no longer conforms to the signature within the package catalog file – so Windows will choke and not install the driver.

I disabled Driver Signature Enforcement by executing the following commands at the Windows Hyper-V Server 2012 command line:

bcdedit /set LOADOPTIONS DISABLE_INTEGRITY_CHECKS

bcdedit /set TESTSIGNING ON

bcdedit /set nointegritychecks ON

After entering the above commands I rebooted the server. When the server had restarted I checked to see that my options had been configured by running the bcdedit command with no parameters – which produced output that looked like the following:

08-12-201214-01-53

I was now ready to install the modified driver package onto my system. Now, as there is no GUI in Windows Hyper-V Server 2012 you cannot use the GUI install for drivers software – you need to manually install using the pnputil tool.

I copied the relevant files over to the server and then from the command line typed:

pnputil –i –a h:\<path>\e1c63x64.inf

The process then started and I was prompted if I really wanted to install the unsigned driver – to which I said yes. The install completed successfully.

I then rebooted the server – where I then found that I had network connectivity.

To tidy up, I then switched Driver Enforcement back on (for security reasons) but using the following commands:

bcdedit /set LOADOPTIONS ENABLE_INTEGRITY_CHECKS

bcdedit /set TESTSIGNING OFF

bcdedit /set nointegritychecks OFF

I hope that someone might find this useful if they find themselves in the same (or similar situation). The above process can also apply to Windows Server 2012 Core edition.

{ 6 comments… read them below or add one }

Tjeuke December 14, 2012 at 1:04 pm

Hey Andy, thanx a lot for your excellent post! I started yesterday with the installation of Hyper-V on my PC and ran into the exact same issue as you described here. I hadn’t solved this without your post. Please can you explain to me why the control flag has to be empty and why we have to copy the section to the second section?

Thanx a lot!
greetz Tjeuke
(Netherlands)

Reply

Andy Grogan December 15, 2012 at 11:49 am

Tjeuke, the Control Flags section – or more to the point “ExcludeFromSelect” removes certain drivers from being displayed within the certain interfaces (for example Add Hardware wizard) – we remove this so that all drivers show up in all interfaces.
The copy and paste is so that the adapter shows up as available for both Windows 8 and Windows Server 2012 as well as Windows 7. You will notice that the driver sections that you copy and paste are post fixed with 6.2.x this corresponds to the Windows version.
As mentioned in the article – the problem is that the NIC is a Desktop adapter, therefore Intel do not provide the gubbins within the INF installer to install the adapter on a Server O/S. The modifications that we make in the INF file allow for us to bypass that limitation.

Reply

Tjeuke December 16, 2012 at 3:08 pm

Hi Andy, Thank you for your explanation. Now I know what I have done :-)

Reply

Eric March 4, 2013 at 2:29 am

Hey Andy,

Thank you, You have saved me a lot of time and frustration, I have tried almost the whole Sunday to solve the Issue, The Asus P8Z68-V Pro card has given me a lot of trouble, I have tried to Install Windows 7 and 8 from debug images, It is impossible, But the Server 2012 Datacenter did work.
And now I am out on the Thanks to you:-)

Regards
/Eric

Reply

Mark Lloyd March 5, 2013 at 1:54 am

Superb workaround

Thanks!!

Reply

Rob Nicholson March 7, 2013 at 9:03 pm

Thanks for this – most useful. BTW – do you know what the other two devices are? One I guess is Bluetooth.

Cheers, Rob.

Reply

Leave a Comment

*

Previous post:

Next post: