You dont have javascript enabled! Please enable it!

How To Install Windows Nano Server 2016 on HPE ProLiant Gen9 Servers? #NanoServer #HPE

6 Min. Read

Updated 10/01/2017: Adding the following two sections: “Updating Nano Server with HPE Drivers”, “Applying Latest Windows Updates”, and “Adding Nano Server Roles and Features”.


With the release of Windows Server 2016 and System Center 2016, Microsoft also released the first version of Nano Server.

In the previous post, I showed you how to create a reusable bootable USB to deploy Nano Server on physical machine.

In this post, I will show you how to install Nano Server on HPE ProLiant Gen9 servers by following this plan:

  1. Updating HPE Firmware and System Components
  2. Installing Nano Server on HPE ProLiant Servers
  3. Managing Nano Server using Windows PowerShell
  4. Updating Nano Server with HPE Drivers
  5. Applying Latest Windows Updates
  6. Adding Nano Server Roles and Features
  7. Verifying Nano Server Roles and Features

Before we start with the installation, you need to make sure you have downloaded the latest Service Pack for ProLiant (SPP) version including HPE Intelligent Provisioning.

    • Download the Service Pack for ProLiant (SPP) Version 2016.10.0 here.
    • Download the HPE Intelligent Provisioning version 2.50 here.

Intelligent Provisioning V2.50 supports Microsoft Windows Server 2016 and Microsoft Windows Nano Server 2016.

Updating HPE Firmware and System Components

Once you downloaded the media, you need to update the UEFI boot order and set it to boot from USB instead of hard drive or network.

Boot to USB and update the Firmware using the Service Pack for ProLiant media.


Once done, reboot the server, boot to USB and then run the Intelligent Provisioning Recovery Media to update to version 2.50.


Installing Nano Server on HPE ProLiant Servers

Reboot the server first and login to Intelligent Provisioning by pressing F10, and then Click Configure and Install.


Select the System Profile as Maximum Performance, because this node will be configured as Nano Hyper-V host, then select the desired Target Controller and Click Continue. In my case, I am using HP embedded Dynamic Smart Array B140i with 2X120GB SSD as RAID 1 for the OS.


Select OS Family: Microsoft Windows and make sure you inserted the Microsoft Windows Server 2016 DVD/ISO media and then Click Continue.

In the next screen, Provide the Operating System Information by selecting Windows Server 2016 Datacenter Nano as shown in the next screenshot.

Enter the computer Name, administrator password and then click Continue.


In Step 4, Review the summary details and click Continue.

The OS installation will Kick Off… Sit back, relax and get cup of coffee while Nano Server is being deployed! But you will not have much time to drink your coffee Winking smile, Nano deployment will take just 7 minutes, tiny OS.


The server will reboot and Windows Server OEM drivers will automatically be installed as shown in the next screenshot.


Once the drivers are installed, the server will reboot and you will be instructed to change the administrator password from the Recovery Console.


Managing Nano Server using Windows PowerShell

Once you login to Nano Server Recovery Console, you need to set a static IP address if you don’t have DHCP server in place.

Select >Networking, then select a network adapter to configure.

Press F11: IPv4 Settings and then set the IP address by toggling the NIC with F4 and disabling DHCP.


Once the server is reachable over the network, you can proceed and start managing Nano Server instance using PowerShell Remoting.

In order to do so, open Windows PowerShell and run the following commands.

Note: Update the IP address according to your environment.

#region NanoServer Remote Management

#Workgroup environment; we need to modify TrustedHosts list
Set-item wsman:localhost\client\trustedhosts -value 172.16.19.* -Force    
dir WSMAN:\localhost\client\trustedhosts

$NanoIP = ""
$Session =  New-PSSession -cn $NanoIP -cre Administrator
$Session | Enter-PSSession
cd /

