■ 河南 許紅軍
編者按:在Windows Server 2016中,微軟發布了名為Nano Server的安裝選項,其沒有本地用戶界面,沒有32位的應用程序支持庫,只有最基本的配置控制。也沒有對遠程桌面的支持;為了管理系統,只能使用遠程PowerShell連接。其特點是占用空間極小,啟動快速,盡可能的減少攻擊面等。實際上,不僅可以在虛擬化環境中部署Nano Server,還可以在物理主機上進行部署,使其成為Hyper-V的服務器角色。
在虛擬化環境部署中,需要生成所需的VHD/VHDX映像,在物理主機上,則需要生成對應的WIM映像,同時還需要加載不同的驅動程序。
在某臺Windows Server 2016服務器上打開PowerShell窗口,執行“Get-Module -ListAvailable”命令,查看其擁有的Module信息。在其中可以看到名為“Dism”的 Module,其作用是管理系統映像,包含了部署系統所需的所有命令。
執 行“Get-Command-Module dism”命令,顯示該模塊中包含的所有命令。
執 行“Get-WindowsDriver -online”命令,查看本機中已經安裝好的所有驅動程序。
執 行“E x p o r t-WindowsDriver -Online –Destination e: anodrv”命令,將這些驅動程序導出到指定的目錄中。
當然,該服務器需要和需要部署Nano服務器的硬件配置是相同的。僅僅得到了驅動程序是不夠的,還需要生成所需的WIM文件。加載Windows Server 2016安裝鏡像,將其中的“NanoServer”目錄單獨提取出來,在其中創建名為“nanohost”的文件夾。
執 行“Set-Execution Policy RemoteSigned”命令,在返回信息中輸入“y”,獲取所需的執行權限。
執 行“I m p o r t-Module D:NanoServerNanoServerI mageGenerat or -Verbose”命令,加載相應的模塊,導入所需的和函數。之后執行“New-NanoServerI mage -Edition Datacenter-DeploymentType Host-M e d i a P a t h D: -BasePath d:NanoServer anohost -TargetPath D:N a n o S e r v e r anohost anohost.wim-ComputerName Nano1-OEMDrivers -Compute-DriverPath e:Nanodrv”命令,在返回信息中的“AdministratorPassword”欄中輸入管理員密碼,之后即可生成名為“host.wim”的映像文件。
其中的“host”參數表示將其部署到物理主機上,“-OEMDrivers”參數表示導入 OEM驅動,“-Compute”參數表示將其配置為Hyper-V的角色,導入Hyper-V的Packge?!?DriverPath” 參數指定驅動程序所在位置。
為了便于使用,可以將該文件設置為共享狀態,允許從外部進行訪問,如果開啟了防火墻的話,需要允許文件和打印機共享通過防火墻進行通訊。
在目標服務器上要使用上述WIM文件來安裝NanoServer的 話,需 要 以WinPE的方式進行啟動,這就需要準備好WinPE的運行環境。
對于服務器來說,一般都會配合兩塊SAS磁盤,并將其組合成RAID陣列使用。
使用WinPE將上述WIM文件安裝到目標服務器上,其必須可以識別這些磁盤和網卡,這就要求在WinPE中配置相應的驅動程序。這樣,其才可以正常啟動目標服務器,正確識別出這些設備,之后方可將NanoSerer部署成功。所以說,上述導出的驅動程序還需要在WinPE環境中加載。
使 用 ADK(即 Windows評估和部署套件)工具,可以快速生成標準的WinPE鏡像文件。以管理員身份運行Windows Kits工具包中的部署和映像工具環境程序,在其控制臺中執行“copype amd64 d:winpe”命令,創建64位的WinPE對象。
打開目標路徑,可以看到其生成的所有和WinPE相關的文件。
打開其中的“mediasource”目錄,看 到 名 為“boot.wim”的文件,這就是WinPE映像文件。
對應地,如果執行“copype x86 d:winpe”命令,則可以創建32位的WinPE對象。
在上述控制臺中執行“powershell”命 令,在PowerShell提示符下執行“Get-Command mountwindowsimage”命令,可以看到“mount-windowsimage”命令隸屬于“Dism”模塊。
執 行“M o u n t-WindowsImage -ImagePath d:winpemediasourceoot.wim Index 1 -Path d:winpemount”命令,將上述WinPE的映像文件掛載到指定的路徑中。
執 行“Add-WindowsDriver -Path d:winpemount -Driver e: anodrv -Recurse ”命令,將上述驅動文件導入到WinPE掛載路徑中。
其 中 的“-Recurse”參數的作用是查看驅動目錄中的所有內容,并將其加載到WinPE中。
當導入完成后,執行“Dismount-WindowsImage-Path d:winpemount-Save”命令,卸載剛才掛載的WinPE映像,同時將導入的驅動保存到“Boot.wim”文件中。
執 行“MakeWinPEMedia/ISO d:winpe d:winpe.iso”命令,可以在D盤下得到所需的“Winpe.iso”文件。
當然,如果想得到UFD格式WinPE啟動盤,可以執行“MakeWinPEMedia /UFD d:winpe k:”命令,可以直接將WinPE寫入到指定的U盤中。
注意,該U盤將被格式化處理。其中的“K:”表示U盤盤柜。
使用該WinPE U盤或光盤引導目標服務器, 在WinPE的CMD窗口中執行“net user w: \x.x.x.x anohost /user:xxxglyuser password”命 令,將上述“Host.wim”的共享路徑映射為Z盤,其中的“x.x.x.x”表示存儲“host.wim”文件的主機 IP,“xxx”表示具體的域名,后面跟隨用戶名和密碼。
執行“ipconfig”命令,顯示網絡配置信息,說明在該WinPE中加載的網卡驅動發揮了作用。
為了便于安裝Nano Server,需要對磁盤進行合理的配置。執行“diskpart”命令,在提示符下執行“list disk”命令,顯示磁盤信息。雖然會顯示一塊磁盤,其實是兩塊SAS盤組建的RAID陣列。
WinPE主機所以可以識別該磁盤,說明導入的驅動是成功的。
執 行“select disk 0”和“clean”命令,對該磁盤進行重置操作,清除其中的所有數據。
執行“create partition primary size=500”命令,創建容量為500MB的主分區,主要用來保存啟動文件。
執 行“format quick fs=ntfs label= "xxx"”命令,對該分區進行快速格式化,其中的“xxx”表示卷標名。

