Historically, we’ve had two installation options for Windows Server:
- Server with a GUI: Full installation with all server roles available
- Server Core: No graphical user interface (GUI), but with most server roles available
In Windows Server 2016, we now have a third installation option: Nano (with the ‘a’ pronounced like ‘apple’) Server. You can look at Nano Server as the most minimal Windows Server OS ever. In fact, the OS layer is so thin that you actually have to inject the server roles you need into the installation media!
MORE: Server 2016 Feature Highlight: Nano Server
MORE: Server 2016 Feature Highlight: Containers
Nano Server Advantages
Here are the main advantages of Nano Server in a nutshell:
- Lightweight: The installation footprint is under 1 GB because there’s literally nothing in the file system but minimal system files, device drivers, and server roles that you hand-pick to install.
- Reduced attack surface: Attackers can’t exploit services that physically aren’t present in the server’s file system.
- Total remote management: As we’ll see, Nano Server has a barebones local administrative shell, but that’s intended only for initial setup and recovery situations. You’ll do 100 percent of your Nano Server management by using remote command-line or graphical tools from your administrative workstation or the Azure cloud.
- Fewer reboots: Because there is so little operating system to speak of, Nano Server should require far fewer updates and consequent reboots as compared to Server Core or Windows Server with GUI installations.
- Cloud scale: We live in the era of the public, private and hybrid clouds, where IT administrators are expected to scale services up and down on demand. As a tiny, agile Windows Server system, Nano Server can support lightning fast deployments and migrations, say, across host servers and failover clusters.
Before we get into the step-by-step of building a Nano Server, remember that as of this writing Nano Server is in the Technical Preview 5 (TP5) development stage. As such, the Windows Server engineering team still has every right to change how the product behaves.
Building A Nano Server VM
Your first step is to download the Windows Server 2016 TP5 bits. You can do so for fun and for free by visiting the TechNet Evaluation Center.
As you can see in this screenshot, Microsoft makes both the full ISO DVD image file as well as a pre-built Nano virtual hard disk (VHD) file available. In this tutorial, we’ll be using the pre-built Nano Server VHD, so go ahead and download it.
If you want to create your own Nano Server VHD from the ISO source files, that’s fine. Here are two worthwhile tutorials that will show you how to do that: TechNet and JasonHelmick.com.
For our purposes, we’ll take advantage of the client Hyper-V and simply deploy a new virtual machine that’s based on the newly downloaded Nano Server VHD. You can install client Hyper-V on the following Windows client operating systems:
- Windows 8.1 (Pro or Enterprise)
- Windows 10 (Pro, Education, or Enterprise)
The above screenshot shows where the client Hyper-V option exists in the Windows 8.1 Windows Features dialog box. Once selected you’ll be able to install the client Hyper-V on Windows 8.1.
If you don’t have a qualifying Windows edition, then you can use Oracle’s VirtualBox, a free open source desktop hypervisor. As it happens, VirtualBox can mount Hyper-V Generation 1 VHD files just fine.
We won’t go into the step-by-step details of creating a Hyper-V virtual machine (VM), but you can reference this nice tutorial from macrium.com to get started. The main action items are:
- Choosing Generation 1 as the VM type. This type supports the VHD format.
- Pointing Hyper-V to the Nano Server VHD instead of letting Hyper-V provision a new, blank VHD. Here’s what that will look like:
Managing Your New Nano Server
Once you’ve started up your new Nano Server VM, the next logical question is how do we set it up. Here’s a workflow, assuming you’re using the pre-built VHD from the TechNet Evaluation Center:
- Log in with the Administrator username and a domain name matching the VM hostname. In other words, if you named the VM “nano1,” then use that for the domain name.
- Set the Administrator password upon first login.
- To communicate with your hardware host, you’ll have to configure the IPv4 address
Here’s a screenshot of the Nano Recovery Console, which is the local admin interface for Nano Server.
And here is a nice “cheat sheet” of the keys you’ll need to successfully navigate through the Nano Server Recovery Console:
- UP, DOWN: Move up or down (reasonably enough!)
- ENTER: Select
- F4: Toggle
- F11: IPv4 settings
- ESC: Log out
- F5: Refresh
- CTRL+F6: Restart
- CTRL+F12: Shutdown
Don’t forget to adjust the static IPv4 address of your hardware host’s Hyper-V virtual network adapter to match the subnet used by your Nano VM.
From your host, fire up an elevated Windows PowerShell prompt and run the following two commands to test connectivity to the Nano VM. The first one enables the local machine to establish a Windows Remote Management (WinRM) connection to the Nano VM:
Set-Item -Path WSMan:localhostClientTrustedHosts -Value <nanoIPv4address>
The second command will get you into the Nano server:
Enter-PSSession -ComputerName <nanoIPv4address> -Credential (Get-Credential)
If nothing else, working with Nano Server will give you plenty of Windows PowerShell remote management experience!