Windows

無法使用“無法完成更新撤消更改”錯誤更新 PowerShell

  • December 13, 2017

我有一個在 Hyper-V 上執行的 Windows Server 2012 R2 實例,我正在嘗試將其從 PowerShell 4.0 更新到 PowerShell 5.1。應用更新後,我重新啟動伺服器以應用更新,然後 Windows 立即顯示:

我們無法完成更新

撤消更改

不要關閉你的電腦

線上研究使我相信這是 Hyper-V 中的 Secure-Boot 選項的問題。當我嘗試在 Powershell 中編輯此選項時:

Set-VMFirmware "Build Server" -EnableSecureBoot Off

我收到錯誤:

Set-VMFirmware : 參數無效。第 1 代虛擬機不支持 VMFirmware cmdlet

如何找到此問題的根本原因,如果在 Hyper-V 中禁用安全啟動是解決方案,我如何在 Gen1 VM 上執行此操作?

編輯:嘗試使用最新更新檔更新 Windows 後,我收到相同的“無法完成更新撤消更改”消息。這似乎是 Windows 更新的問題,而不是 PowerShell 的問題…

經過幾個小時的研究,問題似乎不是由於 VM 上的安全啟動,而是因為Windows Temp 目錄的內容/卷。這似乎也是 Azure Windows VM 中的一個問題。我的 VM 上的C:\Windows\Temp目錄約為 2.8gb。我遵循的步驟是:

  1. 刪除 C:\Windows\Temp上的所有句柄
  2. 刪除C:\Windows\Temp
  3. 執行Windows 更新
  4. 重啟虛擬機
  5. 執行 Windows Server 2012 R2 Windows Mangement Framework 5.1安裝程序
  6. 重啟虛擬機

注意:一些消息來源建議將TEMP環境變數設置為直接指向 C:\Windows\Temp,如果它已經不指向的話。我的 TEMP 變數指向管理員帳戶的臨時目錄。執行上述步驟時,我沒有**更改此設置。**在這種情況下,它似乎沒有什麼不同。

引用自:https://serverfault.com/questions/886690