Несколько слов о восстановлении поврежденных системных файлов в Windows 7

Продолжая тему утилиты sfc.exe (которой, к слову сказать была посвящена самая ранняя заметка моего блога и в принципе была начата не с того конца :) ) я, как и обещал, в этой небольшой статье хочу рассказать об аспектах применения этого средства более развернуто.Вы часто ставите/удаляете программы, пользуетесь различными “твикерами”, “оптимизаторами”, “чистильщиками” системы и другими безусловно “архиполезнейшими” программами подобного рода? Тогда вполне закономерно, что по-прошествии некоторого времени Windows станет работать некорректно, а может и вовсе отказаться это делать. Проблемы в работе могут сопровождаться появлением сообщений об ошибках, повреждении системных файлов, либо вообще об их отсутствии. В таких случаях я считаю целесообразным начать мероприятия по оживлению операционной системы с выполнения ее проверки на предмет наличия поврежденных  системных файлов и если таковые будут обнаружены (а вполне возможно что и совсем отсутствовать), Windows попытается их восстановить автоматически. Если автоматически не удастся, то попробуем это сделать самостоятельно, вручную (если поврежденный/отсутствующий системный файл известен). Итак, способ 1, автоматически.

Способ 1. Средство проверки целостности системных файлов (sfc.exe).

Данное средство широко известно, поэтому описывать его в подробностях не вижу смысла, информацию достаточно легко найти в интернете. Если есть желание, можно почитать об этом более подробно хотя бы здесь. Я же просто опишу алгоритм действий:

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

sfc /scannow

Утилита sfc.exe запустится, и начнет свою работу.

Рис. 1

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

Рис. 2

или, наконец, укажет, что средству проверки удалось обнаружить поврежденные системные файлы, но не удалось их восстановить. Как в первом, так и третьем случае результат не самый ожидаемый, но. В последнем случае есть смысл прибегнуть к еще одной команде с применением средства sfc.exe, но до начала повторной проверки потребуется дополнительно вставить в привод установочный диск с экземпляром Windows, аналогичным установленной версии системы (разрядность, выпуск). Хотя и не обязательно, я думаю.

Впрочем, я забежал вперед.

Если sfc.exe обнаружит поврежденные системные файлы, но не восстановит их, можно проявить любознательность и поинтересоваться, – а какие же именно файлы могли нарушиться?

Программа sfc.exe записывает сведения о каждой операции проверки и каждой операции восстановления в файл CBS.log. Файл CBS.log находится в папке %windir%LogsCBS. Однако попытавшись изучить его содержимое обычным способом (открыть файл), вы обнаружите следующую ошибку:

Рис. 3

Не спешите удивляться. Для этих случаев в Windows предусмотрена команда:

%windir%logscbscbs.log/c: “[SR]” findstr > sfcdetails.txt

которая также выполняется в командной строке с правами администратора. Выполнив эту команду, вы сохраните файл лога с расширением *txt на своем Рабочем столе и сможете его прочитать как обычный текстовый документ. Что это даст? Вы узнаете, какие именно системные файлы утилита sfc.exe сочла поврежденными, но не смогла их исправить. Более подробно об этом читайте статью: «Анализ записи файла журнала, программы проверки ресурсов Microsoft Windows (SFC.exe) в Windows Vista» (применимо и к Windows 7).

Однако вернемся ко-второму этапу, который выполняется также в cmd с правами администратора, для реанимации файлов, которые ранее не могли быть восстановлены в ходе первой попытки.

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

Введите первую команду

takeown /f E:windowssystem32jscript.dll

Введите вторую команду, чтобы предоставить административный доступ к файлу

icacls E:windowssystem32jscript.dll /grant administrators:F

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

copy E:tempjscript.dll E:windowssystem32jscript.dll

где E – буква вашего дисковода с диском Windows.

Оригинал статьи и ее перевод

Эта информация (я имею ввиду примеры команд) представлена мною в теоретическом плане (что я обычно тут не делаю), поскольку поводов для ее проверки на практике у меня лично еще не возникало. Проверьте сами, и если не трудно, сообщите о результатах.

Способ 2. Извлечение файлов Windows 7 из установочного DVD и замена ими поврежденных системных файлов.

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

Однако есть и альтернативный способ (для продвинутых) – извлечение файлов с диска Windows 7 с помощью подключенного образа дистрибутива Windows (Image ) в DISM (встроенная в Windows 7 утилита командной строки, позволяющая подключать образы WIM и управлять ими).

1) Вставьте установочный диск Windows 7 в привод.

2) Откройте папку sources и скопируйте из нее файл install.wim на любой несистемный диск или раздел диска – назовем его E.

Важно: в качестве папки для подключения образа install.wim нельзя использовать корень системного диска (с Windows), так как install.wim содержит системные папки, такие как  Windows, Program Files, Program Data и пр.

3) На диске E создайте папку с именем Image. В эту папку будет подключен образ install.wim.

4) Нажмите Win+R и выполните команду:

dism /Mount-Wim /WimFile:E:install.wim /name:”Windows 7 Ultimate” /MountDir:E:Image

где:

dism – утилита командной строки.

Параметр /Mount-Wim отвечает за подключение файла Wim.

Параметр /WimFile указывает расположение и имя файла Wim, который нужно подключить.

Параметр /name указывает название выпуска Windows 7, для монтирования в образ.

Параметр /MountDir указывает папку, в которую будет смонтирован образ Wim.

5) Запуститься процесс подключения образа.

6) Откройте папку E:Image, найдите в ней нужный системный файл и скопируйте его в любое место на жестком диске.

После копирования нужных файлов образ можно отключить.

Для отключения образа в DISM выполните команду

dism /Unmount-Wim /MountDir:E:Image /discard

где:

Параметр /Unmount-Wim отключает образ.

Параметр /MountDir: указывает папку, в которую смонтирован образ, который нужно отключить.

Параметр /discard отменяет все внесенные в образ изменения.

Далее за ненадобностью отключенный образ install.wim вместе с папкой Image в корне диска (раздела) E: можно удалить.

Если с этим делом возникнут осложнения (удаление клавишей Del будет невозможным) загрузитесь например в ERD Commander, и выбрав букву диска своей операционной системы нажмите Да (Yes). Далее в окне выбора не помечая никакую систему нажмите Далее (Next), а затем войдите в MDART (Microsoft Diagnostics and Recovery Toolset) и найдите папку image,   которую нужно удалить.

Используемые источники : Microsoft и просторы WWW :)

Добавить комментарий

Fill in your details below or click an icon to log in:

Логотип WordPress.com

You are commenting using your WordPress.com account. Log Out / Изменить )

Фотография Twitter

You are commenting using your Twitter account. Log Out / Изменить )

Фотография Facebook

You are commenting using your Facebook account. Log Out / Изменить )

Connecting to %s