DISM / RestoreHealthパラメーターとSFCの目的は何ですか?
Aug 19 2020
DISM
/RestoreHealth
パラメータとパラメータの目的は何SFC
/ScanNow
ですか?
- それらはどのように相互に関連していますか?
- それらはどのような順序で実行する必要がありますか?
- どちらかを実行するときに順序シーケンスが重要なのはなぜですか?
回答
3 JW0914 Aug 19 2020 at 13:28
コンポーネント・ストアは、 [ %WinDir%\WinSxS
]、すべてのWindowsシステムファイルのバックアップコピーを維持し、SFC
かつDISM
で、コンポーネント・ストアやOSの二つの別々の、重要な部分を管理SFC
頼る完全にものにDISM
管理します。
DISM
2つの機能がありますSFC
に依存している、/StartComponentCleanup
と/RestoreHealth
、との/RestoreHealth
時にのみ依存します/StartComponentCleanup
/StartComponentCleanup
: 壊れたハードリンクをコンポーネントストアから削除します。頻繁に更新されるため、InsiderBuildsの担当者はこれを定期的に実行する必要があります。/RestoreHealth
: ハッシュ比較を通じて、Windows Updateサーバーからの既知の正常なコピーに対してシステムファイルのバックアップを検証することにより、コンポーネントストアの破損を検証および修正します。オフラインメソッドは存在しますが[以下]、常に破損を修正できるとは限りません。
SFC
コンポーネントストアが破損していないことを常に想定しているため、DISM
/RestoreHealth
パラメータは常にSFC
;の前に実行する必要があります。そうしないと、破損したコンポーネントストアが、正常なシステムファイルを破損したファイルに置き換えたり、破損%WinDir%
を完全に修正できなかったりする可能性があります。/ScanNow
:%WinDir%
ハッシュ比較を通じてコンポーネントストア内の既知の正常なコピーと照合することにより、内部の破損を検証および修正します
DISM
そしてSFC
、それぞれが一つ前が何に依存するように、列挙された順序で実行されなければなりません。
-
コンポーネントストアは、Windows Updateを実行する前、Windows Updateで問題が発生した後、および少なくとも月に1回は常にクリーンアップする必要があります。これは、更新によってハードリンクが切断されることがあるため、時間の経過とともにダーティになるためです。# Online (while booted to Windows): Dism /Online /Cleanup-Image /StartComponentCleanup # Offline (while booted to WinPE/WinRE): Dism /Image:"D:\Windows" /Cleanup-Image /StartComponentCleanup # C: is usually not the drive letter in WinPE/WinRE # To ascertain: DiskPart -> Lis Vol -> Exit
-
インターネット接続が必要です。そうでない場合は、オフライン方式が必要になります。# Online (while booted to Windows): Dism /Online /Cleanup-Image /RestoreHealth # Offline (while booted to WinPE/WinRE): Dism /Image:"D:\Windows" /Cleanup-Image /RestoreHealth
install.esd
||を使用します インストール されたバージョン(v1909、v2004など)install.wim
のWindowsインストールISOから:- Windows10インストールメディアを作成→今すぐツールをダウンロード→別のPCにインストールすることを選択
- ISOをマウントし、||からインストールされているOSインデックス[イメージ]を決定します。:
install.esd
install.wim
Dism /Get-ImageInfo /ImageFile:"Z:\sources\install.esd"
/Source
パラメータの最後にインデックス番号を指定します。# Online (while booted to Windows): # ESD: Dism /Online /Cleanup-Image /RestoreHealth /Source:esd:"Z:\sources\install.esd":6 /LimitAccess # WIM: Dism /Online /Cleanup-Image /RestoreHealth /Source:wim:"Z:\sources\install.wim":6 /LimitAccess # Offline (while booted to WinPE/WinRE): Dism /Image:"D:\Windows" /Cleanup-Image /RestoreHealth /Source:esd:"Z:\sources\install.esd":6 /LimitAccess
- 再起動します(エラーが見つかった場合は
%WinDir%\Logs\DISM\dism.log
、下から順に確認します) -
# Online (while booted to Windows): Sfc /ScanNow # Offline (while booted to WinPE/WinRE): Sfc /ScanNow /OffBootDir=D:\ /OffWinDir=D:\Windows
- 再起動します(エラーが見つかった場合
%WinDir%\Logs\CBS\CBS.log
は、下から順に確認します)
ランダムな問題の発生を防ぐために、タスクスケジューラを介してこれらを毎週実行します。
Dism_ComponentCleanup.xml
毎週日曜日の11:30:00に実行されますDism_RestoreHealth.xml
毎週日曜日の12:00:00に実行されますSfc_ScanNow.xml
毎週日曜日の13:00:00に実行されます
タスクスケジューラにインポートするには:
- GUI:
-
TaskSchd.msc
- アクション→新しいフォルダ... →名前:
Custom
- アクション→タスクのインポート... →
<task_name>.xml
-
- CLI:
Cmd
:SchTasks /Create /Xml "%UserProfile%\Downloads\<task_name>.xml" /Tn "\Custom\Task Name" /Ru "%ComputerName%\%UserName%"
Powershell
:Register-ScheduledTask -Xml (Get-Content '$env:UserProfile\Downloads\<task_name>.xml' | Out-String) -TaskName "Task Name" -TaskPath "\Custom\" -User $env:ComputerName\$env:UserName –Force