Windows 8 восстановление файлов. Проверка и восстановление целостности системных файлов Windows

Бывают случаи когда случайно изменили или удалили важные файлы. В Windows 7 в этом случае можно просто зайти в свойства папки и открыть вкладку ″Предыдущие версии″, выбрать версию от нужного числа и восстановить удаленные данные.
Самое интересное, что предыдущие версии в Windows 7 не требуют специальной настройки и для системного диска включены по умолчанию, что дает шанс восстановить удаленные документы даже при отсутствии резервных копий.


В Windows 8 в свойствах дисков, папок и файлов стало на одну вкладку меньше. Обратите внимание, что пропали именно предыдущие версии.
В Windows 7 наличие предыдущих версий обеспечивалось функцией ″Защита системы″. Есть эта функция и в Windows 8.



если в Windows 7 защита системы предлагала на выбор сохранить состояние системы, предыдущие версии файлов, или и то и другое


То в Windows 8 можно лишь включить или выключить ее. О предыдущих версиях ни слова.


Защита системы предназначена для создания точек восстановления, которые используются для отката системных параметров. Личные файлы (за некоторым исключением) при этом не восстанавливаются. Тем не менее, точки восстановления и предыдущие версии файлов хранятся в одном месте – теневых копиях тома.
Механизм восстановления системы попросту делает снимок тома в определенное время и сохраняет его в теневой копии. Именно дисковое пространство, выделяемое для теневых копий, устанавливается ползунком в параметрах защиты системы.
Состояние файла записывается на момент создания точки восстановления. Если между точками он был изменен, в теневой копии сохраняется его версия. Если же в период, охваченный точками восстановления, файл оставался неизменным, у него не будет предыдущих версий.
Однако, если в Windows 8 точки восстановления создаются как и прежде, то вместе с ними должны сохраняться и предыдущие версии файлов. Просто доступ к ним оказался закрыт. Попробуем его вернуть.
Открываем командную строку от имени администратора и вводим команду:

Эта команда выведет список всех теневых копий на всех томах в системе. Для каждой копии будет указана буква диска, кроме того, каждая теневая копия соответствует по дате одной из точек восстановления, так что сориентироваться в них довольно просто.
Выбираем нужную дату и копируем идентификатор тома теневой копии. Вставляем его во вторую команду:
mklink /d С:\shadow \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\
Эта команда создаст в корне диска С символическую ссылку shadow, которая указывает на теневую копию.Не забудьте добавить обратный слэш в конце, иначе папку не удастся открыть.


Переходим по ссылке и видим знакомые файлы и папки – это и есть предыдущие версии.


Что делать, если вы случайно внесли изменения или удалили важные файлы? В Windows 7 в этом случае можно просто зайти в свойства папки и открыть вкладку ″Предыдущие версии″, выбрать версию от нужного числа и восстановить удаленные данные.

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

Так было в Windows 7. А в Windows 8 в свойствах дисков, папок и файлов стало на одну вкладку меньше. Обратите внимание, что пропали именно предыдущие версии.

Посмотрим, в чем дело. В семерке наличие предыдущих версий обеспечивалось функцией
″Защита системы″. Есть эта функция и в Windows 8.


Однако, если в Windows 7 защита системы предлагала на выбор сохранить состояние системы, предыдущие версии файлов, или и то и другое


То в Windows 8 можно лишь включить или выключить ее. О предыдущих версиях ни слова.


В первую очередь защита системы предназначена для создания точек восстановления, которые используются для отката системных параметров. Личные файлы (за некоторым исключением) при этом не восстанавливаются. Тем не менее, точки восстановления и предыдущие версии файлов хранятся в одном месте – теневых копиях тома.

Механизм восстановления системы попросту делает снимок тома в определенное время и сохраняет его в теневой копии. Именно дисковое пространство, выделяемое для теневых копий, устанавливается ползунком в параметрах защиты системы.

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

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

Открываем командную строку от имени администратора и вводим команду:

vssadmin list shadows

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

Выбираем нужную дату и копируем идентификатор тома теневой копии. Вставляем его во вторую команду:

mklink /d C:\shadow \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\

Эта команда создаст в корне диска С символическую ссылку shadow , которая указывает на теневую копию.Не забудьте добавить обратный слэш в конце, иначе папку не удастся открыть.



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

