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

by Andy Grogan on December 8, 2012 · 18 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.

{ 17 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

Brandon J June 4, 2013 at 7:37 pm

I’ve found this and several other articles that describe basically the same method resolve the driver install problems. However, when I attempt the instructions on my system it gives two errors to the bcdedit commands:

bcdedit /set TESTSIGNING ON
bcdedit /set nointegritychecks ON

The error I get for both these commands is as follows:

An error has occurred setting the element data.
The value is protected by Secure Boot Policy and cannot be modified of deleted.

As a result since I can’t change those settings/values, when I try to install the modified inf file I get the following:

The hash for the file is not present in the specified catalog file. The file is likely corrupt or the victim of tampering.

Have you encountered this issues before and have a work around to the Secure Boot Policy so that I will be able to disable the driver signature enforcement and resolve the problem with the hash check not matching up.

Reply

Glynn June 14, 2013 at 11:14 pm

Andy, your blog saved me many hours of frustration and pain. Thank you so much for your excellent walkthrough, it worked perfectly with no issues.

Reply

Miguel June 17, 2013 at 6:24 pm

Even a “old” post, can save “lives”. Mine was saved today.

thanks a lot for the precise, no fuss, and working procedure

Miguel

Reply

Joe October 9, 2013 at 3:07 am

Out of curiosity, why didn’t you just install the full GUI, then install the drivers, then uninstall the GUI?

Reply

Neville November 27, 2013 at 5:59 am

Thanks for this post …

I have an Intel DH77EB board in my lab machine

I was just installing Hyper-V Server 2012 R2 using the above posts and the driver wouldn’t load

When I made the same changes to E1C64X64.inf in the pro1000\winx64\ndis64 directory and

pnputil –i –a h:\\e1c64x64.inf

it comes up fine .. Thanks for the previous posts

Reply

Steve December 3, 2013 at 12:23 am

I am trying to set up the exact same combo, but I can’t get 2012 to install on the HD. I keep getting the message that it can’t install on the selected drive despite uploading the required drivers (I’ve tried win 7, win 8 drivers). I’m curious how you were able to install without issue.

Reply

Serryl May 14, 2014 at 4:12 am

Thanks a lot for putting this together. I ran into the issue with a full-GUI Server 2012 R2 install on this motherboard, and got around it with a bit of effort. However, handling it purely from the command line was significantly more nerve-wracking!

Reply

Mihai June 4, 2014 at 5:32 pm

I’m still not seeing my intel 82579V when i select option 8) Network Settings from the Server Configuration console.

Regards,

Reply

Mihai June 7, 2014 at 1:16 am

Just an update for people who would run into problems. You need to get the driver from Asus and it’s ver 17.3.0.0 from 2012. Newer drivers from Intel do not work.
Another thing, those lines i copied have to look like this:
%E1503NC.DeviceDesc% = E1503, PCI\VEN_8086&DEV_1503
%E1503NC.DeviceDesc% = E1503, PCI\VEN_8086&DEV_1503&SUBSYS_00011179
%E1503NC.DeviceDesc% = E1503, PCI\VEN_8086&DEV_1503&SUBSYS_00021179

One last step is for you to reboot. Have fun.

Reply

givemehoney.com July 5, 2014 at 4:51 am

If you would like perfumes, then here are some ideas for getting the correct fragrance.

I’d heard that archeological excavations revealed civilization was alive and well in Thailand over
4,000 years ago. s online online coupons, they occasionally provide
stackable coupons that allow the customers can use to work with over one coupon at a time.

Reply

Brian Cryer July 28, 2014 at 2:40 pm

I was doing the identical – flattening Windows 2008 server to replace it with Hyper-V Server, on the same motherboard etc, so your instructions were invaluable. Thank you.

Reply

Leave a Comment

*

{ 1 trackback }

Previous post:

Next post: