如何使用 DISM 命令修復 Windows 映像

已發表: 2022-09-02

DISM(部署映像服務和管理)是用於在線和離線健康掃描以及修復受損 Windows 操作系統的尖端實用程序。

什麼是 DISM 命令?

您是否在使用 Windows 操作系統 8、8.1、10 或 11 時遇到問題,例如藍屏、應用程序意外崩潰或實用程序或功能無法正常工作?

DISM(部署映像服務和管理)是 Windows 內置命令行工具,可直接從 Windows 在線服務器修復損壞或損壞的 Windows 操作系統文件和功能。

它用於 .wim、.vhd 或 .vhdx 格式的在線(當前運行的操作系統)和離線 Windows 映像以解決問題。 通過命令行和 Windows PowerShell 訪問 DISM。

系統管理員還利用 DISM 實用程序來維護、遷移和創建新映像,尤其是在 Windows PE(預安裝環境)、Windows RE(恢復環境)和 Windows 安裝期間。

在 2012 年首次在 Windows 8 和 Windows Server 2012 R2 中引入之後,DISM 現在是所有運行最新版本的 Microsoft 操作系統的一部分。

另一個修復損壞的 Windows 文件的程序是 System File Checker (sfc.exe); 但是,它會將損壞的文件與系統保存的 .wim 存儲進行比較; 如果後者損壞,證監會可能無法解決問題。 DISM 工具克服了這個問題。 基於保存在 Microsoft 更新服務器上的父副本,它可以掃描和修復 .wim 存儲。

在下一節中,我們將了解一些 DISM 命令及其在 PowerShell 和 Windows 命令行中用於掃描和調試 Windows 操作系統的實際應用:

如何通過命令提示符運行 DISM 實用程序

您可以使用命令行啟動 DISM 工具並檢查和修復 Windows 是否存在錯誤:

 Enter cmd (a shorthand for command prompt) in the search bar.

如下圖所示,右擊命令提示符,選擇“以管理員身份運行”: 要使用 DISM 命令行程序,您必須是管理員。

如何通過命令提示符運行 DISM 實用程序

下面的部分向我們展示瞭如何使用多個 DISM 命令來掃描和修復 Windows 問題。

如何使用 DISM 修復 Windows 10?

DISM 使用三個重要參數來掃描、檢查和修復損壞或損壞的 Windows 映像,它們是:

ScanHealth、CheckHealth 和 RestoreHealth。

與上面的命令一起使用的還有兩個輸入用於廣泛檢查是

用於廣泛檢查的清理圖像

在線檢查正在運行的操作系統。

如何使用 DISM CheckHealth 命令?

CheckHealth 參數啟動組件存儲中損壞的基本檢查。 它運行迅速,只搜索已經成為日誌文件一部分的錯誤。 此命令掃描組件存儲的一部分。

組件存儲跟踪和維護構成 Windows 操作系統的每個組件。 要在線運行 CheckHealth,請在命令提示符處鍵入以下內容並輸入。

 Dism /Online /Cleanup-Image /CheckHealth

掃描完成後,將出現如下所示的窗口:

DISM CheckHealth 命令

如何使用 DISM ScanHealth 命令?

ScanHealth 比 CheckHealth 需要更多時間,因為它會徹底掃描組件存儲是否損壞。 完成檢查 Windows 組件存儲所需的時間取決於您的 Windows 10 操作系統的運行情況。

從命令提示符運行以下命令以開始掃描:

 Dism /Online /Cleanup-Image /ScanHealth

完成掃描後,將出現如下所示的窗口:

DISM ScanHealth 命令

ScanHealth 通過將當前文件的哈希值與存儲的哈希值進行比較來檢查組件存儲中的各個組件是否損壞,這就是 Scanhealth 通常比 CheckHealth 需要更長的掃描時間的原因。

此外,還會生成一個日誌文件,可用於故障分析。 如果發生丟失,首先檢查DISM.log文件是否存在特定問題。 接下來檢查Sessions.xml日誌文件,然後是CBS.log文件。

如何使用 DISM RestoreHealth 命令?

RestoreHealth 是繼 CheckHealth 和 ScanHealth 之後第三個最重要的 DISM 參數。

它與 DISM 一起使用,使用不同的源文件在線或辦公室修復 windows 圖像。

以下 Restorehealth 命令用於修復在線操作系統:

 DISM.exe /Online /Cleanup-image /Restorehealth

當您執行此命令時,DISM 使用 Windows 更新來獲取必要的文件來修復損壞。 根據損壞的程度,掃描和恢復 Component Store 可能需要一段時間。 從 Windows 更新服務器,DISM 將自動下載並替換損壞或丟失組件的文件。

命令完成後,會出現以下屏幕:

使用 DISM RestoreHealth 命令

Windows 映像的離線修復

上述 DISM 命令是在線的,適用於當前正在運行的 windows 操作系統。

更新、驅動程序、語言包和其他配置任務的添加和刪除都可以通過 DISM 離線處理。

現在我們將了解如何使用 DISM 來修復離線 windows 文件。

要執行脫機操作,您可以使用可引導安裝光盤、Windows 10 ISO 文件或本地存儲的源文件,例如來自另一台設備的“ install.wim ”或“ install.esd ”文件,並作為驅動器安裝。

