Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Восстановление реестра, при отсутствии резервных копий



Иметь актуальные резервные копии реестра - это практически, всегда выход из ситуации когда работа Windows завершается критической ошибкой или, например, при загрузке системы, вы видите сообщение о нарушении целостности куста реестра SYSTEM:

Windows XP could not start because the following file is missing or corrupt: \WINDOWS\SYSTEM32\CONFIG\SYSTEM

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

Возможно, поможет восстановить систему:

· - использование резервных файлов реестра, автоматически созданных каким-либо программным обеспечением. Откройте папку \Windows\system32\config и проверьте, нет ли в ней файла system.bak (возможно другое расширение, отличное от .alt и .log). Поврежденный файл system переименуйте или сохраните в каком-либо ином месте). Найденный файл- копию system. . . переименуйте в system и попробуйте загрузиться.

· - использование, сохраненного после начальной установки, файла (файлов) из каталога \WINDOWS\REPAIR. Такой вариант, не самый оптимальный, на крайний случай. После завершения установки Windows, копии файлов реестра сохраняются в упомянутом каталоге и файл system будет соответствовать этому состоянию ОС.

· - использование функции восстановления редактора реестра Windows XP при загрузке поврежденного куста.
Редактор реестра позволяет открывать файлы не только "своего" реестра, но и файлы, являющиеся реестром другой операционной системы. В Windows 2000 для загрузки файла (куста) реестра сохраненного на диске использовался редактор regedt32.exe, в Windows XP функции regedt32.exe и regedit.exe совмещены. И, дополнительно, появилась возможность восстановления поврежденного куста при загрузке в редакторе реестра. Для этого

- Загрузитесь в другой Windows XP (Windows Live, Winternals ERD Commander, установленной в другой каталог WinXP, на другом компьютер с возможностью загрузки проблемного куста реестра по сети или с внешнего носителя).
- Запустите редактор реестра.
- В левой части дерева реестра выберите один из разделов:
HKEY_USERS или HKEY_LOCAL_MACHINE.
- В меню Реестр (Registry)(В других версиях редактора реестра этот пункт меню может называться "Файл") выберите команду "Загрузить куст(Load Hive)".
- Найдите испорченный куст ( в нашем случае - system).
- Нажмите кнопку Открыть.
- В поле Раздел введите имя, которое будет присвоено загружаемому кусту. Например BadSystem.
После нажатия OKпоявится сообщение:

В левом окне редактора реестра выберите подключенный куст (BadSystem) и выполните команду "Выгрузить куст". Поврежденный system будет восстановлен. При чем, редактор реестра Windows XP вполне успешно восстановит реестр и более старой ОС Windows 2000. Даже если содержимое восстановленного таким образом файла будет не совсем актуальным, система, с большой долей вероятности, останется работоспособной. Возможно, придется переустановить некоторые программные продукты, или обновить драйверы.

 

 


Мониторинг реестра. Какие программы обращаются к реестру.

Одной из лучших программ для мониторинга реестра, с моей точки зрения, является RegMon Марка Руссиновича - маленькая и функциональная утилита, не требующая инсталляции и работающая в операционных системах Windows NT, 2000, XP, 2003, Windows 95, 98, Me и 64-разрядных версиях Windows для архитектуры x64. Скачать RegMon.exe v7.04, 700кб

В настоящее время, после появления Windows Vista/ Windows 7, утилита Regmon заменена утилитой Process Monitor. Работе с данными программными средствами мониторинга реестра посвящены отдельные статьи, ссылки на которые, имеются на главной странице сайта.
Не смотря на появление Process Monitor, утилита Regmon по прежнему популярна в среде системных администраторов и опытных пользователей Windows.
Regmon позволяет в реальном масштабе времени отслеживать, какие приложения обращаются к реестру, в какие разделы, какую информацию они читают или пишут. Информация выдается в удобном виде, который можно настроить под свои нужды - исключить из результатов мониторинга данные о работе с реестром неинтересных вам приложений, подчеркнуть выбранным цветом то, что считаете особо важным, включить в результаты мониторинга только выбранные процессы. Программа позволяет быстро и легко выполнить запуск редактора реестра с переходом к указанному разделу или параметру. Имеется возможность выполнять мониторинг в процессе загрузки операционной системы с записью результатов в специальный журнал %SystemRoot\Regmon.log.
После старта RegMon, можно определить критерии фильтрации результатов мониторинга реестра:

