How to Deploy Windows Nano Server 2016 (Technical Preview 5)

Author by Concurrency Blog

If you been following along with this series, you know what is up Next!  We have gone through Nano Server on Virtual machines now time for it to run on some hardware.  Some parts will be repeated from the Virtual deployment but review is good right? If you don’t want to review it, skip down to Hardware Deployment (Press that ctrl + F).  If you already made a virtual Nano server just look at the Code break down as this is where the change is made.

Sections

 

Begin of Review!

Prerequisites

800MB of disk space, YES only 800MB for a Nano server deployment.  It does grow a bit larger adding other features.

Requirements

Server 2016 TP 5 ISO

If you don’t have it download it from here, sign up for an account if you don’t have one as its free.

https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-technical-preview

Machine generated alternative text:
|0Microsoft 
TechNet Evaluation Center 
My Evaluations 
Evaluate Now v 
Tech Journeys v 
Explore 
Try 
Windows Server Evaluations 
Learn 
Type Keyword here... 
B Explore 
B Explore 
Inside look from the experts on what's new 
in Windows Server 2016 
B Explore 
Are you a master of all things DevOps? See 
where you stack up when you explore the 
DevOps Factory. 
Find DevOps stories from experts and 
practitioners to support and inspire your 
transformation 
Windows Server 2016 Technical Preview 5 
Evaluations 
Download 
Please sign in to download Windows Server 2016 Technical Preview 5. If you have not registered before, you will be asked to do so. 
Sign In

Once you have the iso extract it somewhere (I used a program called 7zip to extract it).  I prefer it to be on the root of the c drive.

Machine generated alternative text:
|014300.1000.160324-1723. 1 _ 
File Edit View Favorites Tools Help 
Add Extract Test Copy Move Delete Info 
RELEASE SVC SERVER OEMRET X64FRE EN-US.ISO\ 
Name 
boot 
NanoServer 
sources 
support 
autorun.inf 
bootmgr 
bootmgr.efi 
setup. exe 
0 object(s) selected 
Size 
18 239 2... 
20 833 0... 
403 767 
4 734 43... 
15 297 
128 
405 710 
1 164 776 
80 560 
Packed Si... 
18 257 9... 
20 854 7... 
403 808 
4 735 23... 
15 429 6... 
2 048 
407 
552 
1 165 312 
81 920 
Copy 
Copy to: 
c:\tp5 
Folders: 5 
Modified 
2016 03 
2016 03 
2016 03 
2016 03 
2016 03 
2016 03 
2016 03 
2016 03 
2016 03 
Accessed 
2016 03 
2016 03 
2016 03 
2016 03 
2016 03 
2016 03 
2016 03 
2016 03 
2016 03 
Folders 
3 
5 
3 
79 
7 
Files 
28 
28 
41 
872 
126 
(5 192568406 bytes) 
Files:4 (1651 174bytes) 
Size: 5 194 219580 bytes 
x 
RELEASE SVC SERVER OEMRET X64 
boot\ 
efi\ 
NanoSever\ 
sources\ 
support\ 
OK 
Cancel

Deployment of Nano Server

Time to go exploring, open the C drive and go to the files you have just extracted (c:\tp5).  Once in the TP5 folder copy the "NanoServer" Folder to the Desktop.

Open PowerShell as an administrator Import the PowerShell modules from the recently copied NanoServerImageGenerator folder, from here run the following command

Set-ExecutionPolicy RemoteSigned

Import-Module .\NanoServerImageGenerator -Verbose

Machine generated alternative text:
|0PS c:\users\yher\desktop\Nanoserver\Nanoserver1mageGenerator> set-Executnonpolncy Remotesngned 
Execution policy change 
The execution policy helps protect you from scripts that you do not trust. changing the execution policy might expose 
you to the security risks described in the about _ Execution_policies help topic at 
http://go.microsoft.com/fw1ink/?Link1D=135170. Do you want to change the execution policy? 
[s] suspend [?] Help (default is "N"): A 
[Y] Yes [A] Yes to All 
[N] No [L] No to All 
PS c:\users\yher\desktop\Nanoserver\Nanoserver1mageGenerator> Import-Module .\Nanoserver1mageGenerator 
-verbose 
VERBOSE: Loading module from path 
' c : \use rs\yhe r\desktop\Nanose rve r\Nanose rve rlmageGene rator\Nanose rve rlmageGene rator . psdl ' 
VERBOSE: Loading module from path 
' c : \use rs\yhe r\desktop\Nanose rve r\Nanose rve rlmageGene rator\Nanose rve rlmageGene rator . psml ' 
VERBOSE: Importing function 'Edi t-Nanoserver1mage ' 
VERBOSE: Importing function 'Get-Nanoserverpackage' 
VERBOSE: Importing function 'New-Nanoserverlmage ' 
PS c:\users\yher\desktop\Nanoserver\Nanoserver1mageGenerator>

END OF REVIEW :)

 

Creating the Nano server VHDX for Hardware Deployment

So wait why am I creating a VHDX for a hardware deployment, isn't that for virtual machines?  Well it turns out you can actually boot servers from VHDX.  Let's create it first and then we can deploy it on the hardware.

