2013年2月4日 星期一

切換 Windows Server 2012 Server Core 、最精簡伺服器與圖形介面模式 (Switching among Server Core、Minimal Server and GUI Interface)

微軟自Windows Server 2008 伺服器作業系統後,新增了一項Server Core安裝選項,而Server Core 為無圖形化介面的安裝系統,所有的組態設定與管理維護工作均需經由命令列介面或是透過遠端機器以微軟管理主控台(MMC)方式來連接管理,因此Server Core 系統的管理工作對於長久以來習慣傳統圖形介面管理工具的一般IT人員而言無疑是一大挑戰 ,因為通常需要重新學習一堆不太熟悉的指令,但是安裝成 Server Core此種無圖形化的系統可獲得一些好處:
  • 較佳的效率:因為無圖形化元件的負荷,因此系統將會耗費較少的資源,這對於經常需要花費大量記憶體和CPU資源而導致效能問題的伺服器(如Hyper-V伺服器)在效能上的調整特別有用。
  • 較高的安全性:由於沒有圖形介面的相關功能與元件,因此整體系統的功能較少,相對的可被攻擊的層面亦降低,此外,日後所需修補的安全性修正檔亦較少,因此可顯著提升系統安全性。

Windows Server 2008 R2的Server Core和完整圖形介面一旦安裝後並無法變更或切換,這引起了不便利與僵硬性的批評,但Windows Server 2012 已改進了這項僵硬性的設計而提供了不同使用者介面間切換的彈性,不僅新增了一個介於Server Core與完整GUI之間的『最精簡伺服器』(Minimal Server),還允許IT人員藉由新增或移除圖形化介面功能來輕易切換到其它介面,另一方面,Windows Server 2012亦能支援一種所謂的『Features on Demand』功能,允許您在移角色或功能時,不僅停用功能,還可更進一步將功能相關檔案(承載-payload)從硬碟中移除,因而可降低磁碟空間的佔用,日後可指定來源或透過Windows Update來安裝所需功能,本文將詳細說明如何在這些不同的Windows Server 2012介面間切換。

Windows Server 2012 介面選項

安裝 Windows Server 2012 時會看到二個安裝選項可讓您選擇--命令列的Server Core和含GUI的完整圖形介面,若再加以上於Server Core上使用GUI管理的『最精簡伺服器』介面以及是否額外安裝『桌面體驗(Desktop Experience)』提供Windows 8風格的桌面體驗,目前的Windows Server 2012的可選的使用介面大抵上有下列四種:

  • Server Core:Server Core 沒有安裝任何圖形介面功能,本機登入後只有一個命令提示字元可以執行命令列的管理與維護工作,因此在此安裝模式下您僅可以使用命令列、Windows PowerShell 或透過遠端方法來管理伺服器()。
  • 最精簡伺服器 (Minimal Server):在Server Core上額外安裝了『圖形化管理工具與基礎結構』功能,因此可以在Server Core機器上使用伺服器管理員和微軟管理主控台相關工具進行管理作業,但是並不會安裝桌面殼層、IE與Windows Explorer等功能。
  • 完整圖形介面:完整圖形使用者介面,不但可以使用所有圖形化管理工具,也可以使用Windows 圖形化殻層、桌面、IE瀏覽器、檔案總管等。
  • 完整圖形介面+桌面體驗:將Windows 8 的使用者介面體驗加入Windows Server 2012,預設登入後會以磚式風格的開始畫面(Start Screen)取代傳統桌面,同時也會額外安裝市集和一些桌面應用程式並支援桌面個人化設定。

下圖顯示了四種介面的關係和差異的功能元件。

coregui

由上圖可知,Windows Server 2012 的四種使用者介面模式主要差別在於是否安裝某些圖形化介面功能,因此您可以很輕易的利用Install-WindowsFeature /uninstall-windowsfeature cmdlet或者是新增/移除角色及功能精靈程式來輕易的轉換不同的介面,例如 Server Core比較起完整的圖形介面,其主要的功能差別在於少了『圖形化管理工具與基礎結構』和『伺服器圖形殻層(Server Graphical Shell)』功能,因此若想要切換在這二種不同的安裝介面模式,只需要新增或移除『圖形化管理工具與基礎結構』和『伺服器圖形殻層』這二項功能,然後再重新開機即可。

