執行 Windows Server 就地升級


如果您在舊版 Windows Server 上執行虛擬機器 (VM) 執行個體,則可以將這些執行個體升級到新版 Windows Server:

從以下版本升級 升級至
Windows Server 2008 R2 (桌面體驗) Windows Server 2012 R2 (桌面體驗)
Windows Server 2012 R2 (Core) Windows Server 2016 (Core)
Windows Server 2012 R2 (桌面體驗) Windows Server 2016 (桌面體驗)
Windows Server 2016 (Core) Windows Server 2019 (Core)
Windows Server 2016 (桌面體驗) Windows Server 2019 (桌面體驗)
Windows Server 2019 (Core) Windows Server 2022 (Core)
Windows Server 2019 (桌面體驗) Windows Server 2022 (桌面體驗)
Windows Server 2022 (Core) Windows Server 2025 (Core)
Windows Server 2022 (桌面體驗) Windows Server 2025 (桌面體驗)

升級作業須遵守下列限制:

  • Microsoft 已終止支援 Windows Server 2012 R2Windows Server 2008 R2。如果您對上述任一版本執行就地升級,並遇到與 Windows 安裝程序 (setup.exe) 相關的問題,Google 可能只能提供有限的協助。

  • 如果計劃將 Windows Server 2008 R2 升級到 Windows Server 2012 R2 後的更新版本,則必須先升級到 Windows Server 2012 R2,然後再升級到 Windows Server 2016 或更新版本。

  • 您必須一次升級一個版本,因為系統不支援一次升級多個版本。

目標

本指南說明如何透過以下方式,對 Windows Server 執行就地升級:

  1. 規劃直接升級
  2. 執行直接升級
  3. 直接升級疑難排解
  4. 直接升級後清除所用資源

費用

執行 Windows Server 直接升級不需要付費。您只須針對升級期間所耗用的資源付費,包括:

使用 Pricing Calculator,根據您的預測使用量來產生預估費用。

事前準備

本指南假設您已具備下列基本知識:

規劃直接升級

針對執行舊版 Windows Server 的虛擬機器 (VM) 執行個體進行直接升級,是個用來更新基礎架構的務實方法,可降低即將接近終止支援 Windows Server 版本生命週期可能發生的風險。

其他考慮因素

在您決定使用直接升級以遷移至較新版本的 Windows Server 之前,請注意下列限制事項:

  • 停機時間:視所安裝的軟體和設定而定,升級作業可能需要一小時以上的時間。若要在升級期間存取 VM 執行個體會受到限制,原因如下:

    • 使用者無法使用在 VM 執行個體上執行的工作負載
    • 無法使用遠端桌面通訊協定 (RDP)
    • 檢查升級進度和剩餘時間的方法有限
  • 風險:視現有執行個體的設定和已安裝軟體而定:

    • 升級可能會失敗
    • 會覆寫部分設定選項
    • 不相容問題可能會導致工作負載在已升級的執行個體上無法運作

視 Windows Server 執行個體上執行的工作負載而定,您可以採用不同做法來減少停機時間和風險。

工作負載 做法
您的 VM 執行個體所執行的工作負載有支援複製功能,例如:
  • Active Directory 網域服務
  • DNS
  • SQL Server
可考慮安裝新的 VM 執行個體以執行最新版 Windows Server,然後使用複製功能將工作負載從現有 VM 執行個體轉移到新的 VM 執行個體。
您的 VM 執行個體執行大量工作負載 可考慮將這些工作負載遷移到單獨的 VM 實執行個體,以便讓每個 VM 執行個體僅執行一個工作負載。即使您無法遷移所有工作負載,減少單一 VM 執行個體上執行的工作負載數量,也有助於降低就地升級的風險。

產品金鑰

Windows Server 產品金鑰僅對特定版本有效。當執行升級到更新版本的 Windows Server 時,必須提供新的產品金鑰。有兩種主要情況:

  • 您要升級的 VM 執行個體是以 Google 提供的公開作業系統映像檔為基礎:在這種情況下,您必須使用要升級的 Windows Server 版本適用的預先定義 KMS 用戶端設定金鑰。升級不會產生額外費用。

  • 升級已加入現有授權的 VM 執行個體:若使用 BYOL,則必須取得授權廠商提供的產品金鑰,才能執行升級。查看 Microsoft 說明文件,判斷可以升級到哪個版本,以及是否符合可進行授權轉換的資格。

