なんとなく使用しているコマンド『sfc /scannow』について調べなおす。
説明
Scans and verifies the integrity of all protected system files and replaces incorrect versions with correct versions. If this command discovers that a protected file has been overwritten, it retrieves the correct version of the file from the systemroot folder, and then replaces the incorrect file.
— sfc
権限
- Administrators group
sfcコマンドをPowerShell上で実行
PS C:\> sfc
Microsoft (R) Windows (R) Resource Checker Version 6.0
Copyright (C) Microsoft Corporation. All rights reserved.
すべての保護されたシステム ファイルの整合性をスキャンして、間違ったバージョンを
正しい Microsoft バージョンに置換します。
SFC [/SCANNOW] [/VERIFYONLY] [/SCANFILE=<ファイル>] [/VERIFYFILE=<ファイル>]
[/OFFWINDIR=<オフライン Windows ディレクトリ> /OFFBOOTDIR=<オフライン起動ディレクトリ> [/OFFLOGFILE=<ログ ファイルのパス>]]
/SCANNOW すべての保護されたシステム ファイルの整合性をスキャンして、
可能な場合には問題のあるファイルを修復します。
/VERIFYONLY すべての保護されたシステム ファイルの整合性をスキャンします。
修復操作は実行されません。
/SCANFILE 参照されたファイルの整合性をスキャンして、問題が識別された
場合はファイルを修復します。完全パス <ファイル> を指定します
/VERIFYFILE <ファイル> で指定された完全パスを持つファイルの整合性を確認
します。修復操作は実行されません。
/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
実行ファイルの場所
- %windir%.exe
ログの場所
- %windir%.log
結論
sfc /scannowを実行すると、%windir%.exeが実行される。
scannowオプションですべての保護されたシステムファイルの整合性をスキャンし、可能であれば、問題のあるファイルを修復する。