$IPType = "IPv4"
$DNSIP = ""
$adapter = Get-NetAdapter | ? {$_.Status -eq "up"} 
$interface = $adapter | Get-NetIPInterface -AddressFamily $IPType
If ($interface.Dhcp -eq "Disabled") {
    Set-DnsClientServerAddress -InterfaceAlias $interface.InterfaceAlias -ServerAddress $DNSIP -Verbose      




Above command will set the DNS server on the interface which is configured with Static IP address.

Updating Nano Server with HPE Drivers

In the following section we will copy the latest HPE drivers from the Service Pack for ProLiant (SPP) that we downloaded earlier, and then update all the drivers.

When you mount the SPP ISO, you can see a folder called “WIN_DRV”, copy that folder to your management machine and rename it if you want.
This folder contains all the latest and certified Windows drivers for HPE Gen 9 Servers.

How To Install Windows Nano Server 2016 on HPE ProLiant Gen9 Servers? #NanoServer #HPE 2
Open Windows PowerShell and run the following commands:

#Update the IP address according to your environment.
$NanoIP = ""
$Session = New-PSSession -cn $NanoIP -cre Administrator
Copy-Item -ToSession $Session -Path D:\NanoServer\HPE-SPP-10.60 -Destination C:\ -Recurse -Force

$Session | Enter-PSSession
cd /

In order to install the drivers, we will login to Nano Server  using PowerShell remote session and then use “pnputil.exe. You can install the drivers individually or all of them. For example, assuming the driver pack shown above is extracted to c:\HPE-SPP-10.60 (in this example), you can install all of them with the following command:

pnputil.exe /add-driver c:\HPE-SPP-10.60\*.inf /subdirs /install

This will recursively install all the drivers automatically for you.

If you want to install just a single driver, use the following command instead:

pnputil.exe /add-driver c:\HPE-SPP-10.60\<driver>\<filename.inf> /install

In this example, we will install all the drivers as shown in below screenshot and then reboot the system.

How To Install Windows Nano Server 2016 on HPE ProLiant Gen9 Servers? #NanoServer #HPE 3

Applying Latest Windows Updates

In the next step, we will update Nano Server by installing the latest Cumulative Update for Windows Server 2016. The instructions can be found here. We have 6 different options to integrate, install and apply the latest Windows Updates. In this example, we will use Option 4: Apply the cumulative update to a running Nano Server. But before doing so, you need to download the Servicing Stack Update for Windows Server 2016 (KB3199986) including the latest cumulative update. As of this writing, the latest Cumulative Update is (KB3213522).

Visit the Microsoft Update Catalog to download each of these update packages:


After downloading the .msu files from the Microsoft Update Catalog, save them to a local directory on your management machine such as C:\ServicingPackages.
Then use the EXPAND utility to extract the .cab files from the .msu files into separate directories and copy the .cabs into a single folder. 

How To Install Windows Nano Server 2016 on HPE ProLiant Gen9 Servers? #NanoServer #HPE 4

Next, you will need to copy the extracted .cabs file locally on the Nano Server. If you’re applying a servicing stack update, please make sure to restart the server after applying the servicing stack update before applying the latest cumulative update.

Open Windows PowerShell and run the following commands:

#Update the IP address according to your environment.
$NanoIP = ""
$Session = New-PSSession -cn $NanoIP -cre Administrator
Copy-Item -ToSession $Session -Path C:\ServicingPackages\ -Destination C:\ -Recurse -Force
$Session | Enter-PSSession
cd /

# Apply the servicing stack update first and then restart
Add-WindowsPackage -Online -PackagePath C:\ServicingPackages\
Restart-Computer; exit

# After restarting, apply the cumulative update and then restart
$Session = New-PSSession -cn $NanoIP -cre Administrator
$Session | Enter-PSSession
cd /
Add-WindowsPackage -Online -PackagePath C:\ServicingPackages\
Restart-Computer; exit

To confirm that all updates are installed successfully, you can connect to Nano Server and run the following commands:

#Update the IP address according to your environment.
$NanoIP = ""
$Session = New-PSSession -cn $NanoIP -cre Administrator
$Session | Enter-PSSession
cd /

#Get a list of installed updates
Get-WindowsPackage -Online | Where-Object {$_.ReleaseType -eq "Update"}

How To Install Windows Nano Server 2016 on HPE ProLiant Gen9 Servers? #NanoServer #HPE 5

Adding Nano Server Roles and Features

Once Nano Server is updated, we will proceed by installing the necessary roles and features using the DISM command.

In order to do so, we will copy the Packages folder from the local ISO media to Nano Server using the following command:

Copy-Item -Path D:\NanoServer\Packages\ -Destination C:\ -Recurse -ToSession $Session -Force

As mentioned earlier, we are installing Nano Server on bare-metal machine and this server will function as Hyper-V host, failover clustering and we will manage it using System Center Virtual Machine Manager (SCVMM).

So we will install the following 5 packages:


Note: If you are going to manage Nano server with VMM and you added Microsoft-NanoServer-SCVMM-Compute-Package, then do not add Microsoft-NanoServer-Compute-Package for the Hyper-V role, because this server will be managed by VMM and has already the compute option.

Open Windows PowerShell, then connect to Nano Server session and run the following commands:

#region Install NanoServer Roles and Features

$NanoIP = ""
$Session = New-PSSession -cn $NanoIP -cre Administrator
$Session | Enter-PSSession
cd C:\Packages\

Dism /Online /Add-Package /PackagePath:C:\Packages\
Dism /Online /Add-Package /PackagePath:C:\Packages\en-US\

Dism /Online /Add-Package /PackagePath:C:\Packages\
Dism /Online /Add-Package /PackagePath:C:\Packages\en-US\

Dism /Online /Add-Package /PackagePath:C:\Packages\
Dism /Online /Add-Package /PackagePath:C:\Packages\en-US\

Dism /Online /Add-Package /PackagePath:C:\Packages\
Dism /Online /Add-Package /PackagePath:C:\Packages\en-US\

Dism /Online /Add-Package /PackagePath:C:\Packages\
Dism /Online /Add-Package /PackagePath:C:\Packages\en-US\

Restart-Computer; exit


Verifying Nano Server Roles and Features

When restarting Nano Server, the console will display “Updating your system” as shown in the following screenshot.


Afterward, connect to Nano Server remote session and use the “Dism /online /get-features” command to confirm the available packages on the system.


Last but not least, you can login to Nano Recovery Console and confirm it’s running as VM host.


Thanks for reading!


Photo of author
About the Author
Charbel Nemnom
Charbel Nemnom is a Senior Cloud Architect, Swiss Certified ICT Security Expert, Certified Cloud Security Professional (CCSP), Certified Information Security Manager (CISM), Microsoft Most Valuable Professional (MVP), and Microsoft Certified Trainer (MCT). He has over 20 years of broad IT experience serving on and guiding technical teams to optimize the performance of mission-critical enterprise systems with extensive practical knowledge of complex systems build, network design, business continuity, and cloud security.

Related Posts


Disable Server Manager at Startup for all Users? #WindowsServer

New Altaro Webinar: Windows Server 2016 Licensing #WS2016 #HyperV


2 thoughts on “How To Install Windows Nano Server 2016 on HPE ProLiant Gen9 Servers? #NanoServer #HPE”

Leave a comment...

  1. Hi Charbel,

    Thanks for the article, it’s gotten me part of the way. Have you tried to deploy Nano Server to the internal SD card in a Gen9? I get to the point where it restarts after deploying the drivers but get a 0xc000000f error on boot up.


  2. The Nano deployment on SD card is similar to HDD or SSD.

    The steps for configuring the server to use the MicroSD card (32GB) are listed below. It
    is assumed that the Micro SD card is already installed in the HPE ProLiant server’s internal Micro SD slot.

    1. Log on to the iLO of the target HPE ProLiant Server using a Web browser.

    2. Open an Integrated Remote Console (IRC) session:
    a. On the iLO Overview screen, click the “.NET” or “Java” link, whichever you prefer, to open an IRC session.
    b. Follow the prompts to complete the connection

    3. Reboot the server and press the F9 System Utilities option.

    4. At the System Utilities menu, enable the Internal SD Card Slot as follows:
    a. Select System Configuration
    b. Select BIOS/Platform Configuration (RBSU)
    c. Select System Options
    d. Select USB Options
    e. Select Internal SD Card Slot and set to “Enabled”.
    f. Press F10 to save and 4 times to return to System Utilities menu.
    g. Select Reboot the System.

    The internal Micro SD card is now ready for deployment.

Let me know what you think, or ask a question...

error: Alert: The content of this website is copyrighted from being plagiarized! You can copy from the 'Code Blocks' in 'Black' by selecting the Code. Thank You!