安裝媒體

如要升級,您需要安裝媒體。有兩種主要情況:

  • 您要升級的 VM 執行個體是以 Google 提供的公開作業系統映像檔為基礎:在這種情況下,您可以使用 Google 提供的大量授權安裝媒體。如要存取這個安裝媒體,請按照下列步驟操作。

  • 您要升級的 VM 執行個體是以匯入的磁碟或映像檔為基礎: 在這種情況下,您無法使用 Google 提供的安裝媒體。 您使用的安裝媒體必須與在匯入的磁碟或映像檔中安裝 Windows Server 所用的媒體類型相符。

其他事前準備

在開始升級之前,請先查看 Microsoft 說明文件,瞭解您打算升級的 Windows Server 版本有哪些必備條件和潛在限制:

2012 R2

2016 年

2019 年

2022 年

2025 年

執行直接升級

以下各節將指導您完成升級 VM 執行個體的過程。

建立快照

在開始升級之前,建議您先建立 VM 執行個體的快照,以便在出現任何問題時可以還原到安全狀態:

準備 Windows Server 設定

驗證 Windows Server VM 執行個體的設定:

  1. 使用遠端桌面通訊協定用戶端連接到您的 VM 執行個體

  2. 使用 Windows Update 驗證 Windows Server 是最新版。

  3. 停用或解除安裝可能干擾升級作業或與升級目標 Windows Server 版本不相容的防毒軟體、反間諜軟體和其他代理程式。

附加安裝媒體

在執行升級之前,請先將必要的安裝媒體附加到 VM 執行個體。視情況使用合適的媒體:

  • 您要升級的 VM 執行個體是以 Google 提供的公開作業系統映像檔為基礎:在這種情況下,您只需要附加 Google 提供的大量授權安裝媒體。這個媒體包含升級所需的指令碼,以及新版 Windows Server 的檔案。
  • 您要升級以匯入的磁碟或映像檔為基礎的 VM 執行個體: 在這種情況下,您也需要附加 Google 提供的大量授權安裝媒體,才能存取必要的指令碼。

    此外,您必須附加自訂安裝媒體,且該媒體類型必須與在匯入的磁碟或映像檔中安裝 Windows Server 所使用的媒體類型相符。

如要附加 Google 提供的大量授權安裝媒體,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,按一下「啟用 Cloud Shell」啟動 Cloud Shell。按鈕,開啟 Cloud Shell

    前往 Google Cloud 控制台

  2. 設定預設專案 ID。將 PROJECT_ID 替換為 Compute Engine 的專案名稱:

    gcloud config set project PROJECT_ID
    
  3. 以安裝媒體為基礎來建立磁碟。將 ZONE 替換為 VM 所在區域的名稱:

    gcloud compute disks create win-installers --image-family=windows-install-media --image-project=compute-image-tools --zone=ZONE
    

    這個指令會將名為 win-installers 的磁碟新增至您的專案。這個磁碟未附加到任何 VM 執行個體。

  4. 在唯讀 (ro) 模式下將磁碟附加到 VM,以便在必要時可將磁碟附加到多個 VM:

    gcloud compute instances attach-disk VM_NAME --disk=win-installers --mode=ro --zone=ZONE
    

    更改下列內容:

    • VM_NAME:要升級的 VM 執行個體名稱
    • ZONE:VM 所在的可用區名稱

    您可以在同一個區域內將相同磁碟用於多個平行的 VM 升級作業,但是如果要升級其他區域中的 VM,則必須在該區域建立另一個磁碟。

如果要升級以匯入的磁碟或映像檔為基礎的 VM,請將自訂安裝媒體附加為額外的磁碟:

  1. 按照「透過 ISO 檔案建立映像檔」一文中的步驟,從要用做自訂安裝媒體的 ISO 映像檔建立磁碟。

  2. 在唯讀 (ro) 模式下將磁碟附加到 VM,以便在必要時可將磁碟附加到多個 VM:

    gcloud compute instances attach-disk VM_NAME --disk=CUSTOM_MEDIA_DISK --mode=ro --zone=ZONE
    

    更改下列內容:

    • VM_NAME:要升級的 VM 名稱
    • CUSTOM_MEDIA_DISK:包含自訂安裝媒體的磁碟名稱
    • ZONE:VM 所在的可用區名稱

