20200411
參考:
https://support.microsoft.com/hub/4338813/windows-help
情況:
WIN7系統突然假死,畫面卡住,聲音嗡嗡響。強制斷電,重啓,查看系統日誌,發現斷電前有兩個36887事件。硬盤健康度正常,懷疑是系統文件丟失。
解決方案:
一、使用sfc /scannow命令無光盤修復:
1、用管理員身份運行CMD,執行:
sfc /scannow
開始系統掃描。此過程將需要一些時間。
開始系統掃描的驗證階段。
驗證 100% 已完成。
Windows 資源保護找到了損壞文件併成功修復了它們。
CBS.Log windir\Logs\CBS\CBS.log 中有詳細信息。例如
C:\Windows\Logs\CBS\CBS.log
系統文件修復更改在下次重新啓動之後生效。
2、重啓,再次執行一次sfc /scannow命令:
sfc /scannow
開始系統掃描。此過程將需要一些時間。
開始系統掃描的驗證階段。
驗證 100% 已完成。
Windows 資源保護未找到任何完整性衝突。
3、詳細修復日誌在C:\Windows\Logs\CBS\CBS.log,複製出來就可以打開。
二、從光盤修復:
光盤啓動->修復計算機--->系統恢復選項->命令提示符,執行
sfc /SCANNOW /OFFBOOTDIR=d:\ /OFFWINDIR=d:\windows
三、從脫機系統盤修復:
掛載另一個Windows硬盤,針對特定文件離線修復:
sfc /SCANFILE=d:\windows\system32\kernel32.dll /OFFBOOTDIR=d:\ /OFFWINDIR=d:\windows
注:d爲脫機Windows的盤符,另一個Windows硬盤。
PS:
1、這個方法也適用於XP、WIN10。
2、WIN10可以聯網修復:
Dism /Online /Cleanup-image /RestoreHealth
修復日誌C:\Windows\Logs\CBS\CBS.log
3、XP參考這個《windowsxp系統修復方法詳解》
4、SFC幫助說明:
掃描所有保護的系統文件的完整性,並使用正確的 Microsoft 版本替換
不正確的版本。
SFC [/SCANNOW] [/VERIFYONLY] [/SCANFILE=<file>] [/VERIFYFILE=<file>]
[/OFFWINDIR=<offline windows directory> /OFFBOOTDIR=<offline boot directory> [/OFFLOGFILE=<log file path>]]
/SCANNOW 掃描所有保護的系統文件的完整性,並儘可能修復
有問題的文件。
/VERIFYONLY 掃描所有保護的系統文件的完整性。不會執行修復
操作。
/SCANFILE 掃描引用的文件的完整性,如果找到問題,則修復文件。
指定完整路徑 <file>
/VERIFYFILE 驗證帶有完整路徑 <file> 的文件的完整性。
不會執行修復操作。
/OFFBOOTDIR 對於脫機修復,指定脫機啓動目錄的位置
/OFFWINDIR 對於脫機修復,指定脫機 Windows 目錄的位置
/OFFLOGFILE 對於脫機修復,通過指定日誌文件路徑選擇性地啓用記錄
示例:
sfc /SCANNOW
sfc /VERIFYFILE=c:\windows\system32\kernel32.dll
sfc /SCANFILE=d:\windows\system32\kernel32.dll /OFFBOOTDIR=d:\ /OFFWINDIR=d:\windows
sfc /SCANFILE=d:\windows\system32\kernel32.dll /OFFBOOTDIR=d:\ /OFFWINDIR=d:\windows /OFFLOGFILE=c:\log.txt
sfc /VERIFYONLY
5、Dism幫助說明:
部署映像服務和管理工具
版本: 10.0.17763.771
DISM.exe [dism_options] {Imaging_command} [<Imaging_arguments>]
DISM.exe {/Image:<path_to_offline_image> | /Online} [dism_options]
{servicing_command} [<servicing_arguments>]
描述:
DISM 枚舉、安裝、卸載、配置和更新 Windows 映像
中的功能和程序包。可以使用的命令取決於提供的映像
以及映像是處於脫機還是運行狀態。
通用映像處理命令:
/Split-Image - 將現有 .wim 文件拆分爲多個
只讀拆分 WIM (SWM) 文件。
/Apply-Image - 應用一個映像。
/Get-MountedImageInfo - 顯示有關安裝的 WIM 和 VHD 映像的
信息。
/Get-ImageInfo - 顯示有關 WIM、VHD 或 FFU 文件中映像的
信息。
/Commit-Image - 保存對裝載的 WIM 或 VHD 映像的更改。
/Unmount-Image - 卸載已裝載的 WIM 或 VHD 映像。
/Mount-Image - 從 WIM 或 VHD 文件裝載映像。
/Remount-Image - 恢復孤立的映像裝載目錄。
/Cleanup-Mountpoints - 刪除與損壞的已安裝映像
關聯的資源。
WIM 命令:
/Apply-CustomDataImage - 凍結自定義數據映像中包含的文件。
/Capture-CustomImage - 將自定義設置捕獲到 WIMBoot 系統上的增量 WIM 文件中。
捕獲的目錄包括所有
子文件夾和數據。
/Get-WIMBootEntry - 顯示指定磁盤卷的
WIMBoot 配置項。
/Update-WIMBootEntry - 更新指定磁盤卷的
WIMBoot 配置項。
/List-Image - 顯示指定映像中的文件
和文件夾的列表。
/Delete-Image - 從具有多個卷映像的 WIM 文件
刪除指定的卷映像。
/Export-Image - 將指定映像的副本導出到其他
文件。
/Append-Image - 將其他映像添加到 WIM 文件中。
/Capture-Image - 將驅動器的映像捕獲到新的 WIM 文件中。
捕獲的目錄包含所有子文件夾和
數據。
/Get-MountedWimInfo - 顯示有關安裝的 WIM 映像的信息。
/Get-WimInfo - 顯示有關 WIM 文件中的映像的信息。
/Commit-Wim - 保存對安裝的 WIM 映像的更改。
/Unmount-Wim - 卸載安裝的 WIM 映像。
/Mount-Wim - 從 WIM 文件安裝映像。
/Remount-Wim - 恢復孤立的 WIM 安裝目錄。
/Cleanup-Wim - 刪除與損壞的已安裝 WIM
映像關聯的資源。
FFU COMMANDS:
/Capture-Ffu - Captures a physical disk image into a new FFU file.
/Apply-Ffu - Applies an .ffu image.
/Split-Ffu - Splits an existing .ffu file into multiple read-only
split FFU files.
映像規格:
/Online - 以正在運行的操作系統爲目標。
/Image - 指定脫機 Windows 映像的根目錄的路徑。
DISM 選項:
/English - 用英文顯示命令行輸出。
/Format - 指定報告輸出格式。
/WinDir - 指定 Windows 目錄的路徑。
/SysDriveDir - 指定名爲 BootMgr 的系統加載程序文件的路徑。
/LogPath - 指定日誌文件路徑。
/LogLevel - 指定日誌(1-4)中所示的輸出級別。
/NoRestart - 取消自動重新啓動和重新啓動提示。
/Quiet - 取消除錯誤消息之外的所有輸出。
/ScratchDir - 指定暫存目錄的路徑。
若要獲得有關這些 DISM 選項及其參數的詳細信息,請在緊挨着 /? 之前指定一個選項。
示例:
DISM.exe /Mount-Wim /?
DISM.exe /ScratchDir /?
DISM.exe /Image:C:\test\offline /?
DISM.exe /Online /?