По умолчанию протоколируются все события обращения к реестру. Фильтр задается значениями полей:

Include - Если * - выполнять мониторинг для всех процессов. Имена процессов разделяются символом ";". Например - FAR.EXE;Winlogon.exe - будут фиксироваться обращения к реестру только для процессов far.exe и winlogon.exe.
Exclude - какие процессы исключить из результатов мониторинга.
Highlight - какие процессы выделить выбранным цветом (по умолчанию - красным).

Значения полей фильтра запоминаются и выдаются при следующем старте Regmon. При нажатии кнопки Defaults выполняется сброс фильтра в установки по умолчанию - фиксировать все обращения к реестру. Значения полей фильтра удобнее формировать не при старте RegMon, а в процессе мониторинга, используя меню правой кнопки мыши для выбранного процесса

- Include process- включить данный процесс в мониторинг
- Exclude process - исключить данный процесс из мониторинга.

После старта Regmon с фильтрами по умолчанию, вы увидите большое количество записей об обращении к реестру и, используя Include/Exclude process, можете настроить вывод результатов только нужного вам процесса (процессов).

Назначение колонок:

# - номер по порядку
Time - Время. Формат времени можно изменить с помощью вкладки Options
Process - имя процесса:идентификатор процесса (PID)
Request - тип запроса. OpenKey - открытие ключа (подраздела) реестра, CloseKey - закрытие, CreateKey - создание, QueryKey - проверка наличия ключа и получение количества вложенных ключей (подразделов, subkeys), EnumerateKey - получить список имен подразделов указанного раздела, QueryValue - прочитать значение параметра, SetValue - записать значение.
Path - путь в реестре.
Result - результат выполнения операции. SUCCESS - успешно, NOT FOUND - ключ (параметр) не найден. ACCESS DENIED - доступ запрещен (недостаточно прав). Иногда бывает BUFFER OVERFLOW - переполнение буфера - результат операции не помещается в буфере программы.
Other - дополнительная информация, результат выполненного запроса.

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

При работе с программой можно использовать меню File, Edit, Options или сочетание клавиш:

CTRL-S - сохранить результаты
CTRL-P - свойства выбранного процесса
CTRL-E - включить/выключить мониторинг
CTRL-F - поиск по контексту
CTRL-C - копировать выбранную строку в буфер обмена
CTRL-T - изменить формат времени
CTRL-X- очистить окно результатов мониторинга
CTRL-J - запустить редактор реестра и открыть ветвь указанную в колонке Path. Это же действие выполняется при двойном щелчке левой кнопки мыши. Очень полезная возможность, позволяет значительно экономить время.
CTRL-A - включить/выключить автоматическую прокрутку
CTRL-H - позволяет задать число строк результатов мониторинга

Еще одна очень полезная возможность - получить журнал обращений к реестру в процессе загрузки операционной системы.
Для этого выбираете меню Options-Log Boot. Программа выдаст сообщение, что Regmon сконфигурирован для записи обращений к реестру в файл журнала в ходе следующей перезагрузки ОС:

После перезагрузки ОС, в корневом каталоге системы (C:\Windows) будет находиться файл Regmon.log с журналом результатов мониторинга. Режим записи в журнал будет продолжаться до запуска Regmon.exe вошедшим в систему пользователем и выполняется только для одной перезагрузки системы. Конечно же, содержимое журнала не будет полностью отображать абсолютно все обращения к реестру. Поскольку Regmon в режиме Log Boot инсталлируется в системе и, после перезагрузки, запускается в качестве драйвера, все обращения к реестру, произошедшие до его старта, в журнале не зафиксируются. Однако большая часть все же туда попадет, и вы увидите, что таких обращений будет несколько сотен тысяч.

