執行 Windows Server 就地升級

如果虛擬機器 (VM) 執行個體執行的是舊版 Windows Server,您可以將其升級至新版 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 (核心) Windows Server 2025 (Core)
Windows Server 2022 (桌面體驗) Windows Server 2025 (電腦版體驗)

升級時須遵守下列限制:

  • Microsoft 已停止支援 Windows Server 2012 R2 和 Windows 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 提供的公開作業系統映像檔為基礎:在這種情況下,您必須使用預先定義的 KMS 用戶端設定金鑰,升級至 Windows Server 版本。升級不會產生額外費用。

  • 您要升級的 VM 執行個體已自備現有授權:在「BYOL」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. 在 Cloud de Confiance 控制台中,按一下「啟用 Cloud Shell」啟動 Cloud Shell。按鈕,開啟 Cloud Shell。

    前往 Cloud de Confiance 控制台

  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 安裝程式會在升級期間的各個階段提示您輸入資訊。由於您無法在升級期間使用 RDP 連線至 VM,因此無法提供任何輸入內容,請以無人值守模式執行升級。

  1. 使用 RDP 用戶端連線至 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 驅動程式時,系統可能會暫時沒有回應。如果發生這種情況,請勿關閉 RDP 連線或停止 VM 執行個體,除非系統無回應超過 5 分鐘。如果 RDP 連線中斷,請等待約 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 scripts 或 No startup scripts to run。

執行升級後步驟

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

  1. 使用 RDP 用戶端連線至 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. 使用 RDP 用戶端連線至機器。詳情請參閱連線至執行個體。

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

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

排解就地升級問題

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

查看序列埠輸出內容

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

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

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

檢查 CPU 和 I/O 指標

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

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

  1. 前往 Cloud de Confiance 控制台的「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
    

後續步驟