Средство проверки системных файлов позволяет проверить версии всех защищенных файлов. Если при проверке системных файлов обнаруживается, что защищенный файл был изменен, то он заменяется его исходной версией.
SFC в среде Windows
Для выполнения подобной проверки в Windows достаточно запустить командную строку с правами администратора и выполнить:
sfc /scannow
Ниже приводится таблица с синтаксисом утилиты и с пояснением значений используемых ключей.
Таблица 1 - Синтаксис утилиты sfc.exe
SFC [/SCANNOW] [/VERIFYONLY] [/SCANFILE=<файл>] [/VERIFYFILE=<файл>] [/OFFWINDIR=<автономная папка Windows> /OFFBOOTDIR=<автономная папка загрузки>] |
/SCANNOW | Проверка целостности всех защищенных системных файлов и восстановление, по возможности, проблемных файлов. |
/VERIFYONLY | Проверка целостности всех защищенных системных файлов. Восстановление файлов не выполняется. |
/SCANFILE | Проверка целостности указанного файла и его восстановление при обнаружении проблем. В параметре <файл> следует указать полный путь |
/VERIFYFILE | Проверка целостности файла, полный путь к которому указан в параметре <файл>. Восстановление файлов не выполняется. |
/OFFBOOTDIR | Расположение автономного каталога загрузки для автономного восстановления |
/OFFWINDIR | Расположение автономного каталога Windows для автономного восстановления |
например: |
sfc /SCANNOW |
sfc /VERIFYFILE=c:\windows\system32\kernel32.dll |
sfc /SCANFILE=d:\windows\system32\kernel32.dll /OFFBOOTDIR=d:\ /OFFWINDIR=d:\windows |
sfc /VERIFYONLY |
SFC в среде Windows RE
Взяться за написание статьи подвигло непонятное поведение утилиты sfc. exe в среде Windows RE при загрузке с установочного диска или диска восстановления, а именно предложение перезагрузить систему и выполнить проверку еще раз.
Увеличить рисунок
Рисунок 1 – Запуск утилиты в среде восстановления без ключей и требование перезагрузки
Подобное поведение имеет вполне логичное объяснение: для среды Windows RE раздел диска, с находящейся на ней операционной системой, является автономным каталогом. Следовательно, запуск утилиты с ключами /OFFBOOTDIR и /OFFWINDIR обязателен. Дальше выясним значения этих ключей.
Расположение и буквы разделов в проводнике Windows или в оснастке управления дисками могут отличаться от букв, присвоенных разделам в среде восстановления. Обратите внимание, что на рисунках ниже раздел с системой имеет букву С.
Увеличить рисунок
Рисунок 2 – Раздел с системой в проводнике Windows
Увеличить рисунок
Рисунок 3 – Раздел с системой в оснастке "Управление дисками"
Вадим Стеркин предложил замечательный способ определения букв разделов в среде восстановления. Есть и другой - воспользоваться утилитой DISKPART. Загрузитесь в среду восстановления с установочного диска Windows, войдите в командную строку и выполните последовательно:
DISKPART
List disk
Sel disk 0
Detail disk
Комментарий к командам:
- Запуск DISKPART
- Вывод списка жестких дисков, установленных в компьютере с присвоенными им номерами. Нужный номер будет использован в следующей команде. Если диск один, то выполнять команду не нужно.
- Выделение для работы (передача фокуса) жесткому диску с разделом, на котором установлена система.
- Получение информации об имеющихся разделах на выбранном диске с указанием присвоенных им букв.
Увеличить рисунок
Рисунок 4 – Определение буквы системного раздела и выполнение проверки в среде Windows RE
Буква того раздела, на котором установлена Windows 7, нужна будет на следующем шаге. В нашем случае это буква Е (рис. 4).
Обязательно завершите работу с DISKPART:
EXIT
Наконец, выполним проверку целостности системных файлов:
set WINDOWS_TRACING_LOGFILE=X:\CBS.log
sfc /scannow /OFFBOOTDIR=E:\ /OFFWINDIR=E:\windows
Первая команда задает расположение для файла журнала утилиты, который не создается автоматически в среде восстановления, а вторая - запускает сканирование. В значении обоих ключей второй команды используется одна и та же буква
Будьте внимательны! Если в синтаксисе команды или в определении буквы системного раздела будут допущены ошибки, проверка не сможет быть выполнена.
Большое спасибо моему коллеге Vancouver, модератору форума Windows 7, за помощь в подготовке этой статьи.