在繼續之前,請檢查文件是否與需要修復的 Windows 10 版本的版本、版本和語言相匹配。

讓我們看一個如何使用 DISM 命令提示符來修復脫機映像的示例。

要修復脫機映像,請從命令提示符運行下面列出的 DISM 命令:

 Dism /Image:C:\offline /Cleanup-Image /RestoreHealth /Source:c:\test\mount\windows\LimitAccess

需要根據脫機映像更改源位置,它通常是 WIM、VHD 或 VHDX 文件。

LimitAccess 告訴DISM不要檢查 Windows 更新或 Windows 服務器更新服務的源文件。

如何通過 PowerShell 運行 DISM 實用程序?

在上面的部分中,我們研究了使用 Windows 命令行工具來掃描、識別和解決操作系統問題。 但是,可以使用 Windows PowerShell Cmdlet 完成相同的操作。

在搜索框中鍵入 PowerShell 命令並使用管理員權限運行它,如下面的屏幕截圖所示,以訪問 PowerShell Cmdlet。

 powershell
通過 PowerShell 的 DISM 實用程序

DISM PowerShell 的 cmdlet 經常直接匹配 Dism.exe 中的參數。 您可以從 Microsoft 網站獲取所有 DISM 命令及其 PowerShell cmdlet 等效項的整個表。

要查看相關語法、開關和參數,請使用 PowerShell 幫助命令“ get-help –examples.xml”。

PowerShell 中使用的一些命令是

  • 對於 CheckHealth:修復-WindowsImage -CheckHealth
  • 對於 ScanHealth:修復-WindowsImage -ScanHealth
  • 對於 RestoreHealth:Repair-WindowsImage -RestoreHealth

如何使用 PowerShell 執行 DISM 命令的示例

鍵入以下內容以啟動 CheckHealth Powershell cmdlet。

 Repair-WindowsImage -online –CheckHealth

命令完成後,會出現如下畫面:

PowerShell 執行 DISM 命令

您可以使用 ScanHealth Powershell cmdlet 執行徹底檢查和修復,如下所示:

 Repair-WindowsImage -online –ScanHealth

成功運行命令後將出現以下屏幕。

請注意,您必須具有管理權限才能執行這些命令; 否則,您將收到錯誤消息“請求的操作需要提升”,並且 DISM 命令將不起作用。

您可以在此 Microsoft 頁面上找到有關 PowerShell 的 cmdlet 模塊的所有信息。

DISM 錯誤疑難解答

DISM 的目標是自動掃描和修復操作系統。 但有時,它可能會失敗。

本節將重點介紹您在運行 DISM 實用程序時可能遇到的一些常見錯誤。

錯誤:0x800f0954 – DISM 失敗。 沒有進行任何操作。

此錯誤是 DISM 命令失敗時出現的常見問題。

當第三方防病毒程序在命令執行期間干擾 DISM 時,會發生此錯誤。 Active Proxy、windows 更新服務、只讀訪問install.wim等也可能導致此錯誤。

讓我們看看如何克服這些挑戰,使 DISM 成功運行。

防病毒程序的干擾

解決方法:如果停止殺毒後仍然出現錯誤,您可以在DISM功能完成後卸載並重新安裝。 不需要第三方防病毒軟件,因為 Microsoft Defender 是 Windows 10 的強大防病毒軟件。

損壞的 Windows 更新組件和註冊表。

當後台智能傳輸服務 (BITS)、加密服務 (CryptSvc) 和 Windows 更新服務配置錯誤時,DISM 將失敗。

解決方案:這些服務必須具有自動啟動類型和啟動狀態才能成功運行自動 Windows 更新。 有時,重新啟動這些服務也可以解決問題:

DISM 錯誤疑難解答

禁用代理

您可以使用代理來維護您的隱私,這會阻止 DISM 運行該命令。

解決方法:解決方法是關閉代理,運行DISM工具。

對 Install.wim 的只讀訪問權限

大多數情況下,直接從 Windows 10 安裝 ISO 複製文件install.wim以啟動 DISM 脫機掃描。 因為install.wim文件具有隻讀訪問權限,所以 DISM 失敗。

解決方案:通過在右鍵單擊install.wim文件時從上下文菜單中選擇“屬性”導航到“只讀”框來刪除只讀權限。

如何修復 DISM 錯誤 50

如何修復 DISM 錯誤 50

DISM 錯誤 50 是另一種典型的錯誤類型。 當用戶嘗試運行以下命令之一時會發生這種情況:

  • Dism /在線 /Cleanup-Image /CheckHealth
  • Dism /在線 /Cleanup-Image /ScanHealth
  • Dism /在線 /Cleanup-Image /RestoreHealth

此錯誤的主要原因是註冊表項放錯了位置。

因此,要更正此問題,您必須按如下方式刪除此鍵:

使用命令提示符運行 Regedit 以訪問註冊表。

導航到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl.

然後,找到 MiniNT 文件夾並將其刪除,如下圖所示。

驗證修改後重新啟動 Windows 10 計算機。

驗證您的修改後的 Windows 10 計算機

結論

DISM 工具是具有技術背景的專家可以使用的多功能和尖端工具。 它是系統管理員的理想選擇。 複雜的工具解決了 SFC 和 CHKDSK 無法修復操作系統問題的組件存儲損壞。

您還可以探索一些最佳修復工具來自動解決 Windows 10 問題。