【保存版】Windows を安定・高速に保つためのメンテナンス手順書
WinSxS / DISM / SFC / CHKDSK を体系的に理解する
Windows を長く使っていると、次のような不調に出会うことがあります。
- Windows Update が失敗する
- 動作が重くなる・不安定になる
- 謎のエラーやブルースクリーンが出る
「とりあえず再起動」「なんとなくクリーンインストール」ではなく、
標準ツール(DISM / SFC / CHKDSK)を使って、論理的に原因へ近づくための再現性のある手順書
としてこの記事をまとめました。
本記事で目指すゴールは:
- WinSxS(コンポーネントストア)の役割を理解する
- DISM / SFC / CHKDSK の 役割と順番 を整理する
- 「どの症状のときに、どこまでやるか」の判断軸を持つ
- 月次・年次メンテナンスを 自分の標準運用 にできるようにする
1. WinSxS(コンポーネントストア)とは?
Windows の内部には WinSxS(コンポーネントストア) という
「OS の原本倉庫」が存在します。
WinSxS の役割
├─ OS の全コンポーネントの原本
├─ Windows Update のバックアップ
├─ ロールバック用の旧バージョン
└─ SFC の修復元ファイル
ポイント:
- エクスプローラーで見ると「サイズが巨大」に見えるが、
実際は ハードリンクの関係で重複カウントされている部分が多い - むやみに削除すると OS が壊れるリスクが高い
→ 専用ツール(DISM)で扱うのが前提
2. WinSxS の状態確認(AnalyzeComponentStore)
PowerShell(管理者)で実行:
Dism /Online /Cleanup-Image /AnalyzeComponentStore
確認ポイント:
- コンポーネントストアの実サイズ
- バックアップおよび無効な機能のサイズ
- 「コンポーネント ストアのクリーンアップを推奨:はい/いいえ」
- 再利用できるパッケージ数
ここで「はい」になっていれば、クリーンアップを検討するタイミングです。
3. 月次メンテナンス(毎月1回)
3-1 Windows Update の状態確認
設定 → Windows Update → 更新プログラムの確認
失敗がないか
再起動待ちがないか
3-2 WinSxS の通常クリーンアップ
推奨が「はい」の場合:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
特徴:
古いコンポーネントを整理して、WinSxS をスリム化
更新プログラムのアンインストールは まだ可能
4. 年次メンテナンス(半年〜1年に1回)
4-1 WinSxS のフルクリーンアップ(/ResetBase)
Windows が安定していることを確認したうえで実行:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
効果:
- 古い更新プログラムのバックアップを完全削除
- 数 GB 程度の容量削減が期待できる
重要な注意点:
- 過去の更新プログラムをアンインストールできなくなる
- コントロールパネルの「インストールされた更新プログラム」からも戻せない
実行タイミングは:
- 大型アップデートや月例パッチを適用
- 数日〜数週間運用して 安定していることを確認してから が安全
4-2 システムファイルの整合性チェック(SFC)
sfc /scannow
保護されたシステムファイルをスキャンし、破損があれば修復を試みる
修復元は WinSxS(コンポーネントストア)
4-3 WinSxS の破損修復(DISM /RestoreHealth)
Dism /Online /Cleanup-Image /RestoreHealth
Windows イメージ(コンポーネントストア)自体の破損を修復する
Windows Update や指定したソースから正常なファイルを取得して置き換える
5. CHKDSK(chkdsk /f /r)の正しい理解
基本の役割
ファイルシステムの整合性チェック・修復
不良セクタの検出とデータ退避(/r 指定時)
コマンドと意味
chkdsk C:
読み取り専用(チェックのみ・修復なし)
chkdsk C: /f
ファイルシステムの論理エラー修復
chkdsk C: /f /r
不良セクタの検出&読み取れるデータの退避かつ /f の機能も含む(論理エラー修復も実施)SSD 環境での注意近年の SSD では、/r を定期的に回す必要性は低い
物理故障の疑いがない通常メンテナンスなら:
chkdsk C: /f または chkdsk C: で十分なケースが多い
異音・極端な遅さ・イベントログにディスクエラーが出ている場合など、
ディスク起因が濃厚なときに /r を検討する くらいの位置づけが現実的
システムドライブに対する実行時の注意
C: に対して /f や /r を指定すると、
→「次回の再起動時にこのボリュームをチェックしますか?」と聞かれる
実際の処理は 再起動後に実行される
実行前に必ず:
- 作業中のファイル保存
- 可能ならバックアップ
6. SFC(sfc /scannow)を 2回実行する理由
- SFC は 保護されたシステムファイルを WinSxS から復元するツールですが、
1回の実行では修復が完了しないケースがあります。
理由1:依存ファイルが壊れていると修復できない
- 1回目:依存 DLL や構成ファイルが修復される
- 2回目:それらを前提に、別のファイルが修復される
理由2:修復元(WinSxS)が 1回目で直る
- SFC の修復元は コンポーネントストア(WinSxS)
- 1回目の SFC で WinSxS 側が整い、2回目で OS 側のファイルが完全に修復される、という流れが起こりうる
理由3:ロック中ファイルは再起動後に修復される
使用中のファイルはその場で置き換えられない
1回目:修復予約
- 再起動後:修復適用
- 2回目:整合性が取れているかの再チェック
CBS.log を見るのが本来の正攻法
ログ:C:\Windows\Logs\CBS\CBS.log
「修復できなかったファイルがあります」と出た場合、
本来はこのログを確認して、何が直っていないか を見るのがエンジニア的な正攻法
ただし、実務上は:
- DISM → SFC → SFC の流れで
「直るかどうか」を優先してしまうのも現場ではよくある運用です。
DISM との関係性(順番が重要)
SFC は WinSxS を修復元として使うその WinSxS が壊れていると、SFC は失敗しやすいそのため、DISM(/RestoreHealth)で“倉庫”を直してから SFC を実行する のが合理的
7. トラブル発生時の修復フロー(推奨ルート)
基本方針
まずは OS 側(コンポーネント・システムファイル) を整えるそれでもダメ、または ディスク起因が疑われる場合のみ CHKDSK を使う。
SSD 時代は「なんでも /r」は避け、症状ベースで判断する。
推奨フロー(OS 不調が主な疑いの場合)
1. WinSxS(修復元)の修復
Dism /Online /Cleanup-Image /RestoreHealth
2. OS の壊れたファイル修復(1回目)
sfc /scannow
3. OS の壊れたファイル修復(2回目)
sfc /scannow
ここまでで改善するケースが非常に多い
それでも改善しない / ディスクが怪しい場合
4. ファイルシステムの整合性チェック(まずは /f 推奨)
chkdsk C: /f
- イベントログにディスクエラーが出ている
- 読み書きが極端に遅い
- 異音(HDD の場合)などがある
といった場合は、状況に応じて /r を検討。
8. メンテナンス運用スケジュール(テンプレ)
| 頻度 | 作業内容 |
|---|---|
| 毎月 | Windows Update / AnalyzeComponentStore / StartComponentCleanup |
| 半年〜1年 | ResetBase(安定確認後) / DISM / SFC(必要に応じて) |
| トラブル時 | DISM → SFC(2回) → 必要なら CHKDSK |
9. 実行時の共通注意事項(PowerShell / 管理者権限)
-
すべてのコマンドは 「管理者として実行」した PowerShell またはコマンドプロンプト で行う
-
システムドライブ(C:)に対する chkdsk /f /r は 再起動が前提
実行前に:
-
重要データのバックアップ
-
BitLocker など暗号化環境では回復キーの確認も忘れずに
10. 参考コマンド一覧(コピペ用)
# WinSxS の状態確認
Dism /Online /Cleanup-Image /AnalyzeComponentStore
# 通常クリーンアップ
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
# フルクリーンアップ(半年〜1年に1回・安定確認後)
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
# WinSxS(修復元)の修復
Dism /Online /Cleanup-Image /RestoreHealth
# システムファイル修復(2回推奨)
sfc /scannow
sfc /scannow
# ディスクの論理エラー修復(まずは /f)
chkdsk C: /f
# 状況に応じて物理チェックも行う場合
chkdsk C: /f /r
まとめ
- WinSxS は Windows の「原本倉庫」であり、DISM で扱うのが前提
- 通常メンテナンスは AnalyzeComponentStore → StartComponentCleanup →(必要に応じて)ResetBase
- 不調時は DISM → SFC(2回) を基本ルートとし、ディスク起因が疑われる場合のみ CHKDSK を検討する
- SSD 時代は「なんでも /r」ではなく、症状とログを見て一手ずつ進める
この手順書を、自分の Windows 運用の「標準フロー」として
そのまま使い回せるようにしておくと、トラブル時に迷う時間がかなり減るはずです。