Утилита SFC.EXE (S ystem F iles C hecker) существует во всех версиях Windows, начиная с Windows 2000, и предназначена для проверки состояния и восстановления системных файлов. Механизмы защиты важных файлов в разных версиях Windows реализованы по-разному, но все они учитывают тот факт, что какие-либо системные файлы (обычно исполняемые файлы.exe, файлы библиотек.dll, файлы драйверов) могут быть изменены сторонним программным обеспечением, и должен быть механизм, позволяющий проверить их целостность и отменить обнаруженные изменения.

Формат командной строки:

SFC

Параметры командной строки:

/SCANNOW - Проверка целостности всех защищенных системных файлов и восстановление, по возможности, проблемных файлов.

/VERIFYONLY - Проверка целостности всех защищенных системных файлов. Восстановление файлов не выполняется.

/SCANFILE - Проверка целостности указанного файла и его восстановление при обнаружении проблем. В параметре файл следует указать полный путь

/VERIFYFILE - Проверка целостности файла, полный путь к которому указан в параметре файл . Восстановление файлов не выполняется.

/OFFBOOTDIR - Расположение автономного каталога загрузки для автономного восстановления

/OFFWINDIR - Расположение автономного каталога Windows для автономного восстановления

Примеры использования команды SFC:

sfc /? - отобразить подсказку по использованию.

sfc /scannow - выполнить проверку целостности системных файлов и восстановить поврежденные. Результаты работы записываются в журнал утилиты \Windows\Logs\CBS\CBS.log.

sfc /verifyonly - выполнить только сканирование системных файлов без исправления.

sfc /VERIFYFILE=c:\windows\system32\cmd.exe - сканировать только файл cmd.exe

sfc /SCANFILE=d:\windows\system32\kernel32.dll /OFFBOOTDIR=d:\ /OFFWINDIR=d:\windows - сканировать только файл kernel32.dll из состава операционной системы, установленной на логическом диске D: . При выполнении сканирования файлов автономной Windows, ведение файла журнала в настоящее время не поддерживается.

В процессе выполнения программы, на экране отображается информация о ходе сканирования и результаты работы. Пример вывода при использовании сканирования с исправлением командой sfc /scannow :

Начато сканирование системы. Этот процесс может занять некоторое время.

Начало стадии проверки при сканировании системы.
Проверка 100% завершена.

Программа защиты ресурсов Windows обнаружила поврежденные файлы и успешно их восстановила. Подробные сведения см. в файле CBS.Log, который находится по следующему пути: windir\Logs\CBS\CBS.log. Например, C:\Windows\Logs\CBS\CBS.log. Обратите внимание, что ведение журнала в настоящее время не поддерживается для автономного обслуживания.

Начиная с Windows Vista, в качестве средства по обслуживанию компонент операционной системы используется Component-Based Servicing (CBS) - специальный набор программных средств для обеспечения ее целостности. CBS является частью Component Servicing Infrastructure (CSI) , обеспечивающей необходимые изменения текущего состояния Windows, например, при обновлении системы (Windows Update), установке или удалении программ и компонент, обновлении драйверов устройств и т.п. Фактически, CBS предоставляет программный интерфейс (API) инсталляторам для корректного изменения текущего состояния системы. Система обслуживания ОС Windows фиксирует множество событий, связанных с отслеживанием этого состояния, в специальном файле C:\Windows\Logs\CBS\CBS.log

Файл журнала CBS.log, кроме всего прочего, содержит и подробные сведения о ходе выполнения сканирования утилиты sfc.exe и его результатах. Для каждого сканируемого файла записывается дата, время и дополнительные сведения о проверке. Через каждые 100 проверок отображается итоговая информация, сопровождаемая тегом , что позволяет выделить из довольно объемного текста только те записи, которые содержат данный признак, с использованием команды поиска строки в текстовом файле findstr :

findstr /c:"" %windir%\logs\cbs\cbs.log >sfcdetails.txt - найти строки, содержащие и вывести их в файл sfcdetails.txt текущего каталога.

Пример содержимого файла журнала, содержащего только строки с тегом :

00004b78 Verifying 100 (0x0000000000000064) components
00004b79 Beginning Verify and Repair transaction
00004be0 Verify complete
00004be1 Verifying 100 (0x0000000000000064) components
00004be2 Beginning Verify and Repair transaction
00004c30 Repairing corrupted file "\??\C:\WINDOWS\System32\cmd.exe" from store
00004c5a Verify complete
. . . .
00005594 Committing transaction
00005599 Verify and Repair Transaction completed. All files and registry keys listed
in this transaction have been successfully repaired

В данном примере, проверено 100 файлов, в которых не обнаружено никаких отклонений, а в следующей порции был обнаружен и успешно исправлен файл msprivs.dll.mui . Последние 2 строки сообщают о завершении работы, и о том, что все файлы и ключи реестра были успешно восстановлены.