Nano server can be created in 1 line of code, it’s a bit tricky at first but once you have your line of code it is fairly straight forward and repeatable.  Am I repeating myself?

The break down. Read through the break down before trying to create one.

This will Vary slightly from the Virtual deployment. 

New-NanoServerImage -Edition <edition> -DeploymentType <Guest/Host> -MediaPath <path to root of media> -BasePath .\Base -TargetPath .\NanoServerVM\NanoServerVM.vhd -ComputerName <computername>

-OEMDrivers -driverspath <drivers location>

Notice that now we have to include drivers!

Edition - this is "Standard" or "Datacenter"

So far the only difference between the Standard and Datacenter software wise is having access to Storage Spaces Direct and Storage replica with the Datacenter edition.

Deployment Type - This specifies if it will be a "Guest" VM hosted by a Hyper-V host or "Host" which will be deployed on an actual machine, for this instance we will be making this a "Host".

MediaPath - This is where I had the TP5 ISO extracted earlier to (C:\TP)

TargetPath - This is where your VM will be stored and the name of the VM so rename the NanoServerVM.VHD accordingly.  (It will create the Nano server VHDX in PowerShell’s current location unless specified)

NOTE: Also note the extension Specify VHD (gen1) or VHDX (gen2) machine type.

ComputerName - Just straight forward this will name the machine.

-OEMDrivers - This will give you basic network and storage drivers, compatibility will vary.  I have only tried this on Dell R710 servers. 

-DriversPath <path> - as of right now if you are lucky enough you can install drivers or else you are stuck with the OEMDrivers. (you don’t have to use this option if you don’t have any drivers to add)

NOTE! This deployment will get you a dummy server as it has no options to install other services or features yet!

This is my example so far

New-NanoServerImage -Edition Standard -DeploymentType Host -MediaPath  c:\tp5 -BasePath .\Base -TargetPath .\NanoServerVM\NanoServerVM.vhdx - OemDrivers -ComputerName NanoServerHost

Adding Nano Server Features

So now that you have your line of code lets add our features just like we did with the virtual Server Nano machine

New-NanoServerImage -Edition Standard -DeploymentType host -MediaPath  c:\tp5 -BasePath C:\Users\<UserName>\Desktop\Nanoserver\NanoServerImageGenerator\Base -TargetPath C:\TEMP\NanoServer\NanoHost.vhdx -OEMDrivers -storage -compute -clustering -Driverspath C:\Temp\Drivers

Machine generated alternative text:
|0-Edition 
standard 
PS c:\users\yher\desktop\Nanoserver\Nanoserver1mageGenerator> New-Nanoserverlmage 
-OEMDrivers 
op\Nanose rve r\Nanose rve rlmageGene rator\Base 
-Targetpath 
c : rve r\NanoHost . vhdx 
-Medi apath 
-DeploymentType 
host 
-storage -compute -clustering 
c:\tp5 
-Basepath 
c:\Users\yher\Desk 
-Driverspath 
c: vers

Below is the list of options you can tack on again.  In this example we are creating a Hyper-v Role, Failover clustering, file server role. (Provided by Microsoft)

Role or feature

Option

Hyper-V role

-Compute

Failover Clustering

-Clustering

Basic drivers for a variety of network adapters and storage controllers. This is the same set of drivers included in a Server Core installation of Windows Server 2016 Technical Preview.

-OEMDrivers

File Server role and other storage components

-Storage

Windows Defender Antimalware, including a default signature file

-Defender

Reverse forwarders for application compatibility, for example common application frameworks such as Ruby, Node.js, etc.

Now included by default

DNS Server role

-Packages Microsoft-NanoServer-DNS-Package

Desired State Configuration (DSC)

-Packages Microsoft-NanoServer-DSC-Package Note: For full details, seeUsing DSC on Nano Server .

Internet Information Server (IIS)

-Packages Microsoft-NanoServer-IIS-Package Note: See the IIS on Nano Server sub-topic for details about working with IIS.

Host support for Windows Containers

-Containers

System Center Virtual Machine Manager agent

-Packages Microsoft-NanoServer-SCVMM-Package

 

-Packages Microsoft-NanoServer-SCVMM-Compute-Package 

 

Note: Use the SCVMM Compute package only if you are monitoring Hyper-V.

Network Performance Diagnostics Service (NPDS) (Note: Requires Windows Defender Anti-Malware package, which you should install before installing NPDS)

-Packages Microsoft-NanoServer-NPDS-Package

Data Center Bridging

-Packages Microsoft-NanoServer-DCB-Package

Ability to boot and run from a RAM disk

Microsoft-NanoServer-BootFromWim-Package

Deploying on a virtual machine

Microsoft-NanoServer-Guest-Package

Deploying on a physical machine

Microsoft-NanoServer-Host-Package

Secure Startup

-Packages Microsoft-NanoServer-SecureStartup-Package

Shielded VM

-Packages Microsoft-NanoServer-ShieldedVM-Package Note: This package is only available for the Datacenter edition of Nano Server.

