Deploying Nano Server in Windows Server 10 Technical Preview 2

by [Published on 30 Sept. 2015 / Last Updated on 30 Sept. 2015]

This article will discuss the new Nano Server installation option in Windows Server 10 Technical Preview 2 and how to deploy it using the boot from VHD method.

Nano Server

Nano Server is a new OS installation option for Windows Server 10 Technical Preview 2. It was developed to provide a Windows Server configuration with a very small footprint that supports a bound set of usage scenarios. Nano Server is designed to be deployed as a 100% remotely administered installation. It does not include a GUI nor a command line interface at the console. It also does not support remote desktop services (RDS), or local login capability.

Nano Server was designed to have an installation footprint of about 500 MB. By default, Nano Server has a limited set of services and requires packages to be added to the installation to implement additional functionality. In order to minimize the installation footprint, only required package files are copied on the server.

Installation Modes

Nano Server does not have a GUI-based installation program. If you insert a Windows Server 10 Technical Preview 2 DVD, you will not find an option to install Nano Server. Nano Server binaries ship in a separate directory on the DVD in a folder named NanoServer. In this directory, you will find a Nano Server windows image (WIM) and a single directory that contains the installable packages.

In order to install Nano Server, you can select from the following methods:

  • Apply a WIM using ImageX
  • Build a VHD and enable boot from VHD support
  • Build a VHD and boot as a virtual machine
  • Enable PXE boot server installation

The installation method that you select is dependent on the number of images that you need to deploy and the amount of automation that you require in your procedure.

Packages

As part of the deployment process, there is a defined set of installation packages, as shown in Table 1, which can be added to the Nano Server installation image to enable additional features.

Package

Filename

Hyper-V

Microsoft-NanoServer-Compute-Package.cab

Failover Cluster

Microsoft-NanoServer-FailoverCluster-Package.cab

Hyper-V Guest OS drivers

Microsoft-NanoServer-Guest-Package.cab

OEM Driver Set

Microsoft-NanoServer-OEM-Drivers-Package.cab

Storage

Microsoft-NanoServer-Storage-Package.cab

Reverse Forwarders

Microsoft-NanoServer-ReverseForwarders-Package.cab

Table 1: Nano Server Installation Packages

Each package can be independently added to the installation image to support only that feature. An OEM Drivers Set package is provided as a way to minimize the time it takes to enable hardware support, but if the desire is to minimize the deployment footprint, then only add the drivers that are required for the target hardware.

As you can see by the list of packages in Table 1, there are specific target workloads that a Nano Server supports in Windows Server 10 Technical Preview 2:

  • Hyper-V host or a cluster of Hyper-V hosts
  • Storage Server or a Scale Out File Server cluster
  • A virtual machine running a targeted application workload

Installation and Deployment Requirements for the Boot from VHD Method

The following items are required before you can build and deploy a Nano Server VHD using the boot from VHD method:

  • Windows Server 10 Technical Preview 2 ISO – Nano Server source files
  • Windows Assessment and Deployment Kit for Windows 10 – WINPE files
  • Windows 8.1 or Windows 10 machine to perform the installation
  • NanoServer.ps1 – Nano Server image customization script
  • Convert-WindowsImage.ps1 – VHD creation from WIM      tool
  • Machine to install the VHD in boot from VHD mode (optionally a VM will do)

Building the Nano Server VHD

Microsoft provides a Nano Server.ps1 script that greatly simplifies the process of creating the Nano Server VHD and customizing it. The script automates the following processes:

  • Creating the VHD from the Nano Server WIM using the Convert-WindowsImage script
  • Installing Nano Server packages
  • Creating an Unattend.xml with additional options
    • Setting the Administrator Password
    • Injecting custom drivers
    • Enabling Remote Management
    • Enabling IP Address information on boot
    • Domain Join
    • Enabling Emergency Management Services
    • Enabling Kernel Debugging

To build a Nano Server VHD, you can use the following steps:

  1. Create a directory called C:\NanoServerBuild
  2. Copy the NanoServer.ps1 and the Convert-WindowsImage.ps1 into this directory
  3. Start a PowerShell window in Admin mode and navigate to the C:\NanoServerBuild folder
  4. Dot source the script by executing the following command:
    . .\NanoServer.ps1
  5. Execute the command New-NanoServerImage to create the image using the following syntax:

Option

Value

Required

Comment

MediaPath

E:\ (or as configured on your system)

Yes

Path to Windows 10 Server media (drive letter or a UNC path)

BasePath

.\Base

Yes

Path where the media is copied

TargetPath

.\NanoDemo

Yes

Path where the VHD will be created (the VHD will be given the name of the folder, e.g., NanoDemo.vhd)

ComputerName

NanoDemo

Yes

Computer name for the Nano Server

GuestDrivers

 

No

Installs the Hyper-V Guest Drivers package

Compute

 

No

Installs the Hyper-V package

OEMDrivers

 

No

Installs the OEM Driver package

Clustering  

 

No

Installs the Failover Clustering package

ReverseForwarders

 

No

Installs the Reverse Forwarders package

EnableIPDisplayOnBoot

 

No

Display IPConfig output at server boot

DriversPath

 

No

Path were custom drivers can be found for injection into the image

EnableRemoteManagementPort

 

No

Enables WinRM remote management port

