Installing Nano Server on Dell PowerEdge Server

Installing Nano Server on Dell PowerEdge
Server Internal Dual SD Module
By Rui Freitas (Microsoft) & Gong Wang (Dell)
Disclaimer: Dell does not offer support for Windows Server 2016 at this time. Dell is actively testing and working closely with
Microsoft on Windows Server 2016, but since it is still in development, the exact hardware components/configurations that Dell
will fully support are still being determined. The information divulged in our online documents prior to Dell launching and
shipping Windows Server 2016 may not directly reflect Dell supported product offerings with the final release of Windows Server
2016. We are, however, very interested in your results/feedback/suggestions. Please send them to [email protected]
Introduction
As a configuration option for the 13th generation Dell PowerEdge server such as R630, R730 and R730XD,
etc., the Internal Dual SD Module (IDSDM) provides dual SD interfaces which can be configured in a
mirrored configuration (primary and secondary SD), providing full RAID-1 redundancy. (Note: dual SD
cards are not required, the IDSDM can operate with a single SD card but no redundancy.) The IDSDM
also becomes a non-removable device, which makes it feasible to host a small footprint Windows Server
OS. In addition, the IDSDM has added the USB 3.0 support, which can enhance its performance for the
deployment and OS boot process.
With the upcoming Windows Server 2016, the lightweight, small footprint and customizable Nano server
can be running on the IDSDM module. There are a couple of methods to install Nano Server which can
be used on the internal SD card:



