Installing Windows Server 2016, Microsoft Hyper-V Server 2016, and Nano Server
After the prerequisites verification, we are now ready to install either the Windows Server 2016 or Microsoft Hyper-V Server 2016. The basic installation for both products is not so complicated, but it takes time to be finished. It would be interesting to identify the needs of a server provisioning for large deployment such as the Microsoft Deployment Toolkit (MDT) and System Center Virtual Machines Manager (SCVMM) which provides a unified collection of tools, processes, and guidance to automate this process, thus could result in both cost and time saving.
In case you want to use the Windows Server 2016 installation, it offers three deployment options: Full Server with desktop experience, Server Core, and Nano Server. The Full Server option provides a graphical interface to manage Hyper-V and Windows, including Hyper-V Manager, Server Manager, and all the other tools and services available on Windows. The problem in Full Server with desktop-experience option is that it comes with other components and services installed by default. That's why Microsoft introduced, in Windows Server 2008, a new installation method called Server Core, which is the default installation method in Windows Server 2016. This option does not come with the Graphical User Interface (GUI); instead, it has a command-line interface. With Server Core, we have more security and better performance in the host computer because only the core components of Windows are installed and features, such as the Internet and Windows Explorer
are not present.
However, Microsoft went beyond Windows Server Core in Windows Server 2016 and introduced a new server deployment option called Nano Server.
Nano Server is a new headless, 64-bit only, deployment option in Windows Server 2016 that has been optimized for private clouds and data centers. It is similar to Windows Server in the Server Core mode, but significantly smaller, has no local log on capability, and only supports 64-bit applications, tools, and agents. It takes up lesser disk space, sets up significantly faster, requires fewer updates, and restarts faster than full Windows Server.
The major difference between Nano Server and Server Core is that none of the roles and features are available in the image as we get in Server Core and Full Server. In other words, when you add or install additional roles and features with Full Windows Server, it never prompts you for the media, all the binaries exist on your hard disk within the OS apart for .Net Framework 3.5. In Nano Server, all the Infrastructure roles live in separate packages, so you have to add them to the image. In this case, your base Nano Server image will always stay very small (zero-footprint).
As you add roles and features to Nano Server, some of them have additional dependencies which require additional space, as an example, the Hyper-V package requires only the Nano Server base OS, so the image will always be small and tight. Nano Server has full driver support, so any driver that works for Windows Server 2016, will work with Nano Server as well.
As a result, Nano Server deployment option provides the following improvements versus Server Core, Full Server, and Hyper-V Server:
- Reduced maintenance and management
- Less risk of bugs and failures
- Less disk and memory requirements
- Less updates and patches requirements
- Less and faster reboot
- More security
All these described options are available on Windows Server, which means that a Windows Server License has to be purchased, although there is a free version of Hyper-V called Hyper-V Server. This version is very similar to Windows Server Core installation, but it comes only with Hyper-V and failover clustering. The Hyper-V server contains all the features of Windows Server 2016 Hyper-V and Nano Server with Hyper-V role excluding RemoteFX, in other words, Remote Desktop Virtualization Host (RDVH) is not supported on the free Hyper-V Server.
In this task, you will see how to install Windows Server 2016 Hyper-V.
Before you start, make sure that you have the correct media file or DVD with the Windows Server 2016 installation image.
The following steps will walk you through the installation process of Windows Server 2016 and Nano Server:
- After the DVD boot process in the first screen, select your language, time and current format, keyboard or input method, and click on Next.
- On the second screen, click on Install now and the installation will automatically continue. If prompted, add the Windows Product Key and again click on Next.
- Select the operating system to be installed, as shown in the following screenshot, and then click on Next. As mentioned in the preceding section, Server Core is selected by default:
- In order to install Windows Server 2016, you will have to accept the license terms. Select the I accept the license terms option and click on Next.
- For a new installation, select the option Custom: Install Windows only (Advanced), as shown in the following screenshot. The upgrade option for this version has been disabled:
- In the Where do you want to install Windows screen, select the hard drive on which you want to install Windows Server and click on Next. For advanced driver options click on Drive options (advanced).
- If you have an external storage device or a hard drive that needs a driver to be loaded, click on Load Driver, as shown in the next screenshot, and install the proper drivers. Click on Next.
- At this point, you need to wait for the installation to be completed. It can take from 10 to 30 minutes, based on your hardware.
- When it finishes, you will see the login screen asking you to provide the username and password. The default user is
Administrator
with a blank password. By default, Windows creates a blank administrator password. For the first login, the system prompts you to insert a password.
The installation for Nano Server is a little bit different; we have actually three different installation options, in a virtual machine, on a physical machine or in Microsoft Azure.
At the time of writing this book, the following list of roles and features (packages) have been added by Microsoft:
Before we deploy Nano Server, we need to create a Nano Server image, we have two options to do so, we can use the new PowerShell module that ships with Windows Server 2016 media or we can use Nano Server Image Builder, which can now be downloaded from the Microsoft download center.
In the following section we will cover both options.
Create a Nano Server Image using PowerShell
We will start by creating a folder on the machine that you will use for the Nano Server creation process. For instance, you can create a folder named C:\NanoServer
. After creating this folder, there are four resources that you must have saved in that folder. These resources include:
In fact, all the resources are included in Windows Server 2016 ISO media under the NanoServer
folder, you can mount the ISO image and copy the required components, verify that all are in the correct folder. Next, open Windows PowerShell and import the NanoServerImageGenerator.psm1
module. While doing so, you can start creating the image using the New-NanoServerImage
commandlet (cmdlet).
The default Nano Server image that ships with Windows Server 2016 requires customization. Customizations include adding Nano Server packages based on the role the server will play in the environment, which is Hyper-V in this case, the addition of boot critical drivers, and an unattend.xml
file to complete the setup process. This chapter covers only a few customizations and deployment scenarios.
We will create a new VHD image using the New-NanoServerImage
cmdlet; the computer name will be NanoServer01
and have OEM drivers installed for most common hardware and has the Hyper-V role, clustering feature, and the Emergency Management Services (EMS) enabled.
Note
Make sure to run the following script on a computer member of a domain where Nano Server will be deployed and update the IP addresses to match your environment.
If the physical server uses UEFI to boot, then make sure to change .vhd
to .vhdx
.
Create a Nano Server image using Nano Server Image Builder
The Nano Server Image Builder is a GUI-based wizard that helps you create a custom Nano Server image and bootable USB media. The Nano Server Image Builder is based on the inputs you provide, it generates images for deployment and also creates reusable PowerShell scripts that allow you to automate the image creation process.
To create a Nano Server Image using Nano Server Image Builder, there are three resources that you must have ready. These resources include:
You need to install Windows Assessment and Deployment Kit (ADK) on the machine that you will use to create Nano Server image, using Nano Server Image Builder.
When ADK is installed, launch Nano Server Image Builder and select the prefer method of creating the image, as shown in the following screenshot:
Make sure you have downloaded Windows Server 2016 ISO and extracted it to a folder on your machine, click on Create a new Nano Server image, select a location for the media source, and then click on Next:
Accept the License Agreement, click on Next and then choose your deployment type:
- Virtual machine images: This can be
.vhd
or .vhdx
- Physical machine images: This can be
.vhd
, .vhdx
, or .wim
In this case, I will select a physical machine image:
Click on Next twice and then select the Nano Server Edition (Standard or Datacenter) and the optional packages that you want to add as a part of the image, as shown in the next screenshot:
Since we are creating an image for the physical machine, the Server Core drivers
is selected by default; we have added the Hyper-V role, Failover Clustering Service, and File Server role. Click on Next, you can add additional drivers provided by the OEM vendor if needed. In the Destination machine information, you need to provide the Computer name, local Administrator password, and the preferred Time zone, as shown in the following screenshot:
Click on Next, enter a domain name that can be used as the existing Active Directory account or you can provision a computer account metadata blob file. Click on Next, in the Set network, you can enable for PowerShell remote management from all subnets, enable VLAN ID, and configure network settings (DHCP or Static), as shown in the following screenshot:
Click on Next, you can now proceed and create a basic Nano Server image or continue to configure advanced settings, such as (add update packages, embed files and commands to run when setup completes, enable Emergency Management Services (EMS), and enable support for development scenarios and debugging methods). In this example, we will proceed by creating a basic Nano Server image. Click on Create, when ready, and the image creation will start, as shown in the next screenshot. The image creation process will take between eight to thirteen minutes, depending on your machine speed. As mentioned earlier, you can also copy the PowerShell command and use it to automate the image creation:
Deploy Nano Server on a physical machine
There are a few ways to deploy Nano Server to a physical machine:
- Dual-boot a Nano Server VHD, or VHD(X)
- PxE-boot a bare-metal machine and install Nano Server from WDS using a VHD or VHD(X)
- PxE-boot a bare-metal machine and install Nano Server from WDS using a .
wim
file - Booting a bare-metal machine into WinPE and deploying Nano Server using a
.wim
file
It is important to reiterate that there are multiple ways to configure and deploy Nano Server; this chapter covers just the first deployment option for the readers to get started.
I strongly encourage you to check the Getting Started with Windows Nano Server book by Packt for in depth details about Nano Server. Check out https://www.packtpub.com/virtualization-and-cloud/getting-started-windows-nano-server.
To quickly deploy Nano Server on a physical computer, you need to have a generalized Nano Server VHD or VHD(X) image ready, which we created in the previous section.
To configure the physical machine to boot from this new VHD(X), please follow these steps:
- We need to add an entry to the boot database using
bcdboot
, but before we add this entry, let's look at the current boot database by running bcdedit
, as shown in the following screenshot:As you can see we have a single entry as identifier called {current}
.
- Next, we need to add a new entry to the BCD store, so in addition to the current operating system, which in this example is Windows Server 2012 R2, we would like to add another boot entry, in order to do that we need to use
bcdboot
. - Copy the VHD(X) that we created in the previous section to the physical computer and configure it to boot from this new VHD. To do that, follow these steps:
Mount the generated VHD. In this example, it's mounded under E:\
as shown in the following screenshot:
- Run
bcdboot e:\windows /v
. - Unmount the VHD by running:
Dismount-DiskImage $NanoImage
.
- Let's now look at the
bcdedit
settings, as shown in the following screenshot:As you can see, bcdboot
has updated all boot files (such as bootmgr
), and took the bcd template from the Nano image you want to boot from and stamp it into the BCD store and update the device paths. Now, you will know for sure that the paths are correct, the entry is correct, and the binaries have supported versions.
Note
You could possibly accomplish something similar with bcdedit
, but with bcdedit
you would need to manually set the VHD path, which is easy to get wrong. If you are not careful while copying different entries, you will end up booting the OS with an incorrect boot configuration. On top of that bcdedit
will not update the binaries, which could result in an unsupported configuration. As the best practice, use bcdboot
.
Lets reboot the physical machine now and show you what the boot process looks like:
- Wait for a couple of seconds until Nano Server boots and then log on to the Recovery Console, as shown in the following screenshot using the user name (in this case:
Administrator
) and password you supplied while creating the Nano Server image:
The process to install a free Hyper-V Server and Windows Server (Core or Full Server) is the same. However, for Nano Server you need to customize and create the image according to the use case. The setup will install all the necessary components only to run Hyper-V without any other services (or applications, in case of Hyper-V Server). The first step in the installation procedure is to load the boot.wim
setup image file and after the preceding process, setup applies the install.wim
image file containing the OS image.
In case of Hyper-V Server and Windows Server (Core or Full Server), once the installation is completed, you will be prompted to change the administrator password and the system will be ready to be used.
- The Managing a Server Core installation using sconfig recipe in this chapter
- The Remotely managing a Nano Server installation recipe in this chapter
- The Chapter 5, Hyper-V Best Practices, Tips, and Tricks