開始升級

根據預設,Windows 安裝程式會在升級過程的不同時間點提示需要輸入資訊。由於您在升級期間無法透過遠端桌面通訊協定連線至 VM,因此無法提供任何輸入資訊,請以無人值守模式執行升級。

  1. 使用遠端桌面通訊協定用戶端連線至 VM。詳情請參閱連線至執行個體

  2. 開啟提升權限的命令提示字元:

    • 如果您使用 Server Core,登入後系統應會自動開啟提升權限的命令提示字元。
    • 如果您使用 Windows Server 完整桌面體驗,請在「開始」按鈕上按一下滑鼠右鍵,然後選取「命令提示字元 (系統管理員)」
  3. 將工作目錄變更為安裝媒體。正確的工作目錄取決於要升級的 Windows Server 版本:

    2012 R2

    cd /d d:\*2012*
    

    2016 年

    cd /d d:\*2016*
    

    2019 年

    cd /d d:\*2019*
    

    2022 年

    cd /d d:\*2022*
    

    2025 年

    cd /d d:\*2025*
    
  4. 開始升級 Windows。開始升級所需的步驟取決於要升級的 Windows Server 版本,以及 VM 是以公開作業系統映像檔為基礎,還是以匯入的磁碟或映像檔為基礎:

    2012 R2

    執行 upgrade.ps1 開始升級 Windows。指令碼會完成下列步驟:

    • 安裝最新的 Google 驅動程式套件,這對 Windows Server 升級是否成功至關重要。
    • 套用 Compute Engine 必要的 Windows 設定。
    • 在升級期間啟用緊急管理服務 (EMS) 主控台存取權。
    • 從安裝媒體啟動 Windows 安裝程式 (setup.exe),以在自動模式下執行升級。
    • 選取要安裝的正確 Windows Server 2012 R2 版本。
    • 提供新版 Windows Server 的一般大量授權金鑰 (GVLK)。
    powershell -ExecutionPolicy Bypass -File upgrade.ps1
    

    2012 R2 (BYOL)

    執行 upgrade.ps1 開始升級 Windows。指令碼會完成下列步驟:

    • 安裝最新的 Google 驅動程式套件,這對 Windows Server 升級是否成功至關重要。
    • 套用 Compute Engine 必要的 Windows 設定。
    • 在升級期間啟用緊急管理服務 (EMS) 主控台存取權。
    • 從安裝媒體啟動 Windows 安裝程式 (setup.exe),以在自動模式下執行升級。
    • 選取要安裝的正確 Windows Server 2012 R2 版本。
    • 提供使用者為新版 Windows Server 提供的授權金鑰。
    powershell -ExecutionPolicy Bypass -File upgrade.ps1 -SetupExePath SETUP_PATH -ProductKey PRODUCT_KEY
    

    更改下列內容:

    • SETUP_PATH:自訂安裝媒體上 setup.exe 的路徑
    • PRODUCT_KEY:Windows Server 2016 的有效產品金鑰。

    只有在升級已加入現有授權 (BYOL) 的 VM 執行個體時,才需要 -ProductKey 參數

    2016 年或之後

    執行 upgrade.ps1 開始升級 Windows。指令碼會完成下列步驟:

    powershell -ExecutionPolicy Bypass -File upgrade.ps1
    

    在某些情況下,Windows 安裝程式可能會顯示「選取映像檔」畫面。如果看到這個畫面,請選取與目前設定相符的設定:

    • 如果您使用 Server Core,請選取「Datacenter」
    • 如果您使用 Windows Server 完整桌面體驗,請選取「Datacenter (Desktop Experience)」

    • 按一下「下一步」開始升級。

    設定初始化可能需要幾分鐘時間。

    2016 年後 (已匯入)

    執行 upgrade.ps1 開始升級 Windows。指令碼會完成下列步驟:

    powershell -ExecutionPolicy Bypass -File upgrade.ps1 -SetupExePath SETUP-PATH -ProductKey PRODUCT-KEY
    

    更改下列內容:

    • SETUP_PATH:自訂安裝媒體上的 setup.exe 路徑
    • PRODUCT_KEY:要升級的 Windows Server 版本適用的有效產品金鑰。舉例來說,如果從 Windows Server 2016 Datacenter 升級至 Windows Server 2019 Datacenter,請提供有效的 Windows Server 2019 Datacenter 金鑰。

    只有在升級已加入現有授權 (BYOL) 的 VM 執行個體時,才需要 -ProductKey 參數。

    在某些情況下,Windows 安裝程式可能會顯示「選取映像檔」畫面。如果看到這個畫面,請選取與目前設定相符的設定:

    • 如果您使用 Server Core,請選取「Windows Server Datacenter」
    • 如果您使用 Windows Server 完整桌面體驗,請選取「Windows Server Datacenter (Desktop Experience)」

    • 按一下「下一步」開始升級。

    設定初始化可能需要幾分鐘時間。

    升級程序可能會發出以下警告。如果有的話,可以忽略此警告:

    [package name] or a newer version is already installed on the system
    

    安裝 netkvm 驅動程式時,系統可能會暫時沒有回應。如果發生這種情況,請勿關閉遠端桌面通訊協定連線或停止 VM 執行個體,除非系統超過 5 分鐘沒有回應。如果失去遠端桌面通訊協定連線,請等待大約 5 分鐘後再重新連線至 VM 執行個體。

    設定精靈可能會要求您先重新啟動系統。在這種情況下,請重新啟動 VM 執行個體,並使用相同的指令再次執行 Windows 安裝程式。

    大約 5 分鐘後,電腦將重新啟動,同時遠端桌面通訊協定會斷線。