В тех случаях, когда не удалось восстановить поврежденный файл, в журнале будет присутствовать строка, содержащая:

Cannot repair member file Имя Файла Детальная информация о файле

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

Для поиска информации в тексте журналов cbs.log удобно фильтровать записи по характерным признакам событий, зафиксированных в журнале:

findstr /c:"Cannot repair" %windir%\logs\cbs\cbs.log >sfcnotrepair.txt sfcnotrepair.txt только те строки журнала cbs.log , которые содержат строку Cannot repair , т.е. на выходе мы получим перечень системных файлов, которые не удалось восстановить.

findstr /c:"succsessfylly repaired" %windir%\logs\cbs\cbs.log >sfcnotrepair.txt - записывать в текстовый файл sfcnotrepair.txt только те строки журнала cbs.log , которые содержат строку succsessfylly repaired , т.е. на выходе мы получим перечень системных файлов, которые удалось восстановить.

В каталоге \Windows\Logs\CBS\ кроме текущего файла журнала cbs.log могут храниться устаревшие копии журналов в виде сжатых файлов с именем CbsPersist_ГГГГММДДnnnnnn.cab , которые, при необходимости можно распаковать для дальнейшего углубленного анализа.

В среде Windows 8-10 для восстановления системных компонент Windows, возможно использование утилиты Dism.exe , поддерживающей (чего не было в Windows Vista/Windows 7) параметр RestoreHealth :

dism /Online /Cleanup-Image /RestoreHealth - для восстановления системных файлов текущей ОС Windows.

Для Windows 7 параметр /RestoreHealth неприменим и функции восстановления объединены с функциями сканирования, задаваемыми параметром /ScanHealth :

dism /Online /Cleanup-Image /ScanHealth - для восстановления системных файлов текущей ОС Windows 7.

Здравствуйте читатели блога компании КомСервис (г. Набережные Челны)!

Восстановление системных файлов Windows 7 или Windows 8/8.1 интереснейшая тема. Особенно если операционная система начинает глючить, а образа восстановления у нас нет и мы забыли включить защиту системы чтобы создавались . В этом случае мы не сможем , не сможем так же откатить Windows на созданную точку восстановления и нам тоже лень, так как на это уйдет целый день. И как раз здесь у нас есть еще один шанс вернуть Windows в нормальное состояние - попробовать . В этой статье постараюсь полностью раскрыть тему, чтобы можно было в любой ситуации реанимировать наш .

Структура статьи

1. Восстановление системных файлов в загруженной системе

жмем Enter и ждем завершения сканирования


На виртуальной машине, откуда был взят выше, был , поэтому я не удивился, что были найдены и восстановлены системные файлы.

3. Как узнать букву диска с установленной Windows

Если у вас получилось с помощью клавиши F8 вызвать окошко «Дополнительные варианты загрузки» и выбрать «Устранение неполадок компьютера», то нам необходимо узнать букву диска куда установлена Windows которую присвоила среда восстановления. Это можно сделать двумя способами

1. Вызвать блокнот командой

В блокноте раскрыть меню Файл и выбрать Открыть…

Слева нажать Компьютер и перед вами будут диски с буквами


Можно зайти на диск и убедиться что и где.

2. Используем утилиту DISKPART

В командной строке вводим

diskpart - вызываем утилиту для работы с дисками

list disk - просматриваем список дисков

select disk - выбираю нужный мне

detail disk - вызываю сведения об этом диске


4. Восстановление системных файлов вручную

Если с помощью утилиты sfc не получилось восстановить битые файлы, нужно попробовать сделать это вручную. В этом случае нужно дополнительно запустить команду

findstr /c:»» %windir%\Logs\CBS\CBS.log >»%userprofile%\Desktop\sfcdetails.txt»

и тщательно изучить файл sfcdetails.txt на рабочем столе.

Должно быть что-то похожее как на рисунке ниже

После того как имя поврежденного файла известно (Accessibility.dll), я бы поискал такой же в дистрибутиве и заменил. При этом естественно нужно будет получить . А перед тем как загружаться в Windows и получать права на файлы можно попробовать скопировать нужные файлы с помощью блокнота запущенного из среды восстановления (как это сделать было написано выше).

Заключение

Друзья! Все написанное выше про восстановление системных файлов в Windows 7 справедливо и для . И, я бы еще к Windows 8 применил бы такую команду


Сам эту команду не пробовал, но если система не загружается, то хуже точно не будет.