Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...
OSzone.net Microsoft Windows 7 Проблемы и решения Особенности работы средства проверки системных файлов (SFC.exe) в среде Windows RE RSS

Особенности работы средства проверки системных файлов (SFC.exe) в среде Windows RE

Текущий рейтинг: 4.19 (проголосовало 217)
 Посетителей: 125365 | Просмотров: 171861 (сегодня 0)  Шрифт: - +

Средство проверки системных файлов позволяет проверить версии всех защищенных файлов. Если при проверке системных файлов обнаруживается, что защищенный файл был изменен, то он заменяется его исходной версией.

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, за помощь в подготовке этой статьи.

Автор: Аркадий Пилипенко aka okshef  •  Иcточник: www.oszone.net  •  Опубликована: 08.05.2010
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER


Оценить статью:
Вверх
Комментарии посетителей
15.05.2012/15:54  spring_thunder

Всё сделал по инструкции, но получил сообщение "система защиты файлов windows не может выполнить запрошенную операцию"
14.07.2014/11:54  sluge

Можно еще определить букву диска с виндой в RE запустив эксплорер RE
28.01.2015/02:23  Ариша

Последняя команда работает на "ура"! Статья - замечательная.
23.06.2015/10:44  Kinkf

Хотелось бы дополнить, а то долго искал лог..
"Если вы загрузились в среду восстановления запуска Windows 7, то выполнение команды для проверки целостности файлов операционной системы не будет создавать лог файл. Это происходит потому, что не установлена системная переменная для лог файла. Ее необходимо определить.
set WINDOWS_TRACING_LOGFILE=D:\CBS.log"
24.06.2015/17:31  Vadikan

@Kinkf, добавил, спасибо
26.08.2015/19:02  Germanik5

А на XP это не работает?
Комментарии отключены. С вопросами по статьям обращайтесь в форум.