Windowsでシステムファイルの健全性をチェックする「sfc(System File Checker)」コマンド解説

sfc /scannowはWindowsのprotected system fileを検査・修復するtoolで、disk故障、third-party app、user document、driver全般を直す万能commandではありません。Microsoftの現行案内では、online Windowsのcomponent sourceをDISMで修復してからSFCを実行します。

結論は「管理者Command PromptでDISM /RestoreHealthを完了させ、その後sfc /scannowを100%まで待ちます。最終messageを分類し、必要ならCBS.logからSFC行だけを抽出します」です。

目次

SFCが対象にするsystem fileを理解する

SFCの主なoptionは/scannow、/verifyonly、/scanfile、/verifyfile、offline修復用の/offbootdirと/offwindir等です。通常の起動中Windowsでは/scannowを使います。offline optionはdrive letterがrecovery environmentで変わるため、適用先を誤ると意味のないscanになります。

  • 症状と発生時刻、Windows build、pending update
  • 管理者権限のCommand Promptか
  • DISM RestoreHealthが成功したか
  • system driveのfree spaceとstorage error
  • SFCの最終messageとCBS.logのtimestamp

SFCを実行する前にReliability Monitor、Event Viewer、Windows Update履歴を取得します。hardware errorやdisk I/O errorがある場合はrepairを繰り返さずstorage healthを優先します。SFC終了後はconsoleの最後の一行だけでなく開始・終了時刻とexit contextを記録します。

SFCを実行する前に、Windows build、症状、直前の更新、Application/Systemログ、空き容量を記録します。アプリ一つの設定不良やハードディスク故障をSFCだけで直せるとは限りません。sfc /verifyonlyは保護システムファイルを検査し修復しないため、まず状態把握に使えます。Windowsが起動しない場合はオフラインWindowsのドライブ文字がWinREで変わる点を確認します。

DISMからSFCへ進む標準順序

管理者Command PromptでDISM.exe /Online /Cleanup-Image /RestoreHealthを実行し、完了後にsfc /scannowを行います。100%になるまでwindowを閉じません。「could not perform requested operation」ならSafe Mode等のMicrosoft案内を確認し、原因なしに何度も再実行しません。

component sourceを修復

DISM.exe /Online /Cleanup-Image /RestoreHealth

Windows Updateをsourceとして利用する場合があり、network/source errorを記録します。

protected fileをscan・修復

sfc /scannow

管理者Command Promptで実行し、verification 100%まで待ちます。

変更せずverifyのみ

sfc /verifyonly

integrity violationの有無だけを調べ、修復は行いません。

特定fileをscan

sfc /scanfile=C:\Windows\System32\kernel32.dll

対象pathを公式helpで確認し、random DLLをinternetから置換しません。

SFC記録を抽出

findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log > "%USERPROFILE%\Desktop\sfcdetails.txt"

CBS.log全体でなくSFC関連行をcopyし、user pathを含む共有fileをreviewします。

オンラインWindowsでは管理者端末でDISM /Online /Cleanup-Image /RestoreHealthを完了させ、その後sfc /scannowを実行するのがMicrosoftの案内です。途中で閉じず100%完了を待ち、表示された結果をそのまま保存します。オフラインSFCでは/offbootdirと/offwindirを実際のWindowsパーティションへ指定し、推測したC:を使いません。CBS.logから必要な行だけを抽出して修復対象を確認します。

scan・verify・offline optionと四種類のresultを読む

「did not find any integrity violations」はprotected system fileに問題を検出しなかった結果です。「found corrupt files and successfully repaired」は修復後のrestartと再確認が必要です。「found corrupt files but was unable to fix some」はCBS.logとDISM sourceを確認します。「could not perform requested operation」はscan自体が完了していません。

  • MicrosoftはDISM RestoreHealthをSFCより先に行う手順を案内している
  • /scannowはすべてのprotected system fileをscanし可能なら修復する
  • /verifyonlyは修復せずintegrityを検証する
  • SFC詳細は%windir%\Logs\CBS\CBS.logへ記録される
  • SFCはthird-party appやuser documentを修復するtoolではない

DISM RestoreHealthはWindowsイメージのcomponent storeを修復し、SFCはその健全なsourceを利用してWindows Resource Protection対象ファイルを検査・置換します。SFC成功はユーザーファイル、すべてのdriver、第三者アプリ、ディスク表面の健全性を保証しません。「破損を検出し修復」「破損を検出したが一部修復不能」「整合性違反なし」を区別して次の判断へ進みます。

途中終了や手動置換を避ける

CBS.logの一部を根拠にsystem fileを手動delete・download置換しません。DISMの/Sourceを使う場合は同じversion/edition/buildに合うtrusted sourceを確認します。SFC実行中にpowerを切らず、laptopをACへ接続します。業務serverではmaintenance windowとbackupを確保します。

  • DISMを行わずSFCだけ繰り返す
  • verification途中でwindowを閉じる
  • 修復成功messageだけで症状が直ったとする
  • untrusted siteからDLLをdownloadして置換する
  • offline Windowsのdrive letterを通常起動時と同じだと思う

SFC/DISM中に強制終了せず、ノートPCはAC電源へ接続します。古いinstall.wimをsourceへ指定するとbuild不一致で失敗するため、組織の正規mediaと同じedition・language・buildを使います。CBS.logを丸ごと公開するとユーザー名やパスを含む場合があります。修復前に重要データとBitLocker回復キーを保全し、ディスクI/Oエラーがある場合は先にhardware診断を計画します。

再起動後にSFCと元症状を再検査する

restart後にsfc /verifyonlyまたは必要な再scanを行い、元症状、Windows Update、Event Viewerを確認します。修復fileがあった場合はCBS.logのtimestampと対象を記録し、application crashやExplorer動作等の実症状が再現しないことを確認します。

  1. DISMとSFCを正しい順序で完了した
  2. SFCの最終messageを四分類で記録した
  3. 修復後に元症状とWindows Updateを再testした
  4. 未修復fileがあればCBS.logとbuildを添えてescalateできる

修復後に再起動し、再度sfc /verifyonlyまたは/scannowで整合性違反がないか確認します。元の症状を同じ操作で再現し、Windows Update、主要アプリ、イベントログを確認します。CBS.logに同じファイルの修復不能が残る場合は、ファイルを手動置換せず、DISM source、更新状態、ストレージエラーを見直します。

修復結果に応じて次の手段を判断する

integrity violationなしならSFCを止め、driver、app、profile、hardware等の別仮説へ移ります。修復不能が残る場合はmatching repair source、in-place repair、support依頼を検討しますが、backupとBitLocker keyなしにresetへ進みません。

整合性違反なしで症状が残るなら、SFCを反復するのではなくアプリ、driver、ユーザープロファイル、ハードウェアへ調査を移します。DISM/SFCで修復不能が続く場合は、ログ、OS build、source、エラーコードを添えてin-place repairを計画します。リセットや再インストールはバックアップ復元とアプリ再導入を検証した後の選択です。

公式情報・参考資料

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次