Подробное описание утилиты Regmon и ее использования для мониторинга реестра.

Программа Process Monitor является усовершенствованным инструментом отслеживания для Windows , который в режиме реального времени отображает активность файловой системы, реестра, а также процессов и потоков. В этой программе сочетаются возможности двух ранее выпущенных программ от Sysinternals: Filemon и Regmon, а также огромный ряд улучшений, включая расширенную фильтрацию, всеобъемлющие свойства событий, такие как ID сессий и имена пользователей, достоверную информацию о процессах, полноценный стек потока со встроенной поддержкой всех операций, одновременную запись информации в файл и многие другие возможности. Эти уникальные возможности делают программу Process Monitor ключевым инструментом для устранения неполадок и избавления от вредоносных программ. Недостатком программы можно считать вероятность зависания при большом количестве отслеживаемых событий.

В случае Windows 2000/XPдля отслеживания обращений к реестру, удобнее использовать Regmon.

Здесь отдельная статья с описанием утилиты Process Monitor и примеры работы с ней.

 

 


Уход за реестром.

Мониторинг реестра наглядно демонстрирует интенсивное использование его данных прикладным и системным программным обеспечением. Установка и удаление программ, замена устройств, обновление прикладного ПО и т.п. - все это приводит к добавлению, удалению или изменению разделов и ключей реестра. Рано или поздно, в реестре появляются некондиционные или бесполезные данные, растет его размер и увеличивается фрагментация. В некоторой степени падает быстродействие системы и снижается ее надежность. Чтобы этого не происходило, желательно периодически выполнять процедуры устранения ошибок и дефрагментации данных реестра. Практически все утилиты для работы с реестром сторонних производителей умеют выполнять не только копирование и восстановление, но и операции по уходу за реестром. Классическим примером подобной программы можно считать когда-то очень популярную утилиту Ontrack Fix-It Utility 2000, используемую многими системными администраторами до сих пор. На протяжении нескольких лет было выпущено множество новых версий Fix-It, появлялись новые утилиты других производителей, но по надежности, простоте и удобству данная программа оставалась наиболее удачной.
Сайт компании-производителя Ontrack Data International Ink.
Данную версию Fix-it на сайте производителя вы не найдете - она давным-давно не поддерживается, и из нее вырос новый (платный) пакет Fix-It Utilities Pro . Скачать Ontrack Fix-It Utility 2000 можно по этой ссылке (16Mb)

Для сохранения и восстановления реестра используется раздел "Disk and Files" - "SystemSaver". В этом режиме файлы реестра сохраняются в скрытую системную папку Fix-It на системном диске с расширением .mxr По умолчанию сохраняется до 3-х наборов файлов, но можно установить до 9 в подменю Properties подпрограммы System Saver.

Для обслуживания и оптимизации реестра используются - "System Registry" - "RegistryFixer" и "RegistryDefrag".

 


Автозапуск программ.

Кроме папки "Автозагрузка" для запуска программ используются разделы реестра:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
Последние 2 раздела (...Once) отличаются тем, что программы, прописанные в них запускаются только 1 раз и после выполнения параметры ключа удаляются..

Записи в HKLM относятся ко всем пользователям компьютера. Для текущего пользователя запуск определяется ключами в разделе HKU:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
Пример раздела HKLM\...\RUN:

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

Для просмотра и отключения автоматически запускаемых программ можно воспользоваться системной утилитой настройки системы от Microsoft - msconfig.exe

Кроме программ, запускающихся при регистрации пользователя в системе, запускается еще огромное количество других, не всегда очевидных, - это и системные службы (сервисы), различные драйверы, программы оболочки (Shell) и т.п. Кроме полезных ( а иногда и бесполезных) программ могут выполняться, используя автоматический запуск и внедрившиеся в систему вирусы. Более подробно о вирусах здесь. Точек возможного автоматического запуска исполняемых модулей огромное множество, и для их поиска в реестре удобнее использовать специальные программы - мониторы автозапуска, наиболее популярной из которых, является Autoruns.exe , обладающей более широким спектром возможностей, чем служебная программа MSConfig, входящая в состав Windows.