Windows Server 2012 新增的最精簡伺服器介面則是介於Server Core和完整圖形介面之間的一種新介面,它具有『圖形化管理工具與基礎結構』但沒有『伺服器圖形殻層(Server Graphical Shell)』功能,因此可以將Server Core新增『圖形化管理工具與基礎結構』功能或在完整圖形介面的伺服器移除『伺服器圖形殻層(Server Graphical Shell)』功能後即可使用這項新的最精簡伺服器介面。

總歸而言,若利用命令列Powershell install-windowsfeature/uninstall-windowsfeature cmdlets 來切換各種不同介面時,您所需要新增或移除的圖形化功能如下:

  • Desktop-Experience 功能需依賴 Server-Gui-Shell,而Server-GUI-Shell需依賴Server-Gui-Mgmt-infra功能才能夠正常運作
  • 完整圖形介面若移除server-gui-mgmt.infra將會切換為Server Core
  • 完整圖形介面若移除server-gui-Shell將切換為最精簡伺服器
  • Server Core新增Server-gui-Shell功能將切換為完整圖形介面
  • Server Core新增server-gui-mgmt.infra將會切換為最精簡伺服器
  • 最精簡伺服器移除server-gui-mgmt.infra將會切換為Server Core
  • 最精簡伺服器新增Server-Gui-Shell將會切換為完整圖形介面
  • 任何介面只要新增Desktop-Experience將會形成具有Windows 8體驗風格的Modern UI介面和應用程式圖形介面

servercore65

將Server Core伺服器轉換為圖形介面伺服器 (Server Core → GUI)

當您需要將初次安裝成Server Core的伺服器轉換成完整圖形介面伺服器,由於系統磁碟上並沒有圖形介面的元件,所以您需要提供安裝GUI元件的來源,這有二種不同的做法,一種較簡單的做法是如果Server Core機器有網際網路連線,則直接利用Windows Update來安裝最為便捷,因為無需準備與掛接安裝映像,但假若您的Server Core目前未有網際網路連線或頻寬不高,則需先利用安裝的媒體(DVD、ISO檔)來掛接安裝映像檔內的含GUI安裝映像,然後再由所掛接的目錄做為安裝圖形介面功能的來源才能順利安裝。

一. 利用Windows Update 安裝來源並轉換為完整圖形介面

只要Server Core機器可以連接至網際網路,最簡單的做法是直接透過Windows更新為來源,輸入下列的Powershell install-windowsfeature cmdlet即可完成安裝圖形介面的工作、重新開機而切換到完整圖形介面:
Install-WindowsFeature Server-Gui-Mgmt-Infra,Server-Gui-Shell –Restart

二. 掛接安裝映像為來源以安裝轉換為完整圖形介面

(1) 掛接正確的圖形安裝映像

首先您需要先創造一個目錄,然後先以dism /get-wiminfo 命令查詢出正確的映像索引值(通常為4),最後再利用dism /mount-wim 命令來掛接正確映像索引值到所建立的目錄下即可。下圖範例首先建立一個mnt的目錄,接下來將安裝光碟插入光碟機(光碟代號為D),然後以  dism /get-wiminfo 命令查詢光碟片內的安裝映像檔(d:\sources\install.wim)內的映像內容,得知其內有四個映像,分別為標準版的Server Core、標準版含GUI、Datacenter Server Core 版、DataCenter 含GUI版,索引值分別為1、2、3 和 4,而4正是我們所要的安裝映像,所以利用dism /mount-wim將安裝映像檔內的第四個映像掛接到c:\mnt目錄下以做為安裝圖形化介面元件時的來源。

servercore8

(2). 安裝GUI

接下來您將利用Powershell並指定掛接的映像目錄來源進行安裝GUI的工作,安裝的cmdlet為:

Install-WindowsFeature Server-Gui-Mgmt-Infra,Server-Gui-Shell –Restart –Source c:\mountdir\windows\winsxs

下圖顯示安裝GUI的執行畫面,完成後請重新開機,開機後登入就以看到標準的Windows Server 2012圖形介面了。

servercore15

 

將圖形介面伺服器轉換為 Server Core (GUI → Server Core)

另一方面,Windows Server 2012也允許您將原本已安裝為標準圖形介面的伺服器轉換為命令列的Server Core,而移除圖形介面的做法有二種:

  1. 使用圖形介面的『移除角色及功能精靈』程式
  2. 使用命令列的 Powershell cmdlet –uninstall-windowsfeature

一. 以『移除角色及功能精靈』程式移除GUI

最方便而友善的將圖形介面切換為Server Core的做法乃是利用伺服器管理員的『移除角色及功能精靈』程式來移除GUI功能。

  1. 由『伺服器管理員』上的『管理』功能表上選取『移除角色及功能』。
  2. 在精靈程式中,連按數次『下一步』並進入『移除功能』設定頁。
  3. 請清除『圖形化管理工具與基礎結構』或『使用者介面與基礎結構』。
  4. 接下來在『確認移除選項』設定頁中核選『必要時自動重新啟動目的伺服器』選項,然後按『移除』按鈕即可執行刪除整個GUI功能。
  5. 待重新開機後,即可看到轉變為Server Core的介面。

servercore27A

二. 使用uninstall-windowsfeature cmdlet移除GUI

另一種切換為Server Core的方法是輸入下列cmdlet命令:

Uninstall-WindowsFeature Server-Gui-Mgmt-Infra –restart

一旦命令執行完畢後,機器將會重新開機並移除圖形介面,待開機登入後,您將只會看到命令提示字元的出現而不再是圖形桌面了。

servercore6A

另外,假若機器原始安裝成圖形介面伺服器,而後執行上述的 "Uninstall-WindowsFeature" cmdlet轉換為Server Core伺服器,基於某些因素您需要再度切換為圖形介面,則您將可以在不指明來源的情況下即可快速安裝圖形介面功能而重回完整圖形介面伺服器,這是因為下述移除圖形介面時僅是停用,因此所需的檔案(承載)仍然儲存在磁碟機上並未被從硬碟移除,再裝一次時承載可順利由硬碟取得並不需提供Windows Update或使用掛接的wim映像檔來源。

使用最精簡伺服器介面(Minimal Server Interface) (GUI 或 Server Core → Minimal Server)

Windows Server 2012 提供一個介於Server Core和完整圖形介面之間的最精簡伺服器介面,最精簡伺服器介面為一排除伺服器圖形殻層(Server Graphical Shell)的可設定選項,這個使用介面可讓本機管理員執行伺服器管理員、微軟管理主控台(Microsoft Management Console;MMC)與部份控制台程式 (Control Panel applets)等圖形化管理工具,但另一方面,最精簡伺服器介面排除了 Internet Explorer 、Windows Explorer、桌面、 開始畫面 (Start Screen)等圖形化功能。

使用最精簡伺服器介面一方面希望像Server Core 一樣,具有較少可攻擊層面的安全系統並可減輕部份圖形化的負荷,另一方面對於不習慣純命令列輸入指令的管理人員可提供圖形化管理工具,因此採用最精簡伺服器介面就成為了安全性、效能和圖形化友善管理方式間的妥協方案。

實務上,若希望將目前的完整圖形介面轉換為最精簡伺服器介面,只需要利用伺服器管理員的『移除角色及功能精靈』工具將『使用者介面與基礎結構』下的『伺服器圖形化殼層』移除即可,或是使用Powershell uninstall-windowsfeature cmdlet 執行下列指令也可以順利移除『伺服器圖形化殼層』功能:

 uninstall-windowsfeature server-gui-shell –restart

servercore42A

一旦移除完成、重新開機後再度登入,您將會看到在最精簡伺服器介面底下,將同時出現命令提示字元與伺服器管理員可供使用,但並無圖形化桌面、Windows Explorer與IE瀏覽器。

servercore47