Create a Nano Server VHD. This method requires a running Windows Server or Server Core on
the target system and you also need to configure Boot Configuration Data to make VHD as a
boot option.
Use WDS to PXE Boot a Nano Server VHD. This method is good for a bare metal system. It
requires WDS and also requires to create a Nano VHD or customize the Nano image on the WDS
with needed driver and feature packages
Deploy the Nano Server on a bare metal system with a bootable USB flash drive including
Windows Setup files. This process is very similar as installing a regular Windows OS.
This document describes the steps required to create and deploy Nano Server image on the IDSDM with
the bootable USB flash drive.
Create a bootable Windows Server setup USB drive
While you download the Windows Server 2016 Technical Preview 4 build, you can prepare the USB flash
drive on your desktop.
Start a Command Line Prompt or PowerShell interface with Admin rights, type:
Format G: /FS:FAT32 /Q /V:WinSetup
<- G: is the USB Flash Drive ->
Mount the Windows Server 2016 ISO file and then copy the contents to the USB Flash Drive. You can
use Windows Explorer, one of the following commands, or other equivalent tools.
Mount-DiskImage –ImagePath <WS16_ISO_Path>
xcopy F:\*.* G: /CHERKY
<- F: is the driver letter for the mounted image ->
Or
robocopy F: G: /E /J
Note: The install.wim file in the Technical Preview 4 release is too large to be store on a disk with the
FAT32 format. Although missing this install.wim on the USB flash drive doesn’t impact this Nano
installation process, here is the extra step to copy this file into the FAT32 USB flash drive in case you
need it. This extra step requires Windows ADK for Windows 10, which is available at:
http://go.microsoft.com/fwlink/p/?LinkId=526740
DISM /Split-Image /ImageFile:d:\sources\install.wim
/SWMFile:e:\sources\install.swm /FileSize:4096
Prepare the System
Select a Windows Server 2016 Compatible Dell PowerEdge server from the Windows Server Catalog
(https://www.windowsservercatalog.com/). Make sure the system is configured with an IDSDM.
Press F2 to enter System Setup
during the POST.
Open System BIOS
Open Boot Settings
In Boot Settings, select UEFI. (By
default, BIOS is selected.)
Click Back button to return to
BIOS Settings, open Integrated
Devices.
Select Enabled for USB 3.0
Setting (by default, USB 3.0 is
off). Ensure all USB Ports are On.
Also, ensure Internal SD Card
Port is On.
After these steps, click Finish and exit System Settings. The system will reboot.
Install Nano Server on the SD Card
Boot with USB Flash Drive
Use the embedded Boot Manager to boot the system with the USB Flash Drive prepared by previous
step. The system will boot into Windows Setup using Windows PE.
Press F11 during the system POST
to enter Boot Manager.
Enter One-shot UEFI Boot Menu
Select the USB Flash Drive from
the list.
The system will be boot into
Windows Setup. On the first
Setup menu, Press Shift + F10 to
Start a Command Line Prompt
session.
Partition SD card
Use Diskpart tool to configure the partitions on the SD card by running these commands. In the
experiment on our R630, 2 is the disk number for the SD. Run “Detail Disk” to help ensure the correct
disk number as shown in the screen shot below:
X:\Sources\DiskPart.exe
List disk
Select disk 2
Detail disk
Clean
Convert GPT
Create Partition MSR size=128
Create Partition EFI size=128
Format FS=fat32 Quick Label=NanoSys
Assign letter=S
Create Partition Primary
Format FS=NTFS quick Label=WinSrvNano
Assign letter=W
Exit
Apply Nano Base Image
Use List Volume in Diskpart to identify the drive letter assigned for the USB flash drive.
From the Command Line Prompt, use DISM to apply the Nano base image. (C: is the driver letter of the
USB flash drive)
dism /Apply-image /Imagefile:C:\nanoserver\nanoserver.wim /Index:1
/Applydir:W:\
Add Nano packages
Using DISM, apply the desired Nano Server packages to the base image. The command below the
example adds Compute, Storage, Desired State Configuration, Failover Cluster, and OEM Drivers
package:
dism /Add-Package /PackagePath:C:\NanoServer\packages\Microsoft-NanoServerCompute-Package.cab /Image:w:\
dism /Add-Package /PackagePath:C:\NanoServer\packages\en-us\MicrosoftNanoServer-Compute-Package.cab /Image:w:\
dism /Add-Package /PackagePath:C:\NanoServer\packages\Microsoft-NanoServerStorage-Package.cab /Image:w:\
dism /Add-Package /PackagePath:C:\NanoServer\packages\en-us\MicrosoftNanoServer-Storage-Package.cab /Image:w:\
dism /Add-Package /PackagePath:C:\NanoServer\packages\Microsoft-NanoServer-OEMDrivers-Package.cab /Image:w:\
dism /Add-Package /PackagePath:C:\NanoServer\packages\en-us\MicrosoftNanoServer-OEM-Drivers-Package.cab /Image:w:\
dism /Add-Package /PackagePath:C:\NanoServer\packages\Microsoft-NanoServer-DSCPackage.cab /Image:w:\
dism /Add-Package /PackagePath:C:\NanoServer\packages\en-us\MicrosoftNanoServer-DSC-Package.cab /Image:w:\
dism /Add-Package /PackagePath:C:\NanoServer\packages\Microsoft-NanoServerFailoverCluster-Package.cab /Image:w:\
dism /Add-Package /PackagePath:C:\NanoServer\packages\en-us\MicrosoftNanoServer-FailoverCluster-Package.cab /Image:w:\
Note: The OEM Drivers package is mandatory.
Add hardware drivers to the base image
Nano Server has a very restricted set of drivers. We will need to add Windows generic SD Card drivers,
and USB drivers to the image.
for /d %G IN
(x:\Windows\System32\DriverStore\FileRepository\usbstor.inf_amd64_*) DO dism
/add-driver /driver:%G /image:w:\ /recurse
for /d %G IN
(x:\Windows\System32\DriverStore\FileRepository\usbhub3.inf_amd64_*) DO dism
/add-driver /driver:%G /image:w:\ /recurse
for /d %G IN
(x:\Windows\System32\DriverStore\FileRepository\usbxhci.inf_amd64_*) DO dism
/add-driver /driver:%G /image:w:\ /recurse
Automate initial configuration
You can automate the configuration using an unattend.xml file. Edit the sample in the appendix and
save it to the existing Nanoserver folder on your USB Flash Drive. Then execute the following commands
to apply the file to the Nano Server image:
Dism /apply-unattend:C:\NanoServer\unattend.xml /image:w:\
Md w:\Windows\panther
Copy C:\NanoServer\unattend.xml w:\Windows\panther\
Create the Windows boot loader store
The last step is to create the BCD Store in the EFI partition, run the following command to create a
default configuration:
Bcdboot w:\windows /s s: /f UEFI
Remove the USB flash drive and close all Windows. Reboot the system.
Change System Boot Order into IDSDM
During the system POST, press F2 to
enter System Settings. Open Boot
Settings and then open UEFI Boot
Settings
Open the UEFI Boot Sequence link.
Select “Internal SD: Windows Boot
Manager” and use + to up it to the
top. Click Okay to save the settings.
Note: Before deploying the Nano
Server on the SD, it is displayed as
“Internal SD: EFI Fixed Disk Boot
Device”
Click Finish and save the changes in BIOS settings. The system will reboot. The server will boot into the
Nano Server on the IDSDM card on your Dell PowerEdge server. (Note: the first time boot and log in will
take a little longer time due to applying the initial settings.) After entering your credential defined in the
unattend.xml file, the Nano Server Recovery console will look like this. Congratulations! You are now set
to start using Nano Server on the IDSDM on a Dell PowerEdge server!!
Using Automation Scripts
The above installation process can be partially automated by using a batch file along with the SD
configuration and unattend.xml file. The sample of these files are included in the Appendix. Modify
them as per your specific setup. Copy these files into the NanoServer folder on the USB flash drive which
has Windows Server 2016 setup image. After completing this, the file/folder structure on the USB flash
drive should look like the picture below.
After preparing Dell server with the steps listed in the previous section, boot the system with the USB
flash drive.
After the system boots into Windows
Setup, Press Shift + F10 to Start a
Command Line Prompt session. Run
diskpart.exe.
1) List Disk to identify the disk number for
SD card. Make sure the corresponding disk
number is used in the AutoSDPart.txt.
2) List Volume to identify the drive letter
for the USB flash drive. (It is C: in this
example). The drive letter will be used in
the InstallNano.cmd batch file.
Run InstallNano.cmd batch file, which will
conduct the follow tasks:
 Create partitions on the SD card
 Apply Nano.wim to the SD
