On October 12th, Microsoft released Windows Server 2016 and System Center 2016 for public (GA). With the release of Windows Server 2016, we also get the first version of Nano Server. First version? Yes, because Microsoft took a new approach of servicing Nano Server versus Windows Server. In prior releases, Windows Server has been serviced and supported with a (5+5) model meaning that there is 5 years of mainstream support and 5 years of extended support and this will continue with Windows Server 2016. If you choose to install full Windows Server 2016 with a desktop experience or Server Core, you will follow the (5+5) model which means you get only security and quality fixes, but no new features. Nano Server in the other hand will not follow the Long Term Servicing Branch (LTSB) as Windows Sever. Nano Server will opt into a more active servicing model similar to the experience with Windows 10. These periodic releases are known as Current Branch for Business (CBB) releases. This type of servicing model continues to provide new features and functionality, and please note that Software Assurance is also required to deploy and operate Nano Server in production. Do you agree with this new model for Nano Server? Please leave a feedback in the comment section below.
With the first release of Nano Server, we also got a new UI tool called Nano Server Image Builder.
In this post, I will show you how to create a custom bootable USB media to deploy Nano Server on physical machines.
Create Nano Server Image for Physical Machine
Nano Server Image Builder is a new graphical user interface (GUI) based wizard which helps you create a custom Nano Server VHD(X) image for virtual machines and physical machines. The Nano Server Image Builder is based on the inputs you provide, it generates images for deployment and it also creates reusable PowerShell scripts that allows you to automate the image creation process.
To create a Nano Server Image using Nano Server Image Builder, there are three resources you must already have. These resources include:
Before you start creating the image for physical machine, you need to have the following:
- A USB flash drive that is suitable to your image size.
- A Physical machine ready to be imaged or reimaged.
- A Management machine that has the latest Windows Assessment and Deployment Kit (ADK) installed.
- Nano Server drivers provided by your OEM vendor (HPE, DELL, IBM, Fujitsu, etc.)
- Windows Server 2016 media extracted to a folder on your management machine.
In this section, we will create a custom Nano Server image to be deployed on physical machine.
From the management machine, launch Nano Server Image Builder and select “Create a new Nano Server image” as shown in the following screenshot:
Click Next and then select the location for Windows Server 2016 media source files as shown in the next screenshot.
Accept the License Agreement, click Next and then choose your deployment type:
- Virtual machine images can be .vhd or .vhdx
- Physical machine images can be .vhd, .vhdx or .wim
In this example, I will select a Physical machine image.
The Nano Server Image Builder can also create a USB drive using WinPE that will detect your existing physical server hardware configuration and report the details on-screen and in a log file. If you need to create one, please select the desired USB drive and click Create, otherwise click Next and proceed to create the custom Nano image.
In this step, we will start specifying the basic information for the Nano image. Select Nano Server Edition (Standard or Datacenter) and the optional packages that you want to add as part of the image as shown in the next screenshot. Click Next.
In this step you can add additional drivers provided by the OEM vendor. Please note that you want to add each driver (.inf) file individually as shown in the following screenshot:
In this example, I am using HP Enterprise ProLiant server.
Click Next, in the Destination machine information, you need to provide the computer name, local Administrator password and the preferred Time zone as shown in the next screenshot:
You can enter a domain name to use as existing Active Directory account, or you can provision a computer account metadata blob file. However, in this example, I will not join the server to the domain. Click Next.
In the Set network, you can enable for PowerShell remote management from all subnets, enable VLAN ID and configure network settings as shown in the following screenshot. Since I don’t DHCP server deployed in my environment, I will choose Static IP Address.
In this step, we will move into the advanced configuration for the Nano image.
In the Add servicing packages window, you can add the servicing packages in .CAB format which allow you to add Windows update from a path on your computer. Please note that the Windows update packages should be downloaded earlier and extracted locally on your management machine. As of this writing, there are 3 important update packages that must be added into Nano Server image as shown in the next screenshot.
Click Next, you can add Embed files and commands to run when Setup completes as part of image. In this example, I don’t have any.
In the Remote Options window, we will enable the Emergency Management Services (EMS) to support serial accessible console to interact with the Nano Server if needed.
In the Debugging methods window, we can select different debugging methods:
- Serial port (Serial)
- TCP/IP network (Net)
- IEEE 1394 protocol (Firewire)
If you enabled Management Services (EMS) in the previous step over Port 1, you need to use different port if you choose to enable debugging over serial port here.
Review all the settings and then click Create.
Sit back, relax and get cup of coffee while the image is being cooked
In this example, the creation of Nano image process took 18 minutes.
Create Bootable USB Media
In this section, we will create a bootable USB media using Nano server image that we created in the previous section.
When the image creation is successful, click on Create USB and then click Next.
Select the location for the Nano Server image as shown in the next screenshot and click Next.
In the next step, select the USB flash drive that you want to use with a capacity at least 4GB.
Specify the Boot mode (UEFI or BIOS), I will select UEFI boot mode since my physical server is UEFI supported. You can also select a partition and click Edit to change the partition parameters. However, the bootable partition SYSTEM which is required by the boot process is not editable.
The Nano Server USB drive will automatically partition the system drive using the layout that we specified as shown in the following screenshot.
Check the summary page and click Create.
In approximately 6 minutes, you have a bootable USB drive to deploy and you can optionally create a bootable ISO file using the same binaries. The ISO is useful in case you want to deploy the image through the network using ILO for HPE or iDRAC for DELL.
Now you can plug your USB drive to your physical machine and deploy Nano Server.
Create Reusable Bootable USB Media
When you use Nano Server Image Builder tool to create a bootable USB media, you can only deploy one Nano server on physical machine at a time. So if you have 10 servers, you need to repeat and create 10 USBs using the same process described above… Really! Why?
Because when you deploy the image, the boot files from that USB are deleted automatically after the first install. Microsoft decided to remove the boot files so the system wouldn’t get stuck in a never-ending installation loop, especially if the BIOS boot order in the server is set to boot from USB instead to boot the hard drive.
The issue with using the same key 10 times is that all the servers will have the same name and IP address (if static) etc.
To solve this problem, you can just create one USB with WinPE using the Windows ADK and deploy Nano server on multiple physical machines.
The steps involved in this process are:
Step 1: Install Windows ADK for Windows 10.
Step 2: Insert a USB drive into the computer. In this example, the drive letter for the USB is (H:)
Step 3: Launch Deployment and Imaging Tools Environment (as administrator) and type the following:
copype amd64 c:\winpe_amd64
makewinpemedia /ufd c:\winpe_amd64 H:
Step 4: Copy C:\NanoServer\*.* including subfolders to USB H:
Step 5: Copy the OEM drivers including subfolders to USB H:
Step 6: Boot your physical server from USB (H:) and type the following:
Select disk 0
Create partition efi size=100
Format quick FS=FAT32 label="System"
Create partition msr size=128
Create partition primary
Format quick FS=NTFS label="NanoServer"
Step 7: Apply Nano image and add Nano package(s) including OEM drivers
Dism /Apply-image /imagefile:C:\NanoServer.wim /index:1 /applydir:n:\
Dism /Add-Package /PackagePath:C:\Packages\Microsoft-NanoServer-OEM-Drivers-Package.cab /Image:n:\
Dism /Add-Package /PackagePath:C:\Packages\en-us\Microsoft-NanoServer-OEM-Drivers-Package_en-US.cab /Image:n:\
Dism /Add-Package /PackagePath:C:\Packages\Microsoft-NanoServer-Compute-Package.cab /Image:n:\
Dism /Add-Package /PackagePath:C:\Packages\en-us\Microsoft-NanoServer-Compute-Package_en-US.cab /Image:n:\
Dism /Add-Package /PackagePath:C:\Packages\Microsoft-NanoServer-FailoverCluster-Package.cab /Image:n:\
Dism /Add-Package /PackagePath:C:\Packages\en-us\Microsoft-NanoServer-FailoverCluster-Package_en-US.cab /Image:n:\
Bcdboot.exe n:\Windows /s s:
When the system reboots, you will be instructed to change the Administrator password as shown in the following screenshot.
Now you can take the same USB flash drive to any physical machine and deploy Nano Server by following Step 6 and 7 as described above.
Stay tuned for an automated process in the near future.
Thanks for reading!