圖1 Nano Server管理控制臺
執行“assign letter=s”和“active”命令,為其設置盤符并將其激活。
執行“create partition primary”命令,創建用于安裝NanoServer的分區,執行“format quick fs=ntfs label= "xxx"”命令,對其進行快速格式化。
執行“assign letter=n”和“exit”命令,為其設置盤并退出Diskpart控制臺。
執 行“disk /applyimage /imagefile:Z:host.wim /index:1 /applydir:n”命令,將上述“host.wim”文件加載到N盤。
為了保證NanoServer可以順利啟動,需要進入“X”盤,該盤保存的是WinPE的內容。
進 入“X:WindowsSystem32” 目 錄,執 行“bcdboot.exe n:windows/s s:”命令,將NanoServer所在分區中相關的啟動文件復制到上述盤符為“S”的啟動分區中。
執行“wpeutil reboot”命令,重啟該服務器。
注意,需要取消WinPE引導模式,使用正常的方式啟動。
在Nano Server登 錄界面中輸入賬戶名,密碼和域名信息,該密碼在創建“host.wim”文件時已經指定。這樣,就可以進入NanSever運行環境中。
因為已經添加了Hyper-V角色,所以在Nano Server Recovery Console界面(如圖1)中會顯示“VM Host”配置項目,便于對虛擬機進行管理。