Nano Server Virtual Machine VS Actual Hardware Deployment

Alright so the main difference between Virtual machine vs Hardware Deployment is specifying the Deployment Type, using OEM Drivers and/or including drivers path.  Other than that they are very similar when creating the VHDX. 

Let's go ahead and finish this deployment.  After you have chosen your options press enter.  And again don’t fat finger this password because this one will take longer time to figure out if you need to recreate this one, waiting for server reboots and stuff.

The VHDx will now be provisioned

Machine generated alternative text:
|0windows (R) Image to vi rtual Hard Disk converter for windows (R) 10 
copyright (c) Microsoft corporation. All rights reserved. 
version 10 . 0.14300.1000. amd64fre . rsl_rel ease_svc. 160324-1723 
INFO 
INFO 
INFO 
INFO 
INFO 
INFO 
INFO 
INFO 
INFO 
INFO 
INFO 
INFO 
INFO 
INFO 
INFO 
INFO 
INFO 
Done . 
Looking for the requested windows image in the WIM file 
. Image 1 selected (serverstandardNano) .. 
. creating sparse disk.. 
. Mounting VHD.. 
. Initialnzing disk.. 
. creating single partition... 
Formatting wnndows volume.. 
. windows path (D:) has been assigned. 
system volume location: D: 
. Applying image to VHD. This could take a while.. 
. Image was applied successfully. 
. Maknng image bootable.. 
Fixing the Device ID in the BCD store on VHD.. 
Drive is bootable. 
cleaning up.. 
Di smounting VHD. . 
. closing windows image.. 
Done . 
The log is at: log

Booting to the Nano Server with the VHDX

Odd thing about this is that you need a Windows/Server operating system to get this started (were more like dual booting with this).  Once you have the OS installed on the server you are using.  Create a folder in the Root of the C drive "NanoServer," then copy over the VHDX to it.  We are now going to Mount the VHDX.  Depending on the operating system you could either just click on it/right click mount or you have to go into disk Management and mount it.

Attach VHDX with Disk Management

Machine generated alternative text:
|0Disk Management 
File Action View Help 
x 
Volur 
Sei 
Refresh 
Rescan Disks 
Create VHD 
Attach VHD 
Help 
File S 
NTFS 
UDF 
NTFS 
KITCC 
em 
Basic 
Basic 
Basic 
Basic 
Status 
Healthy 
Healthy 
Healthy 
Ca c' 
4657.40 GB 
4.84 (3B 
350 MB 
Free S 
% Free 
4508.29 ... 97% 
OMB 
319 MB 
91 % 
on 
Attach Virtual Hard Disk 
Specfy the virtual hard disk location on the compt-ner. 
[3 Readonly. 
Windows (C:) 
476.60 GB NTFS (BitLocker Encrypted) 
Healthy (Boot, Page File, Crash Dump, Primary Partition) 
— Disk O 
Basic 
476.94 GB 
Online 
Basic 
465740 
Online 
Unallocated 
System Reserved 
350 MB NTFS 
Healthy (System, Active, Prit 
Seagate Storage (D:) 
465740 GB NTFS 
Healthy (Primary Partition) 
Primary partition

Once mounted open a command prompt as the administrator (This is KEY as an Administrator).  Depending on which drive it got mounted as edit the command line.

Type in > BCDBoot X:\windows

Replace X with the drive letter of your Nano server VHDX.

Machine generated alternative text:
|0Administrator: Command Prompt 
Microsoft Windows [Version le.e. le586] 
(c) 2e15 Microsoft Corporation. All rights reserved. 
C: \Windows\system32>BCDBOOT X: \windows

If you get an error here please check if you ran command prompt as an administrator.

If all is right, go to the MsConfig window and select the Boot tab.  You should see Server 2016 technical preview listed there as the default.  If it is not the default, select it to be the default and reboot.

Machine generated alternative text:
|0System Configuration 
General Boot Services Startup Tools 
QVindows Server 2016 Technical Preview 5 G: windows 
Windows 10 (C:\Windows) : Current OS 
: Default OS 
Delete 
Advanced options... 
Boot options 
Safe boot 
Minimal 
Alternate shell 
O 
Active Directory repair 
Network 
Set as default 
Timeout: 
30 
D No GUI boot 
Boot log 
Base video 
OS boot information 
OK 
seconds 
Make all boot settings 
Cancel 
permanent 
Apply 
Help

Wait for the machine to reboot it should now give you an option to boot into Nano server or the OS that you were just on.  Nano Server will be listed as "windows server 2016 technical preview 5," it should be the default, if not select it and proceed. 

You will now be greeted with the Recovery Console! Go ahead and log in, now you can test if you have fat fingered that password.  If you didn't go ahead and configure your network adapter.

Machine generated alternative text:
|0ENTER: 
User name: 
Password: 
Domain: 
Authenticate

You have now successfully deployed Nano Server on actual hardware!  Is this it?  Well we still have to cover Remotely connect to them and Joining them to the domain.  Until Next time!

Author

Concurrency Blog

The latest about Concurrency