觀察升級過程

視 VM 執行個體的機器類型和 Windows Server 設定而定,升級作業可能需要 10 到 60 分鐘才能完成。 在此期間,您可以透過序列埠輸出來觀察狀態:

  1. 在 Cloud Shell 中,執行下列指令來觀察啟動程序:

    gcloud compute instances tail-serial-port-output VM_NAME --zone=ZONE
    

    更改下列內容:

    • VM_NAME:VM 執行個體名稱
    • ZONE:VM 執行個體所在的可用區名稱
  2. 等待電腦重新啟動四次。視您的 VM 執行個體設定而定,重新啟動可能需要 30 分鐘或更長的時間。類似以下的輸出內容可讓您辨識電腦是否正在重新啟動:

    SeaBIOS (version 1.8.2-20190620_103534-google)
    Total RAM Size = 0x00000001e0000000 = 7680 MiB
    CPUs found: 2     Max CPUs supported: 2
    
  3. 第四次重新啟動後,請等到輸出內容 GCEMetadataScripts: Finished running startup scriptsNo startup scripts to run出現。

執行升級後的步驟

您現在可以連線至 VM 執行個體,以確認升級作業已順利完成。

  1. 使用遠端桌面通訊協定用戶端連線至 VM 執行個體。詳情請參閱連線至執行個體

  2. 使用具有本機系統管理員權限的使用者帳戶登入。

  3. 開啟提升權限的命令提示字元:

    • 如果您使用 Server Core,登入後系統應會自動開啟提升權限的命令提示字元。
    • 如果使用 Windows Server 完整桌面體驗,請以滑鼠右鍵按一下「開始」按鈕,然後選取「命令提示字元 (系統管理員)」
  4. 執行下列指令,查詢 Windows Server 版本:

    Windows Server Core

    ver
    

    含有桌面體驗的 Windows Server

    winver
    

    確認版本是否與預期的 Windows Server 版本相符。

  5. 將工作目錄變更為安裝媒體。正確的工作目錄取決於要升級的 Windows Server 版本:

    2012 R2

    cd /d d:\*2012*
    

    2016 年

    cd /d d:\*2016*
    

    2019 年

    cd /d d:\*2019*
    

    2022 年

    cd /d d:\*2022*
    

    2025 年

    cd /d d:\*2025*
    
  6. 再次執行 upgrade.ps1,重新套用在升級過程中可能遺失的特定 Compute Engine 設定:

    powershell -ExecutionPolicy Bypass -File upgrade.ps1
    
  7. 重新啟動 VM 執行個體,確保所有變更生效。重新啟動可能需要 1 到 2 分鐘才能完成,接著才能再次連線至 VM 執行個體。

卸離安裝磁碟

現在可以從 VM 執行個體卸離安裝磁碟:

  • 在 Cloud Shell 中,從 VM 執行個體卸離安裝磁碟,並將 VM_NAME 替換為 VM 執行個體的名稱:

    gcloud compute instances detach-disk VM_NAME --disk=win-installers
    