Table 2

  1. For example, to create an image with the Hyper-V guest drivers and have the Nano Server print the IP configuration information to the screen at every boot, you would use the following options:
    New-NanoServerImage 
      -MediaPath E:
      -BasePath .\Base
      -TargetPath .\NanoDemo
      -ComputerName NanoDemo
      -GuestDrivers
      -EnableIPDisplayOnBoot
  2. Using these options, you will create the resulting VHD in location
    .\NanoDemo\NanoDemo.vhd

The Domain Join, Kernel Debugging and Emergency Management Services are advanced options that require additional comprehension and processes to accomplish. If you want to learn about these options, refer to this Microsoft website Nano Server blog post.

Building a WinPE Disk

In order to install Nano Server on a machine using Boot to VHD mode, you will need a WinPE boot disk to prepare the hard drive of the server and copy the VHD file. Use the following steps to create the WinPE disk:

  1. Install the Windows Assessment and Deployment Kit for Windows 10 on a machine where you want to build the WinPE ISO (only the Deployment Tools and Windows PE options are required)
  2. Once the Windows Assessment and Deployment Kit for Windows 10 is installed, launch the Deployment and Imaging Tools Environment using the link you will find in the Start Menu
  3. At the command line, move up a directory level to C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\
  4. Change directory using the command CD “Windows Preinstallation Environment” command
  5. You will find two command scripts in this directory named Copype.cmd and MakeWinPEMedia.cmd
  6. Execute the command copype.cmd amd64 C:\WinPE_AMD64
  7. You will find three folders in C:\WinPE_AMD64 named fwfiles, media, mount
  8. In the media folder, create a directory called VHD and copy the NanoDemo.vhd that you created previously into this folder
  9. Execute the command MakeWinPEMedia /ISO C:\WinPE_amd64C:\WinPE_amd64\WinPE_amd64.ISO
  10. After creating the ISO, burn it to a DVD if you need to use it to complete the installation on a physical machine

Installing Nano Server using Boot to VHD

After creating a WinPE boot disk with the \VHD\NanoDemo.vhd file available, you can use the WinPE image to boot the physical server, prepare the disk, install the VHD file, and configure the server to boot to the VHD file. Use the following steps to boot the server from VHD:

  1. Boot the server from the WinPE image
  2. Launch diskpart
  3. Select and prepare the disk using these options
    • Select disk 0
    • Clean
  4. Create the system partition using these options
    • Create partition primary size=300
    • Format quick fs=ntfs
    • Assign letter=s
    • Active
  5. Create the Windows partition using the remaining space
    • Create partition primary
    • Format quick fs=ntfs
    • Assign letter=c
    • Exit
  6. Copy the VHD to the Windows drive (assumes the WinPE disk is D:)
    • Copy D:\VHD\NanoDemo.vhd c:\
  7. Attach the VHD using these options
    • Diskpart
    • Select vdisk file=c:\NanoDemo.vhd
    • Attach vdisk
  8. Assign the VHD a drive letter using these options
    • List volume
    • Select volume  <volume_number_of_attached_VHD>
    • Assign letter=v
    • Exit
  9. Configure Bcdboot using these options
    • CD v:\windows\system32
    • Bcdboot v:\windows /s s:
  10. Detach VHD using these options
    • Diskpart
    • Select vdisk file=c:\NanoDemo.vhd
    • Detach vdisk
    • Exit
  11. Reboot the machine

Once the machine reboots, you will see a black screen and a cursor. You should also see the output of an IPCONFIG command that shows the IP address information for the machine.

Remotely Managing the Nano Server

After you have deployed Nano Server, since there is no UI or ability to login and manage the server locally, you must decide what approach you will take to manage the server. To remotely manage the Nano Server, you need a Windows 10 Server with the GUI installed. You must choose the installation option with tools for this system. After you have this server configured, log into the server to use the Server Manager to remotely manage the configuration of the Nano Server by adding the Nano Server by name or address to the Server Manager console. If you want to manage Hyper-V, you can use the Hyper-V Manager tool and change the focus to the Nano Server. If you want to manage failover clustering, you can use the Failover Cluster Manager tool to remotely connect to the cluster. Lastly, you can use WinRM and PowerShell to remotely manage the server. Just remember that Remote Desktop is not an option for managing the Nano Server.

Conclusion

Building a Nano Server will be very familiar to an IT Pro that does automated installations and manages WIM images. The installation processes are proven and well-documented. For the casual installer though, the lack of an option to just insert the DVD and pick from a couple of GUI options might be frustrating. Smartly, Microsoft has greatly simplified the process of creating and configuring a VHD for a Nano Server installation by supplying the NanoServer.ps1 and the Convert-WindowsImage.ps1 scripts. This makes the process very simple and easy to reconfigure with different package options quickly.

The hardest thing for IT administrators that like to use a local GUI will be to get use to the lack of ability to log on locally and administer servers. Granted, IT staff has been remotely managing servers for years, but they always had the warm fuzzy feeling that in a pinch they could log in locally to fix a problem. This is no longer an alternative with Nano Server. Finally, if you want to widely deploy Nano Server in your infrastructure, make sure that your IT staff is up to speed on using WinRM and PowerShell.

See Also


The Author — Janique Carbone

Janique Carbone avatar

Janique Carbone has spent the better part of 15+ years in the IT industry, including 7 years at Microsoft as a Senior Consultant and Technical Account Manager.

Advertisement

Featured Links