partitions
 Install Compute, Storage, OEM
Drivers, DSC, Failover Cluster and
their associated en-us language
packages
 Install the drivers for USBStor,
USBhub3, and usbxhci.
 Apply the unattend.xml file
Exit the Command Prompt and reboot the
system.
Appendix
installNano.cmd
Make sure the correct driver letter is used for the USB flash drive. In this example, C: is the driver letter
assigned to the USB flash drive.
DiskPart.exe /S C:\NanoServer\autoSDpart.txt
dism /Apply-image /Imagefile:C:\NanoServer\nanoserver.wim /Index:1
/Applydir:W:\
dism /Add-Package /PackagePath:C:\NanoServer\packages\Microsoft-NanoServerCompute-Package.cab /Image:w:\
dism /Add-Package /PackagePath:C:\NanoServer\packages\en-us\MicrosoftNanoServer-Compute-Package.cab /Image:w:\
dism /Add-Package /PackagePath:C:\NanoServer\packages\Microsoft-NanoServerStorage-Package.cab /Image:w:\
dism /Add-Package /PackagePath:C:\NanoServer\packages\en-us\MicrosoftNanoServer-Storage-Package.cab /Image:w:\
dism /Add-Package /PackagePath:C:\NanoServer\packages\Microsoft-NanoServer-OEMDrivers-Package.cab /Image:w:\
dism /Add-Package /PackagePath:C:\NanoServer\packages\en-us\MicrosoftNanoServer-OEM-Drivers-Package.cab /Image:w:\
dism /Add-Package /PackagePath:C:\NanoServer\packages\Microsoft-NanoServer-DSCPackage.cab /Image:w:\
dism /Add-Package /PackagePath:C:\NanoServer\packages\en-us\MicrosoftNanoServer-DSC-Package.cab /Image:w:\
dism /Add-Package /PackagePath:C:\NanoServer\packages\Microsoft-NanoServerFailoverCluster-Package.cab /Image:w:\
dism /Add-Package /PackagePath:C:\NanoServer\packages\en-us\MicrosoftNanoServer-FailoverCluster-Package.cab /Image:w:\
for /d %%G IN
(x:\Windows\System32\DriverStore\FileRepository\usbstor.inf_amd64_*) DO dism
/add-driver /driver:%%G /image:w:\ /recurse
for /d %%G IN
(x:\Windows\System32\DriverStore\FileRepository\usbhub3.inf_amd64_*) DO dism
/add-driver /driver:%%G /image:w:\ /recurse
for /d %%G IN
(x:\Windows\System32\DriverStore\FileRepository\usbxhci.inf_amd64_*) DO dism
/add-driver /driver:%%G /image:w:\ /recurse
Dism /apply-unattend:C:\NanoServer\unattend.xml /image:w:\
Md w:\Windows\Panther
Copy C:\NanoServer\Unattend.xml w:\Windows\Panther\
Bcdboot w:\windows /s s: /f UEFI
AutoSDpart.txt
Disk number may vary depending on the system configuration. Make sure the correct disk number is
used for the IDSDM card on your system.
Select disk 2
<- SD card is listed as Disk 2 on my R630 ->
Detail disk
Clean
Convert GPT
Create Partition MSR size=128
Create Partition EFI size=128
Format FS=fat32 Quick Label=System
Assign letter=S
Create Partition Primary
Format FS=NTFS quick Label=WinSrvNano
Assign letter=W
Exit
Unattend.xml
You can customize computer name, administrator password, owner name, and organization name etc.
in this unattend.xml file.
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<settings pass="offlineServicing">
<component name="Microsoft-Windows-Shell-Setup"
processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35"
language="neutral" versionScope="nonSxS">
<ComputerName>NanoTP4</ComputerName>
</component>
</settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup"
processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35"
language="neutral" versionScope="nonSxS">
<UserAccounts>
<AdministratorPassword>
<Value>MyPassWord</Value>
<PlainText>true</PlainText>
</AdministratorPassword>
</UserAccounts>
</component>
</settings>
<settings pass="specialize">
<component name="Microsoft-Windows-Shell-Setup"
processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35"
language="neutral" versionScope="nonSxS">
<RegisteredOwner>My Team</RegisteredOwner>
<RegisteredOrganization>My Corporation</RegisteredOrganization>
</component>
</settings>
<cpi:offlineImage
cpi:source="catalog://rfdeskserver2/d$/opkworkdir/wims/nanoserver
10514/nanoserver_coresystemserver_install.clg" xmlns:cpi="urn:schemasmicrosoft-com:cpi" />
</unattend>