安裝更新並恢復存取

升級完成後,請執行 Windows Update 以下載並安裝所有安全性更新。如要安裝安全性更新,請按照下列步驟操作:

  1. 使用遠端桌面通訊協定用戶端連線至電腦。詳情請參閱連線至執行個體

  2. 執行 Windows Update 安裝最新的 Windows 更新。 在此過程中,您可能必須多次重新啟動 VM 執行個體。

  3. 重新啟用升級前停用的所有代理程式、防毒或反惡意軟體。

排解直接升級問題

執行 Windows 安裝程式時,您無法透過遠端桌面通訊協定連線至 VM 執行個體。如果您懷疑升級失敗或沒有進行,請使用以下方法來診斷情況:

查看序列埠輸出內容

如要查看升級程序的進度,請查看 VM 執行個體的序列埠輸出

  • 序列埠 1 會擷取啟動狀態
  • 序列埠 3 會擷取 Windows 安裝程式的記錄輸出內容

在升級過程中,您應該會看到四次重新啟動程序。如果您在首次重新啟動後超過 30 分鐘沒有看到任何進度,可能是因為升級作業失敗。

檢查 CPU 和 I/O 指標

執行 Windows Server 升級需要 CPU 和磁碟 I/O 密集作業。您可以查看 CPU 和 I/O 指標,瞭解安裝程式是否正在進行中。

在 Google Cloud 控制台中查看 CPU 和 I/O 指標:

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面

    前往 VM 執行個體

  2. 按一下要升級的執行個體。

  3. 按一下 [Monitoring] (監控) 分頁標籤。

連線至緊急管理服務主控台

在執行 Windows 安裝程式的期間及之後,您都可以連線至緊急管理服務 (EMS) 主控台。 使用 EMS 主控台時,請檢查 Windows 安裝程式記錄檔事件記錄中是否指出升級作業仍在進行中,或是可能發生錯誤的相關資訊。

使用 WinRM 遠端連線

如果使用遠端桌面通訊協定或 EMS 進行連線失敗,則可以嘗試使用 WinRM 建立遠端 PowerShell 工作階段:

  1. 連線到同一個 VPC 中的其他 Windows Server 執行個體。

  2. 開啟 PowerShell。

  3. 建立遠端 PowerShell 工作階段,並將 VM_NAME 替換為要升級的執行個體名稱:

    Enter-PSSession -ComputerName VM_NAME -UseSSL -SessionOption (New-PsSessionOption -SkipCACheck) -Credential (Get-Credential)
    
  4. 當系統提示輸入憑證時,請輸入系統管理員使用者帳戶的使用者名稱和密碼。

  5. 使用遠端 PowerShell 工作階段檢查 Windows 安裝程式記錄檔事件記錄

離線分析記錄檔

如果無法使用 Windows 遠端管理 (WinRM) 連接到執行個體,則可以取消升級並分析來自其他 VM 執行個體的記錄檔。詳細步驟如下:

  1. 停止 VM 執行個體

    如果 Windows Server 沒有回應,可能需要幾分鐘的時間。

  2. 從執行個體卸離開機磁碟

  3. 建立新的臨時 Windows Server 執行個體,並將原始執行個體的開機磁碟附加為額外的磁碟。

  4. 使用臨時 Windows Server 執行個體,針對要升級的執行個體分析其安裝程式記錄和事件記錄檔

  5. 完成分析後,將磁碟與臨時執行個體卸離,然後將該磁碟做為開機磁碟重新附加至原本的 VM 執行個體。

遠端桌面通訊協定疑難排解

如要瞭解對遠端桌面通訊協定進行疑難排解的相關資訊,請參閱遠端桌面通訊協定疑難排解

Windows Server 執行個體疑難排解

如要瞭解對 Windows Server 執行個體進行疑難排解的相關資訊,請參閱 Windows 執行個體的相關提示和疑難排解

清除所用資源

若要避免在完成此過程後產生額外費用,請刪除安裝磁碟。

刪除安裝磁碟

您可以隨時使用 Google 提供的映像檔來建立安裝磁碟。如果您不打算在同一區域中升級其他 VM 執行個體,請刪除安裝磁碟:

  • 在 Cloud Shell 中,刪除先前建立的 win-installers 磁碟:

    gcloud compute disks delete win-installers
    

後續步驟