Инсталляция не требуется. Просто скачайте Autoruns, разархивируйте его и запустите файл Autoruns.exe (в пакет включена утилита autorunsc.exe - консольная версия). Программа покажет, какие приложения настроены на автоматический запуск, а также представит полный список разделов реестра и каталогов файловой системы, которые могут использоваться для задания автоматического запуска. Элементы, которые показывает программа Autoruns, принадлежат к нескольким категориям: объекты, автоматически запускаемые при входе в систему, дополнительные компоненты проводника, дополнительные компоненты обозревателя Internet Explorer (включая объекты модулей поддержки обозревателя (Browser Helper Objects или сокращенно - BHO), библиотеки DLL инициализации приложений, подмены элементов, объекты, исполняемые на ранних стадиях загрузки, библиотеки DLL уведомлений Winlogon, службы Windows и многоуровневые поставщики услуг Winsock.
Чтобы просмотреть автоматически запускаемые объекты требуемой категории, достаточно выбрать нужную вкладку.

Поскольку Autoruns разрабатывалась тем же автором, что и рассмотренная выше утилита Regmon.exe, у них много общего. Для поиска записей в реестре, относящихся к выбранному объекту достаточно использовать пункт "Jump to" контекстного меню, вызываемого правой кнопкой мыши. Произойдет запуск редактора реестра и откроется ключ, обеспечивающий его запуск.

Cтраница с подробным описанием и практическими примерами использования утилиты Autoruns

 


Драйверы и службы.

Информация о драйверах и системных службах (сервисах) находится в разделе
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Каждому драйверу или сервису соответствует свой раздел. Например, "atapi" - для драйвера стандартного IDE контроллера жестких дисков, "DNScache" - для службы "DNS клиент". Назначение основных ключей:
DisplayName - выводимое имя - то что вы видите в качестве осмысленного названия при использовании, например, элементов панели управления.

ErrorControl - режим обработки ошибок.
0 - игнорировать (Ignore) при ошибке загрузки или инициализации драйвера не выдается сообщение об ошибке и система продолжает работу.
1 - нормальный (Normal) режим обработки ошибки. Работа системы продолжается после вывода сообщения об ошибке. Параметры ErrorControl для большинства драйверов устройств и системных служб равна 1.
2 - особый (Severe) режим. Используется для обеспечения загрузки последней удачной конфигурации (LastKnownGood).
3 - критическая (Critical) ошибка. Процесс загрузки останавливается, и выводится сообщение о сбое.

Group - название группы, к которой относится драйвер, например - "Видеоадаптеры"

ImagePath путь и имя исполняемого драйвера. Файлы драйверов обычно имеют расширение .sys и располагаются в папке \Windows\System32\DRIVERS\. Файлы сервисов - обычно .exe и располагаются в \Windows\System32\.

Start управление загрузкой и инициализацией. Определяет, на каком этапе загрузки системы производится загрузка и инициализация данного драйвера или службы. Значения Start:
0 - BOOT - драйвер загружается загрузчиком системы.
1 - SYSTEM - драйвер загружается в процессе инициализации ядра.
2 - AUTO - служба запускается автоматически при загрузке системы.
3 - MANUAL - служба запускается вручную.
4 - DISABLE - драйвер или сервис отключен.
Загрузка драйверов и запуск служб с параметрами Start от 0 до 2 выполняются до регистрации пользователя в системе. Для отключения драйвера или службы достаточно установить значение Start равным 4. Отключение драйверов и служб через редактирование этого ключа реестра - довольно опасная операция. Если вы случайно или по незнанию отключите драйвер или сервис, без запуска которых невозможна загрузка или функционирование операционной системы, то получите ее аварийное завершение (чаще всего - синий экран смерти Blue Screen Of Death или сокращенно - BSOD).

Во многих случаях, раздел драйвера содержит параметр типа DWORD с именем Tag. Основное его назначение - определение порядка загрузки драйвера или службы внутри группы. Сначала загружаются драйверы и службы в соответствии со значением параметра Start, затем - в соответствии с номером группы, определяемым разделом реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GroupOrderList
и затем - по номерам тегов отдельных драйверов или служб внутри группы. Если поле тега отсутствует, то загрузка драйвера выполняется только после того, как будут загружены драйверы с установленными значениями Tag.

Неверный порядок загрузки драйверов и служб может быть вызван ошибками их установки, недоработками разработчиков и, в редких случаях, - приводить к проблемам функционирования системы (захват ресурсов, необходимых другим драйверам, загрузка раньше другого драйвера, который необходим для работы, и т.п.). Чем меньше значение Tag, тем выше приоритет загрузки драйвера в группе.
Для получения информации о порядке загрузки драйверов, можно воспользоваться специальной утилитой от Sysinternals LoadOrder

 

Информация, выдаваемая программой не полностью отсортирована в соответствии с реальным порядком загрузки драйверов и служб, но собрана в компактном виде и значение поля Tag присутствует. Иногда этой информации вполне достаточно для анализа ситуации, связанной с проблемой функционирования конкретного устройства. При нажатии кнопки Copy выходные данные LoadOrder копируются в буфер обмена, после чего их можно сохранить в текстовый файл. Текст можно открыть в Excel, что позволит сортировать, фильтровать и отбирать результаты.
Из приведенного снимка экрана видно, что в самом начале загрузки Windows, загружаются драйверы группы Boot Bus Extender. Первым, в соответствии со значением Tag = 1, будет загружен Драйвер Microsoft ACPI, затем - Драйвер шины PCI, затем - Драйвер шины PnP ISA/EISA и т.д.

 



Драйверы и службы для безопасного режима.

При загрузке операционной системы для инициализации драйверов и служб используется набор управляющих параметров из раздела текущей конфигурации
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
Практически, этот раздел определяет набор драйверов, которые известны системе их параметры, системные службы и дополнительные наборы, которые используются в различных вариантах загрузки ОС. Для загрузки системы в безопасном режиме (Safe Mode) используется минимально необходимая конфигурация драйверов и системных служб, перечень которых задается разделом:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot
Там имеются подразделы:
Minimal - список драйверов и служб, запускаемых в безопасном режиме (Safe Mode)
Network - то же, но с поддержкой сети.

Кроме раздела HKLM\SYSTEM\CurrentControlSet, в реестре присутствуют и
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet001
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet002
По своей структуре они идентичны HKLM\SYSTEM\CurrentControlSet, и предназначены для дополнительной возможности восстановления работоспособности системы с использованием загрузки последней удачной конфигурации системы (Last Known Good Configuration). Возможные варианты загрузки управляющих наборов определяются содержимым раздела :
HKEY_LOCAL_MACHINE\SYSTEM\Select

Current - управляющий набор, который был использован для текущей загрузки.
Default - управляющий набор, который будет использоваться при следующей загрузке.
LastKnownGood - управляющий набор, который будет использоваться, если будет выбран режим загрузки последней удачной конфигурации (Last Known Good Configuration).
Failed - сбойный управляющий набор, который будет создан, если будет выбран режим загрузки последней удачной конфигурации (Last Known Good Configuration).
После успешной загрузки и входа пользователя в систему, данные из CurrentControlSet и ControlSet001 копируются в ControlSet002. При изменении конфигурации, данные записываются в CurrentControlSet и ControlSet001. Если изменение настроек привело к краху системы, имеется возможность ее восстановления при использовании варианта последней успешной загрузки, берущей данные из ControlSet002. После удачной загрузки в этом режиме, появится новый подраздел с управляющим набором, ControlSet003, - на тот случай, если вам снова понадобится использовать Last Known Good Configuration. При каждом использовании загрузки последней удачной конфигурации значение ControlSet00x будет увеличиваться, поэтому в реестре некоторых ОС имеются разделы ControlSet003, ControlSet004 и т.д.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.