另一方面,如果您目前的安裝介面為Server Core,而想要設定成有圖形介面管理工具的最精簡伺服器介面,則只需要利用下列指令安裝『圖形化管理工具與基礎結構』這項功能(您需要有網際網路連線,否則需如上面所述的步驟來掛接安裝映像並指定來源)。

Install-WindowsFeature Server-Gui-Mgmt-Infra -Restart

桌面體驗 (Desktop Experience)

假如您喜歡將Windows 8的使用者介面體驗加到Windows Server 2012伺服器,那麼您可以安裝『桌面體驗』這項功能,桌面體驗將會安裝額外的桌面應用程式以及一些GUI的改進與擴充元件,詳言之,安裝桌面體驗之後將會產生如下的效果:

  • 登入啟動後將會自動出現開始畫面(Start Screen)以取代傳統的桌面並在開始螢幕上新增市集、預設程式、Windows Media Play、剪取工具、磁碟清理、字元對應表....等程式。
  • 將滑鼠移至最右下角時可以出現 charm bar
  • 可以設定『個人化』的桌面背景、主題、色彩、音效與螢幕保護裝置並新增桌面圖示(由傳統桌面的右鍵功能表)
  • 檔案管理員上可直接燒錄ISO檔

下圖示範了如何利用『新增角色及功能精靈』程式於完整圖形介面下安裝這項桌面體驗,做法很簡單,您只需在精靈程式的『功能』設定頁中,勾選『使用者介面與基礎結構』下的『桌面體驗』,並設定自動重新開機即可。
servercore33A

一旦安裝桌面體驗完成並重新開機並登入後,您即可看到預設的登入後畫面為Windows 8 Modern UI風格的磚式啟動畫面而非傳統桌面了。

servercore36

Feature on Demand

先前的Windows Server 2008 R2版本,當您移除某角色或功能時,其實只是停用了角色與功能,並沒有真正將功能二進位檔案(有時稱為"承載-payload")從磁碟機上移除,亦即承載仍在硬碟上,因此即使您移除了一堆機器上的角色與功能,並不會節省多少空間,但是Windows Server 2012則允許您可以把角色與功能檔案(承載)從磁碟機上刪除以節省空間,即使日後再有需要,只需指定來源或透過Windows Update安裝功能即可,這種能夠移除本機功能承載檔案並指定來源或更新方式重新安裝功能的能力,稱為"Feature on Demand"。

實作上若需要移除功能承載以節省磁碟空間,則需要在Uninstall-WindowsFeature cmdlet 額加上–remove 選項,例如若需要將完整圖形介面切換成Server core時,不僅停用圖形化功能還希望能夠同時移除圖形化功能承載,則輸入下列的cmdlet:

Uninstall-WindowsFeature Server-Gui-Mgmt-Infra –remove–restart

如下圖所示範,您可以先執行uninstall-windowsfeature 的whatif選項(並不會真正執行)以了解若移除目前的圖形仳介面會殺除那些元件與程式,然後才真正以 –remove選項移除圖形化功能與磁碟檔案(承載),最後重新開機。

servercore63A

一旦重新開機後,您可以利用dism /online /get-features 或get-windowsfeature cmd來查看形化功能是否已被停用,而且承載是否也已經移除。

servercore64A

結語

Windows Server 2012 提供了一個比前版來得更有彈性和靈活的使用者介面切換能力以及feature on demand 功能 ,讓管理人員只需要利用powershell 「install-windowsfeature/uninstall-windowsfeature 」cmdlet或「新增/移除角色及功能精靈」程式就可以安裝/移除圖形化的功能,進而輕易在Server Core、最精簡伺服器與完整的圖形介面間自由切換,此外,您更可以選擇移除功能時同時刪除承載以節省空間,而且也可以在磁碟已無功能承載時直接由Windows Update或指定來源來安裝所需的功能,因此安裝時所選擇的安裝介面選項已不再是無可回頭的選項,只要基於管理上的便利性、安全性和空間上的任何考量,管理人員將可以隨時切換所需的介面而不會影響到既有的伺服功能與組態。