Программы для тестирования железа компьютера на ошибки. Программы для диагностики железа

    Реестр (системный реестр) - это иерархическая база данных, содержащая записи, определяющие параметры и настройки операционных систем Microsoft Windows. Реестр в том виде, как он выглядит при просмотре редактором реестра, формируется из данных, источниками которых являются файлы реестра и информация об оборудовании, собранная в процессе загрузки. В описании файлов реестра на английском языке используется термин "Hive". В некоторых работах его переводят на русский как "Улей". Microsoft в своих документах переводит это как "Куст". Файлы реестра создаются в процессе установки операционной системы и хранятся в папке %SystemRoot%\system32\config (обычно C:\windows\system32\config). Для операционных систем Windows 2000/XP это файлы с именами
default
sam
security
software
system
.В процессе загрузки система получает монопольный доступ к данным файлам и, поэтому, стандартными средствами работы с файлами вы ничего с ними сделать не сможете (открыть для просмотра, скопировать, удалить, переименовать). Для работы с содержимым системного реестра используется специальное программное обеспечение - редакторы реестра (REGEDIT.EXE, REGEDT32.EXE), являющиеся стандартными компонентами операционной системы. Для запуска реестра используется "Пуск" "Выполнить" - regedit.exe

    В левой половине окна вы видите список корневых разделов (root keys) реестра. Каждый корневой раздел может включать в себя вложенные разделы (subkeys) и параметры (value entries).
Коротко о назначении корневых разделов:
HKEY_CLASSES_ROOT (сокращенное обозначение HKCR ) - Ассоциации между приложениями и расширениями файлов и информацию о зарегистрированных объектах COM и ActiveX.
HKEY_CURRENT_USER (HKCU) - Настройки для текущего пользователя (рабочий стол, настройки сети, приложения). Этот раздел представляет собой ссылку на раздел HKEY_USERS\Идентификатор пользователя (SID) в виде S-1-5-21-854245398-1035525444-...
SID - уникальный номер, идентифицирующий учетную запись пользователя, группы или компьютера. Он присваивается учетной записи при ее создании. Внутренние процессы Windows обращаются к учетным записям по их кодам безопасности, а не по именам пользователей или групп. Если удалить, а затем снова создать учетную запись с тем же именем пользователя, то предоставленные прежней учетной записи права и разрешения не сохранятся для новой учетной записи, так как их коды безопасности будут разными. Аббревиатура SID образована от Security ID. Для просмотра соответствия SID и имени пользователя можно воспользоваться утилитой PsGetSID.exe из пакета
HKEY_LOCAL_MACHINE (HKLM) - Глобальные аппаратные и программные настройки системы. Применимы ко всем пользователям. Это самая большая и самая важная часть реестра. Здесь сосредоточены основные параметры системы, оборудования, программного обеспечения.
HKEY_USERS(HKU) - индивидуальные настройки среды для каждого пользователя системы (пользовательские профили) и профиль по умолчанию для вновь создаваемых пользователей.
HKEY_CURRENT_CONFIG (HKCC) - конфигурация для текущего аппаратного профиля. Обычно профиль один единственный, но имеется возможность создания нескольких с использованием "Панель управления" - "Система" - "Оборудование"- "Профили оборудования". На самом деле HKCC не является полноценным разделом реестра, а всего лишь ссылкой на раздел из HKLM
HKLM\System\ CurrentControlSet\CurrentControlSet\Hardware Profiles\Current

    Возможности конкретного пользователя при редактировании данных реестра определяются его правами в системе. Далее по тексту, предполагается, если это не оговорено особо, что пользователь имеет права администратора системы.
    Вообще-то, в корневом разделе HKLM есть еще 2 подраздела с именами SAM и SECURITY, но доступ к ним разрешен только под локальной системной учетной записью (Local System Account), под которой обычно выполняются системные службы (system services). Т.е для доступа к ним нужно, чтобы редактор реестра был запущен с правами Local System, для чего можно воспользоваться
psexec.exe -i -s regedit.exe
Подробное описание утилиты - на странице "Утилиты PSTools"

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


Сохранение и восстановление реестра

1. Использование точек восстановления (Restore Points)

    В Windows XP , существует механизм,с помощью которого, при возникновении проблем, можно восстановить предыдущее состояние компьютера без потери личных файлов (документы Microsoft Word, перечень просмотренных страниц, рисунки, избранные файлы и сообщения электронной почты). Точки восстановления (Restore Points) создаются системой автоматически во время простоя компьютера, а также во время существенных системных событий (таких, как установка приложения или драйвера). Пользователь также имеет возможность в любое время создавать их принудительно. Эти точки восстановления позволяют вернуть систему к состоянию на момент их создания.
    Для работы с точками восстановления используется приложение \windows\system32\restore\rstrui.exe (Пуск - Программы - Стандартные - Служебные - Восстановление системы ).

    Данные контрольных точек восстановления хранятся в каталоге System Volume Information системного диска. Это скрытый системный каталог, доступ к которому разрешен только локальной системной учетной записи (Local System, т.е. "Службе восстановления системы"). Поэтому, если вы хотите получить доступ к его содержимому, вам придется добавить права вашей учетной записи с использованием вкладки "Безопасность" в свойствах каталога "System Volume Information". В папке System Volume Information есть подкаталог с именем, начинающемся с _restore... и внутри него - подкаталоги RP0, RP1... : - это и есть данные контрольных точек восстановления (Restore Point - RPx). Внутри папки RPx имеется каталог snapshot , содержащий копии файлов реестра на момент создания контрольной точки. При выполнении операции восстановления системы восстанавливаются основные системные файлы и файлы реестра. Механизм довольно эффективный, но воспользоваться им можно только в среде самой Windows. Если же система повреждена настолько, что загрузка невозможна, выход из ситуации все равно есть. Как - читайте в статье "Проблемы с загрузкой ОС" раздел

2. Использование утилиты резервного копирования/восстановления NTBACKUP.EXE

    В Windows 2000 механизма точек восстановления нет. Однако, как и в Windows XP, имеется утилита архивации, а точнее - резервного копирования и восстановления NTBACKUP.EXE , позволяющая выполнить практически то же, что делается при создании точек восстановления (и даже намного больше). NTBACKUP позволяет создать архив состояния системы из 2-х частей, - загрузочной дискеты, позволяющей выполнить восстановление даже на незагружающейся системе и собственно архив данных для восстановления (в виде обычного файла с расширением.bkf, сохраняемого на жестком диске или съемном носителе). Для получения копии состояния системы жмем "Пуск" - "Выполнить"- ntbackup.exe

Запускаем , и указываем ему, что нужно архивировать состояние системы.

И где хранить данные архива

    После завершения работы мастера будет создан архив состояния системы (D:\ntbackup.bkf) С помощью "Мастера восстановления" вы можете всегда вернуть состояние системы на момент создания архива.

3. Использование утилиты для работы с реестром из командной строки REG.EXE

    В Windows 2000 утилита REG.EXE входит в состав пакета Support tools (можно также использовать REG.EXE из комплекта Windows XP - просто скопируйте ее в каталог \winnt\system32). Запускается из командной строки. При запуске без параметров выдает краткую справку по использованию:

Программа редактирования системного реестра из командной строки, версия 3.0
(C) Корпорация Майкрософт, 1981-2001. Все права защищены

REG Операция [Список параметров]

Операция == [ QUERY | ADD | DELETE | COPY |
SAVE | LOAD | UNLOAD | RESTORE |
COMPARE | EXPORT | IMPORT ]

Код возврата: (за исключением REG COMPARE)
0 - Успешно
1 - С ошибкой

Для получения справки по определенной операции введите:
REG Operation /?

Примеры:

REG QUERY /?
REG ADD /?
REG DELETE /?
REG COPY /?
REG SAVE /?
REG RESTORE /?
REG LOAD /?
REG UNLOAD /?
REG COMPARE /?
REG EXPORT /?
REG IMPORT /?

Для резервного копирования реестра используется REG.EXE SAVE, для восстановления - REG.EXE RESTORE

Для получения справки

REG.EXE SAVE /?
REG SAVE раздел имя Файла

Раздел - Полный путь к разделу реестра в виде: КОРЕНЬ\Подраздел
КОРЕНЬ - Корневой раздел. Значения: [ HKLM | HKCU | HKCR | HKU | HKCC ].
подраздел - Полный путь к разделу реестра в выбранном корневом разделе.
имя Файла - Имя сохраняемого файла на диске. Если путь не указан, файл
создается вызывающим процессом в текущей папке.

Примеры:
REG SAVE HKLM\Software\MyCo\MyApp AppBkUp.hiv
Сохраняет раздел MyApp в файле AppBkUp.hiv в текущей папке

    Синтаксис REG SAVE и REG RESTORE одинаков и вполне понятен из справки. Есть, правда некоторые моменты. В версии утилиты из ОС Windows 2000 нельзя было указывать путь в имени файла для сохранения раздела реестра и сохранение выполнялось только в текущий каталог. Справка самой утилиты и примеры ее использования для сохранения (REG SAVE) вполне можно использовать для сохранения любых разделов реестра, в т.ч. HKLM\software, HKLM\system и т.п. однако, если вы попробуете восстановить, например, HKLM\system, то получите сообщение об ошибке доступа, вызванную занятостью данного раздела реестра, а поскольку он занят всегда, восстановление с помощью REG RESTORE выполнить не удастся.

Для сохранения куста SYSTEM:
REG SAVE HKLM\SYSTEM system.hiv
Для сохранения куста SOFTWARE:
REG SAVE HKLM\SOFTWARE software.hiv
Для сохранения куста DEFAULT:
reg save HKU\.Default default.hiv

Если файл существует, то REG.EXE выдаст ошибку и завершится.

    Сохраненные файлы можно использовать для восстановления реестра ручным копированием в папку %SystemRoot%\system32\config.

4. Ручное копирование файлов реестра.

    Если загрузиться в другой операционной системе, то с файлами из папки реестра можно делать все, что угодно. В случае повреждения файла system, можно воспользоваться, например, сохраненным с помощью REG SAVE файлом system.hiv, скопировав его в папку реестра и переименовав в system. Или выполнить это же действие, используя сохраненную копию файла system из контрольной точки восстановления. Довольно подробно данный метод восстановления реестра описан в статье "Проблемы с загрузкой ОС"

5. Использование режима экспорта-импорта реестра.

Редактор реестра позволяет делать экспорт как всего реестра, так и отдельных разделов в файл с расширением reg Импорт полученного при экспорте reg-файла позволяет восстановить реестр. Щелкаете на "Реестр"--> "Экспорт (Импорт) файла реестра". Импорт также можно выполнить двойным щелчком по ярлыку reg-файла.

6. Использование специальных утилит для работы с реестром сторонних производителей.

    Существует немало программ сторонних производителей для работы с реестром, позволяющих не только сохранять и восстанавливать данные реестра, но и выполнять массу других полезных операций, таких, как диагностика и удаление ошибочных или ненужных данных, оптимизация, дефрагментация и т.п. Большинство из них платные - jv16 Power Tools, Registry Mechanic, Super Utilities Pro, Reg Organizer и другие. Список и краткое описание на secutiylab.ru
К основным преимуществам данных программ можно отнести, как правило, простой интерфейс пользователя, возможность выполнить тонкую настройку операционной системы и предпочтений пользователя, чистку от ненужных записей, расширенные возможности по поиску и замене данных, резервное копирование и восстановление.
    Пожалуй, самым популярным программным обеспечением для работы с реестром является jv16 Power Tools компании Macecraft Software . Главные достоинства - высокая надежность, многофункциональность, простота и удобство использования, поддержка нескольких языков, в т.ч. русского. Однако не все знают, что существует и бесплатный вариант, называющийся Power Tools Lite . Конечно, до полнофункциональной jv16 ему далеко, но для поиска данных, чистки и оптимизации реестра вполне подойдет. Замечу, что резервная копия создаваемая данной программой является всего лишь reg-файлом для восстановления состояния реестра до момента его изменения. Многие (если не большинство) программы для работы с реестром создают аналогичные копии, пригодные только для восстановления тех данных, которые они изменяют. В случае порчи реестра они вам не помогут. Поэтому, выбирая (особенно бесплатную) программу с возможностью резервного копирования реестра, разберитесь, какие же копии она создает. Идеальный вариант - программа, создающая копии всех кустов реестра. При наличии такой копии вы всегда сможете полностью восстановить реестр обычным копированием файлов. Я бы порекомендовал бесплатную консольную утилиту regsaver.exe Скачать, 380кб
Сайт программы.
Утилита сохраняет файлы реестра в каталог, указываемый в качестве параметра командной строки:
regsaver.exe D:\regbackup
После выполнения программы в каталоге D:\regbackup будет создан подкаталог с уникальным именем, состоящим из года, месяца, числа и времени создания резервной копии файлов реестра ("yyyymmddhhmmss"). После выполнения резервирования программа может выключить компьютер или перевести его в спящий режим:

regsaver.exe D:\regbackup /off /ask - Выключить компьютер. Ключ /ask требует подтверждения пользователя при выключении питания.
regsaver.exe D:\regbackup /standby - Перевести в спящий режим без подтверждения (нет /ask)
regsaver.exe D:\regbackup /hibernate /ask - Перевести в режим Hibernate

Вместо стандартного выключения компьютера можно использовать резервное копирование реестра с выключением по его завершению.

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

    К примеру, при загрузке системы, вы видите сообщение о нарушении целостности куста реестра SYSTEM:

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

Если у вас не выполнялось резервирование данных реестра, был отключен механизм создания контрольных точек восстановления или вы использовали Win2K, где этого механизма просто не существует, то все равно есть шансы оживить систему, загрузившись в другой ОС и восстановив файл system. Даже если содержимое этого файла будет не совсем актуальным, система, с большой долей вероятности, останется работоспособной. Возможно, придется переустановить некоторые программные продукты, или обновить драйверы.

  • - использование резервных файлов реестра, автоматически созданных каким-либо программным обеспечением. Откройте папку \Windows\system32\config и проверьте, нет ли в ней файла system.bak (возможно другое расширение, отличное от.alt и.log). переименуйте его в system и попробуйте загрузиться.
  • - использование, сохраненного после начальной установки, файла (файлов) из каталога \WINDOWS\REPAIR. Такой вариант, не самый оптимальный, на крайний случай.
  • - использование функции восстановления редактора реестра 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кб

        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 инсталлируется в системе и, после перезагрузки, запускается в качестве драйвера, все обращения к реестру, произошедшие до его старта, в журнале не зафиксируются. Однако большая часть все же туда попадет, и вы увидите, что таких обращений будет несколько сотен тысяч.

    Для сохранения и восстановления реестра используется раздел "Disk and Files" - "SystemSaver". Для обслуживания и оптимизации реестра - "System Registry" - "RegistryFixer" и "RegistryDefrag".

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

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

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

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

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

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


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

    Информация о драйверах и системных службах (сервисах) находится в разделе
    HKLM\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. Отключение драйверов и служб через редактирование этого ключа реестра - довольно опасная операция. Если вы случайно или по незнанию отключите драйвер или сервис, без которых невозможна загрузка или работа - получите аварийное завершение системы (чаще всего - синий экран смерти BSOD).


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

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

    Кроме раздела HKLM\System\CurrentControlSet, в реестре присутствуют и
    HKLM\System\CurrentControlSet001
    HKLM\System\CurrentControlSet002
    По своей структуре они идентичны HKLM\System\CurrentControlSet, и предназначены для дополнительной возможности восстановления работоспособности системы с использованием загрузки последней удачной конфигурации системы (Last Known Good Configuration). Возможные варианты загрузки управляющих наборов определяются содержимым раздела:
    HKLM\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 будет увеличиваться.

    Ограничиваем доступ пользователя к ресурсам.

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

    Скрываем логические диски

    Открываем раздел:
    HKCU\SOFTWARE\Microsoft\Windows\ CurrentVersion\Policies\Explorer
    и добавляем в него параметр NoDrives типа DWORD. Значение параметра определяет скрываемые диски A-Z. Наличие "1" начиная с младшего бита двойного слова означает отсутствие логического диска в "Мой компьютер"
    00000001 - нет диска A, 00000002 - нет диска B, 00000004 - нет диска C, 0000000F - нет дисков A-F
    Добавлю, что скрытые таким образом диски не видны только для Explorerа и в других программах могут быть доступны (в FAR например). Но другие программы ведь можно и скрыть или запретить - о чем дальше.

    Изменяем меню кнопки "ПУСК"

    NoRun =dword:00000001 нет кнопки "Выполнить"
    NoLogOff=hex:01 00 00 00 (не dword а hex) нет "Завершение сеанса "
    NoFind =dword:00000001 - нет пункта "Найти"
    NoFavoritesMenu =dword:00000001 нет "Избранное"
    NoRecentDocsMenu =dword:00000001 нет "Документы"
    NoSetFolders =dword:00000001 нет "Панели управления" в подменю "Настройка"
    NoSetTaskbar =dword:00000001 нет "Панель задач" там же
    NoPrinters =dword:00000001 нет "Принтеры" в Панели управления
    NoAddPrinter =dword:00000001 нет "Добавить принтер"
    NoDeletePrinter =dword:00000001 нет "Удалить принтер"
    NoDesktop =dword:00000001 Пустой рабочий стол
    NoNetHood =dword:00000001 нет "Сетевое окружение"
    NoInternetIcon =dword:00000001 нет значка "Интернет" на Рабочем столе Windows
    NoTrayContextMenu =hex:01,00,00,00 -Отключить меню, вызываемое правой кнопкой мыши на панели задач
    NoViewContextMenu =hex:01,00,00,00 - Отключить меню, вызываемое правой кнопкой мыши на Рабочем столе: Чтобы включить обратно, надо 01 заменить на 00.
    NoFileMenu =hex:01,00,00,00 скрыть " File " в верхней строке меню Проводника
    ClearRecentDocsOnExit =hex:01,00,00,00 не сохранять список последних открываемых документов по выходу из системы.

    Следующие параметры относятся к разделу реестра
    HKCU\Software\Microsoft\Windows\ CurrentVersion\Policies\
    Network

    NoNetSetup =dword:00000001 отключает доступ к значку "Сеть" в Панели управления
    NoFileSharingControl =dword:00000001 скрывает диалоговое окно управления совместным использованием файлов и принтеров, не позволяя пользователям управлять созданием новых совместных файлов или принтеров
    NoNetSetupIDPage =dword:00000001 скрывает вкладку "Идентификация"
    NoNetSetupSecurityPage =dword:00000001 скрывает вкладку "Управление доступом"
    NoEntireNetwork =dword:00000001 скрывает элемент "Вся сеть" в Сетевом окружении
    NoWorkgroupContents =dword:00000001 скрывает всё содержание Рабочей группы в Сетевом окружении

    Следующие параметры относятся к ограничениям для всех пользователей, поскольку используется раздел HKLM, а не HKEY_CURRENT_USER. Для редактирования данных нужно обладать правами администратора системы
    HKLM\SOFTWARE\Microsoft\Windows\ CurrentVersion\policies\System

    NoSecCPL =dword:00000001 отключает доступ к значку "Пароли" в Панели управления
    NoAdminPage =dword:00000001 скрывает вкладку "Удаленное управление"
    NoProfilePage =dword:00000001 скрывает вкладку "Профили пользователей"
    NoPwdPage "=dword:00000001 скрывает вкладку "Смена паролей"
    NoDispCPL =dword:00000001 отключает доступ к значку "Экран" в Панели управления
    NoDispAppearancePage =dword:00000001 скрывает "Оформление" в окне свойств экрана
    NoDispBackgroundPage =dword:00000001 скрывает "Фон" в окне свойств экрана
    NoDispScrSavPage скрывает "Заставка" в окне свойств экрана
    NoDispSettingsPage =dword:00000001 скрывает "Настройка" в окне свойств экрана
    NoConfigPage =dword:00000001 скрывает "Профили оборудования" в окне свойств системы
    NoDevMgrPage =dword:00000001 скрывает вкладку "Устройства" в окне свойств системы
    NoFileSysPage =dword:00000001 скрывает кнопку "Файловая система..." на вкладке "Быстродействие" в окне свойств системы
    NoVirtMemPage =dword:00000001 скрывает кнопку "Виртуальная память..." на вкладке "Быстродействие" в окне свойств системы
    =dword:00000001 запрет Regedit.exe или Regedt32.exe

        Некоторые из перечисленных запретов на действия пользователя используют не только системные администраторы, но и внедрившиеся в систему вирусы. Обычно выполняется запись в реестр данных, блокирующих возможность поиска и удаления внедрившегося вредоносного программного обеспечения и, в качестве завершающего аккорда - запрет на запуск редактора реестра (DisableRegistryTools). Как следствие, даже обладая правами администратора, пользователь не имеет возможности что-либо сделать со своим собственным реестром. Попытка запуска редактора завершается подобным сообщением:

    Конечно же, пользователю, тем более, администратору, должно быть обидно, когда "Редактирование реестра запрещено администратором системы". Поэтому я добавил еще один небольшой раздел:

    Обходим ограничения доступа пользователя к ресурсам.

        Все вышеперечисленные ограничения могут касаться либо конкретного пользователя, либо всех пользователей системы, точнее их учетных записей. Однако в каждой ОС Windows есть еще одна учетная запись, права которой, в некоторой степени, даже выше прав локального администратора - локальная системная учетная запись (Local System Account) от имени которой запускаются системные службы (сервисы) еще до входа пользователя в систему. Если программу (тот же regedit.exe) запустить с правами Local System, то никакие ограничения, связанные с учетными записями любых реальных пользователей действовать не будут. Как запустить редактор реестра с правами локальной системной учетной записи, используя утилиту PSExec, я уже рассказывал в начале статьи, и там же разместил ссылку на страничку загрузки и описания пакета PSTools. Для тех же, кому нет надобности в скачивании всего пакета и нужно, не разбираясь в тонкостях, просто обойти ограничения - пошаговая инструкция:
  • Скачиваем PSexec из пакета PSTools Microsoft (Sysinternals). (скачать PSTools.zip)
  • копируем его в папку \WINDOWS\SYSTEM32
  • запускаем с помощью psexec редактор реестра:
    psexec -s -i regedit.exe
    Для работы psexec.exe нужно обладать правами администратора т.е. пользователь должен входить в группу "Администраторы"
  • Вносим нужные исправления в реестр - DisableRegistryTools устанавливаем в 0 или удаляем его вообще. После чего пользуемся редактором реестра как обычно, снимая ограничения на запуск менеджера задач, блокировку антивирусных программ, и прочего, что там еще натворил вирус.

        Конечно, можно придумать и другие варианты обхода ограничений, как например, загрузка с использованием Winternals ERD Commander и редактирование проблемного реестра, или использование утилиты командной строки REG.EXE (Скачать bat-файл для разблокировки редактора реестра и менеджера задач) , или редактора реестра стороннего производителя, но данный способ - наиболее необычный, простой и быстрый. Необычность решения проблемы, как правило, дает то преимущество, что против ваших действий по обходу ограничений нет, или пока нет заранее подготовленных контрмер.
    Кстати, данным способом можно воспользоваться не только для запуска regedit.exe, но и других программ - проводника (Explorer.exe) например
    psexec -s -i C:\WINDOWS\EXPLORER.EXE
    что позволит получить доступ к каталогам и файлам, недоступным реальному пользователю, как, например, скрытая системная папка System Volume Information.

    Очень неплохой способ обхода ограничений - использование редактора реестра стороннего производителя.

    Resplendent Registrar Registry Manager - приблизительно 3Мб - в версии "Lite Edition" - бесплатный редактор реестра с удобным интерфейсом и полезными дополнительными возможностями по поиску, мониторингу, дефрагментации, сохранению и восстановлению реестра.

    В списке установленных программ висит программа давно удаленная

    Обычно это бывает, если вы удалили программу вручную, а не деинсталлировали ее, или же деинсталлятор глюканул. Исправить ситуацию можно отредактировав раздел:
    HKLM\Software\Microsoft\Windows\ CurrentVersion\Uninstall

    Постоянно приходится указывать путь на дистрибутив Windows

    Найдите раздел
    HKLM\Software\Microsoft\Windows\ CurrentVersion\Setup
    и в параметре SourcePath укажите путь на ваш дистрибутив -строковое значение "D:\install" . Если вы часто меняете настройки системы и у вас много места на диске - сбросьте дистрибутив в какой-либо каталог и пропишите его в SourcePath.

    Проблемы с русским шрифтом на некоторых программах

    Особенно это характерно на не русифицированных ОС, например Windows NT 4.0 Server. Даже если вы установили русифицированные фонты и в региональных установках указали Россию, проблемы с кириллическими шрифтами могут возникнуть. Откройте раздел
    HKLM\Software\Microsoft\Windows\ CurrentVersion\FontSubstitutes
    и пропишите параметры:
    параметр System,0 значение System,204
    параметр Courier,0 значение Courier,204
    параметр Arial,0 значение Arial,204
    параметр Courier New,0 значение Courier New,204
    параметр Times New Roman,0 значение Times New Roman,204
    Скорее всего эти параметры там уже есть, но вместо 204 стоит 238. Для Windows 9X такого раздела реестра нет и править надо секцию файла WINDOWS\win.ini.
    Может помочь также добавления в раздел HKLM\System\ CurrentControlSet\Control\Nls\CodePage параметра "1252" ="CP_1251.nls"

    Снятие пароля с заставки (ScreenSaver"а)

    Параметры рабочего стола для профиля по умолчанию задаются параметрами раздела реестра
    HKEY_USERS\.DEFAULT\Control Panel\Desktop
    Параметры рабочего стола текущего пользователя - разделом реестра
    HKCU\Control Panel\Desktop
    Для снятия пароля с заставки для рабочего стола текущего пользователя нужно открыть раздел реестра
    HKCU\Control Panel\Desktop
    и установить значение ключа ScreenSaverIsSecure равным нулю.

    Для отключения заставки - установить в 0 значение ScreenSaveActive

    Создание своего окна при входе в систему

    Это полезно тогда, когда требуется о чем-то предупредить пользователя. Раздел HKLM\SOFTWARE\Microsoft\Windows\ CurrentVersion\Winlogon
    Параметры:
    LegalNoticeCaption = например "Внимание!" текст заголовка окна
    LegalNoticeText = "С 25-го по 30-е число каждого месяца необходимо сменить пароль" текст в окне

    Очистка имени предыдущего пользователя

    Раздел HKLM\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\Winlogon
    DontDisplayLastUserName =dword:00000001

    Запрет на запуск редактора реестра и диспетчера задач.

    Для запрета запуска редактора реестра любого пользователя используется раздел HKLM\SOFTWARE\Microsoft\Windows\ CurrentVersion\policies\system
    =dword:00000001 запрещено запускать
    =dword:00000000 разрешено запускать
    DisableTaskMgr - =dword:00000001 запрещено запускать
    DisableTaskMgr - =dword:00000000 разрешено запускать
    Для ограничения запуска редактора реестра и диспетчера задач текущего пользователя аналогичные значения устанавливаются в разделе
    HKCU\Software\Microsoft\Windows\ CurrentVersion\Policies

    Обязательный ввод пароля в Windows 9X

    Должен быть установлен клиент Microsoft Network. Войти в систему, нажав ESC теперь не удастся
    Раздел HKLM\Network\Logon
    Параметр MustBeValidated =dword:00000001

    Изменить поведение компьютера при выключении

    Раздел HKLM\System\ CurrentControlSet\Control\Shutdown
    Параметр FastReboot равен 0 - обычное выключение, равен 1 - ускоренное, приводящее часто к перезагрузке

    Изменение языка по умолчанию в окне входа в систему

    Если в окне ввода пароля используется русская раскладка клавиатуры, то изменить это можно подредактировать раздел HKEY_USERS\.DEFAULT\Keyboard Layout\Preload. Он имеет 2 строковых параметра - "1" и "2".
    Если значения равны:
    1=00000409
    2=00000419
    то раскладка в окне входа в систему станет английской.
    Если значения параметрам присвоить наоборот ("1"=00000419, "2"= 00000409) - то раскладка станет русской.
  • Редактор реестра

    Итак, если реестр – это база данных Windows, то нужен определенный инструмент для работы с данной базой. Таким инструментом в Windows является Редактор реестра. Обратите внимание, что ярлык данной программы вы не найдете на Рабочем столе, а также в меню кнопки Пуск . Обычный пользователь не должен знать о существовании данной программы. Поэтому поступим следующим образом. Нажмем кнопку Пуск и в строке поиска наберем слово regedit. Вы увидите в разделе Программы пункт regedit.exe (рис. 1.1). Это и есть файл редактора реестра Windows, которым мы будем пользоваться на протяжении всей книги.


    Рис. 1.1. Поиск редактора реестра


    Щелкаем на ссылке regedit.exe , чтобы запустить программу. Сначала вы увидите (при стандартных настройках безопасности) окно Контроля учетных записей пользователей UAC с предупреждением. Мы должны согласиться с сообщением, то есть нажать кнопку OK , и наконец-то увидим редактор реестра (рис. 1.2).


    Рис. 1.2. Редактор реестра


    ПРИМЕЧАНИЕ

    Еще один способ запуска редактора реестра или любых других программ, имена исполняемых файлов которых вы знаете, заключается в использовании стандартного средства запуска программ. Выполните команду: Пуск Все программы Стандартные Выполнить. В поле Открыть появившегося окна введите regedit – и редактор реестра будет открыт.

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

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

    Рассмотрим элементы реестра подробнее.

    Корневые разделы

    Все параметры реестра Windows 7 сгруппированы в пяти основных разделах (разделы еще называют ключами), называемых корневыми:

    1. HKEY_CLASSES_ROOT.

    2. HKEY_CURRENT_USER.

    3. HKEY_LOCAL_MACHINE.

    4. HKEY_USERS.

    5. HKEY_CURRENT_CONFIG.

    ПРИМЕЧАНИЕ

    На самом деле в реестре есть еще один раздел. Он называется HKEY_PERFOMANCE_DATA. Этот раздел хранит сведения о производительности, используется системой и не предназначен для редактирования «вручную». Доступ к нему можно получить только программно.

    Все корневые разделы начинаются со слова HKEY и содержат подразделы. Корневые разделы нельзя удалить или переименовать.

    Практическое занятие

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

    Рассмотрим каждый корневой раздел.

    HKEY_CLASSES_ROOT

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

    Также раздел содержит информацию о ActiveX-элемен тах, хранит список библиотек типов и много другой системной информации. Например, в этом разделе хранится информация о том, что при двойном щелчке на файле с расширением TXT должен запуститься Блокнот .

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

    HKEY_CURRENT_USER

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

    Псевдоним у данного раздела HKCU . Данный раздел является наиболее используемым в настройках. Большинство описываемых в этой книге параметров находится именно в данном разделе.

    HKEY_LOCAL_MACHINE

    Раздел HKEY_LOCAL_MACHINE хранит информацию о конфигурации компьютера (программной и аппаратной), не зависящей от конкретного пользователя. Настройки в этом разделе действительны для всех пользователей данного компьютера.

    В качестве псевдонима для данного раздела используется HKLM .

    Интересно отметить, что подраздел HKEY_LOCAL_MACHINE\SOFTWARE\Classes является практически полной копией корневого раздела HKEY_CLASSES_ROOT .

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

    Раздел HKEY_USERS (псевдоним HKU ) содержит информацию о профилях всех пользователей данного компьютера.

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

    Назначение этого раздела нередко интерпретируется неправильно. Разберем его составляющие чуть подробнее. В данном разделе можно увидеть несколько подразделов определенного образца (рис. 1.3).


    Рис. 1.3. Подразделы раздела HKEY_USERS


    HKEY_USERS\.DEFAULT

    Некоторые пользователи ошибочно считают, что раздел HKEY_USERS\.DEFAULT можно использовать для импортирования параметров HKCU , рассчитывая применить их ко всем пользователям. Возможно, что в некоторых случаях это сработает. Однако HKEY_USERS\.DEFAULT скорее относится к настройкам, регулирующим процессы до входа пользователя в систему (например, раскладка клавиатуры по умолчанию).

    HKEY_USERS\S-[длинный набор цифр]

    Также в разделе HKEY_USERS может находиться несколько подразделов с наборами цифр. Длинный набор цифр – это SID (идентификатор безопасности). Идентификатор безопасности присваивается каждой учетной записи, поэтому количество таких подразделов зависит от количества пользователей, когда-либо входивших в систему. Чтобы узнать, свой SID в системе, можно использовать несколько способов. Например, можно запустить утилиту командной строки whoami.exe , которая входит в состав Windows 7, с параметром /use r:

    whoami /user

    Для выполнения этой команды сначала запустите интерпретатор командной строки командой Пуск Все программы Стандартные Выполнить , введя в поле Открыть появившегося окна команду cmd.exe или просто cmd. Откроется окно, в котором и нужно ввести вышеописанную команду, нажав после ее ввода клавишу Enter (рис. 1.4).

    Также можно посмотреть раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList , который содержит список всех SID в виде подразделов. Просмотрите все подразделы и ищите в них параметр ProfilelmagePath . Ваш SID тот, в котором значение этого параметра совпадает с именем, под которым вы входите в систему (рис. 1.5).


    Рис. 1.4. Использование командной строки Windows


    Рис. 1.5. Просмотр параметра ProfileImagePath


    HKEY_CURRENT_CONFIG

    Корневой раздел HKEY_CURRENT_CONFIG (псевдоним HKCC ) хранит информацию о настройках оборудования, которое используется компьютером в текущем сеансе работы. Он также является копией подраздела HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware-Profiles . Этот раздел практически не используется разработчиками в программах и сценариях.

    Итак, мы рассмотрели все виды корневых разделов. Каждых из них имеет множество вложенных разделов (подразделов). Их количество у каждого компьютера различно. Это связано с тем, что каждый пользователь устанавливает на компьютер свои любимые программы и игры. Если установка приложения происходит через специальные установочные программы – инсталляторы (Setup.exe, Install.exe и т. п.), то в реестр добавляются новые подразделы и параметры. Позже вы на учитесь находить подобные разделы и изменять их по своему желанию.

    Физическое расположение реестра

    Сам реестр физически состоит из нескольких файлов, расположенных в папке %SystemRoot%\System32\Config . Часть файлов для раздела HKEY_CURRENT_USER хранится в папке %SystemRoot%\Profiles\ Имя_пользователя . Данные файлы являются защищенными и не представляют практического интереса для пользователя.

    Если вам пока непонятно что означает %SystemRoot% – читайте дальше – в следующем разделе мы поговорим о том, что это такое.

    Типы параметров

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

    REG_BINARY – двоичные данные (Binary Value) представляют собой набор двоичных данных, доступных для редактирования в шестнадцатеричном формате. Подобный тип данных используется для хранения сведений об аппаратных ресурсах.

    REG_DWORD – целое число (DWORD Value) может задаваться в двоичном, десятичном и шестнадцатеричном форматах. Это один из самых применяемых типов параметров. Очень часто он работает в качестве своеобразного переключателя: 1 – включение (True)/0 – выключение (False). В реестре Windows 7 присутствует два вида DWORD: 32-битное значение и 64-битное значение.

    REG_EXPAND_SZ – расширенная строка (Expandable String Value) используется для ссылок на файлы. Кроме произвольного текста значение параметра такого типа может включать в себя специальные переменные. Во время обработки системой они могут заменяться на определенные значения, например пути к папкам. В таком качестве часто используются следующие переменные:

    %systemroot% – путь к каталогу в котором операционная система хранит свои файлы (например, каталог C:\Windows ).

    %windir% – похоже на предыдущую переменную. Ее отличие от %systemroot% заключается в том, что переменную %systemroot% переопределить нельзя, а каталог, к которому ведет переменная %windir% , можно изменить с помощью окна Переменные среды (Панель управления Система и безопасность Система Дополнительные параметры системы вкладка Дополнительно кнопка Переменные среды ).

    %systemdrive% – заменяет собой букву системного диска (как правило, диск С: ).

    %userprofile% – подставляет путь к каталогу, хранящему профиль текущего пользователя.

    %programfiles% – заменяет собой путь к папке, в которую Windows устанавливает все программы (как правило, C:\Program Files ).

    %username% – подставляет имя текущего пользователя, работающего с системой.

    computername% – подставляет имя компьютера (используется при обращении к компьютеру по сети).

    REG_MULTI_SZ многострочный текст (Multi-String Value) обычно используется для представления списков.

    REG_SZ текстовая строка (String Value). Это один из самых распространенных типов данных в реестре.

    ПРИМЕЧАНИЕ

    Существует еще несколько типов данных, используемых в реестре, которые нельзя создать с помощью редактора реестра. Ресурсы этих типов создают программным способом: REG_FULL_RESOURCE_DESCRIPTOR, REG_LINK, REG_NONE, REG_RESOURCE_LIST.

    Основные приемы работы с редактором реестра

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

    ВНИМАНИЕ

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

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

    Появится окно для выбора параметров сохранения файла (рис. 1.6).


    Рис. 1.6. Создание архивной копии реестра


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

    Создавая архивную копию реестра, помните о том, что он имеет весьма значительный объем – около 100 Мбайт или даже больше. Операции экспорта реестра выполняются на современных компьютерах до нескольких минут.

    На практике обычно создают архивные копии не всего реестра, а тех ветвей, которые редактируют.

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

    В случае неправильного поведения системы после изменения параметров той или иной ветви вы можете быстро ее восстановить, воспользовавшись командой Файл Импорт .

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

    Для того чтобы создать точку восстановления системы, выполните команду Пуск Панель управления Система и безопасность Система Защита системы и в появившемся окне (рис. 1.7) нажмите кнопку Создать .

    В появившемся после этого окне следует ввести название точки восстановления и нажать кнопку Создать .

    После того как точка восстановления будет создана и вы произведете изменения в реестре, которые нужно будет отменить, вы сможете восстановить систему до нужной точки восстановления. Для этого вызовите средство Восстановление системы командой Пуск Все программы Стандартные Служебные Восстановление системы (рис. 1.8).

    Окно Восстановление системы построено в виде мастера, который проведет вас по шагам, необходимым для запуска процесса восстановления.


    Рис. 1.7. Создание точки восстановления системы


    Рис. 1.8. Восстановление системы


    ВНИМАНИЕ

    Всегда перед модификацией создавайте архивные копии реестра или точку восстановления системы.

    Кстати, сохраненные резервные копии реестра желательно не только держать на том же диске, на котором находится система, но и скопировать их на другие надежные носители: другой компьютер, компакт-диск, флешка.

    Создание нового раздела

    Чтобы создать новый раздел, нужно выбрать в левом окне тот, внутри которого вы хотите произвести изменение. Далее выбираем в меню Правка Создать Раздел. В левой части редактора будет создан новый раздел, готовый к редактированию, и вы можете сразу задать его имя. Для выполнения этой процедуры можно также использовать контекстное меню.

    Практическое занятие

    Запустите редактор реестра. В левом окне программы раскройте раздел HKEYCURRENTUSER . Далее найдите в нем подраздел Software и щелкните на нем правой кнопкой мыши для вызова контекстного меню. Выберите в меню команды Создать Раздел . По умолчанию будет создан раздел Новый раздел #1 . Сразу присвойте ему новое имя. Напечатайте новое имя для раздела, например Test , и нажмите Enter (рис. 1.9). Если вы случайно переключились на другое окно и имя созданного раздела стало недоступным для редактирования, то не пугайтесь. Щелкните для выделения созданный раздел Новый раздел #1 и в контекстном меню выберите пункт Переименовать (или нажмите клавишу F2 ). Имя раздела станет доступно для редактирования, и вы сможете его задать.


    Рис. 1.9. Создание нового раздела


    Создание нового параметра

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

    Практическое занятие

    Создадим два новых параметра в ранее созданном разделе Test .

    Выделите раздел мышкой и нажмите правой клавишей для вызова контекстного меню. Выберите последовательно команды Создать Строковый параметр . У вас появится новый параметр Новый параметр #1 , готовый к редактированию. Введите вместо имени, предлагаемого по умолчанию, новое имя, например CatName (рис. 1.10), и нажмите клавишу Enter . Вы только что создали новый параметр, у которого еще нет значения.


    Рис. 1.10. Создание нового строкового параметра


    Дважды щелкните мышкой на созданном параметре (или вызовите контекстное меню и выберите команду Изменить ). У вас появится диалоговое окно, в котором вы можете присвоить новое значение для параметра. Введите какое-нибудь слово, например Рыжик , и нажмите клавишу Enter (рис. 1.11).


    Рис. 1.11. Изменение значения строкового параметра


    Теперь создадим еще один параметр типа DWORD . Попробуем это сделать другим способом. В правой части редактора реестра щелкните правой кнопкой мыши на свободном месте для вызова контекстного меню и выберите команды Создать Параметр DWORD (32 бита).

    Будет создан новый параметр типа DWORD под именем Новый параметр #1 , готовый к редактированию. Напечатайте какое-нибудь имя, например CatAge , и нажмите клавишу Enter . Теперь необходимо присвоить значение этому параметру. Дважды щелкаем по параметру CatAge и вводим в текстовом поле Значение число 8 (рис. 1.12). Обратите внимание, что можно вводить как десятичное значение, так и шестнадцатеричное.


    Рис. 1.12. Изменение значения параметра типа DWORD


    В данном случае и в той и в другой системе число 8 выглядит одинаково.

    Итак, в результате наших действий в разделе Test появилось два новых параметра, CatName и CatAge , с установленными значениями, которые указывают имя кота и его возраст (рис. 1.13).


    Рис. 1.13. Новый раздел с двумя созданными параметрами


    Экспорт раздела

    Как правило, параметры экспортируют перед внесением изменений в реестр (резервное копирование) либо для того, чтобы создать REG-файл для последующего импорта в реестр другого компьютера или при автоматической установке системы.

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

    Практическое занятие

    Попробуйте экспортировать только что созданный раздел Test . Найдите и выделите его мышкой в левом окне редактора реестра. Щелкните правой кнопкой мыши для вызова контекстного меню и выберите команду Экспортировать . В открывшемся диалоговом окне укажите имя файла, например cat.reg , для записи настроек раздела и сохраните его на Рабочем столе (рис. 1.14).

    Удаление раздела

    Удалить раздел не слишком сложно. Просто выделяем нужный раздел и нажимаем клавишу Delete . Также можно удалить при помощи контекстного меню (команда Удалить ) или через меню Правка Удалить .

    Практическое занятие

    Удалите созданный ранее раздел Test . Для этого выделите его, нажмите клавишу Delete на клавиатуре или выполните команду контекстного меню раздела Правка Удалить . Прежде чем удалить раздел, система запросит у вас подтверждение операции (рис. 1.15).


    Рис. 1.14. Экспорт выбранного раздела реестра


    Рис. 1.15. Запрос подтверждения на удаление раздела реестра


    Ответьте на вопрос, нажав кнопку Да , и раздел будет удален.

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

    Импорт параметров

    Чтобы восстановить в реестре сохраненные данные, используется операция импорта параметров. Для этого в меню редактора реестра выберите команды Файл Импорт... и в диалоговом окне выбора файлов укажите REG-файл для импорта.

    Практическое занятие

    Откройте меню Файл Импорт… и в диалоговом окне найдите файл cat.reg , который был экспортирован в предыдущем примере. В результате появится окно с сообщением, что содержащиеся в файле настройки раздела и параметры успешно добавлены в реестр (рис. 1.16). В этом можно убедиться. Если сразу не видно никаких изменений, то попробуйте нажать клавишу F5 или выбрать меню Вид Обновить .


    Рис. 1.16. Импортирование настроек реестра


    Для того чтобы импортировать REG-файл в реестр, можно просто сделать на нем двойной щелчок мышью. Например, когда мы сделали двойной щелчок мышью на файле cat.reg , который незадолго до этого был выгружен из реестра на Рабочий стол, система вывела предупреждение как на рис. 1.17.


    Рис. 1.17. Предупреждение при импорте файла в реестр


    Ответив Да на вопрос, вы импортируете файл в реестр.

    REG-файл можно импортировать в реестр из командной строки при помощи команды

    REGEDIT <имя_файла>

    Наберите в командной строке (предполагается, что у вас на диске D: уже есть файл test.reg )

    REGEDIT D:\test.reg

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

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

    Избранное

    В редакторе реестра есть очень полезное, ускоряющее работу меню. Оно называется Избранное . C его помощью можно быстро добавить в список нужный раздел, с которым придется часто работать.

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

    Практическое занятие

    Давайте занесем в Избранное созданный нами раздел Test . Выделите его в редакторе реестра и выберите меню Избранное Добавить в избранное... Откроется диалоговое окно Добавление в папку „Избранное“ (рис. 1.18). При желании можно изменить имя по умолчанию для сохранения и щелкнуть на кнопке ОК , чтобы подтвердить наше действие. Теперь щелкните на любом другом разделе и закройте редактор. Откройте редактор реестра снова. В меню Избранное найдите строку Test (или строку с тем именем, под которым раздел был сохранен) и щелкните на ней. Вы сразу перейдете в нужный раздел.


    Рис. 1.18. Сохранение раздела в папке Избранное


    Многие пользователи сталкиваются с терминами «очистить реестр », «удалить с реестра», «резервная копия реестра», «системный реестр» и т. д., но значительная часть из них даже не догадывается, что такое этот реестр. В данной статье рассмотрим, что собой представляет системный реестр, зачем его нужно чистить и как с ним работать.

    Реестр Windows, что это?

    Реестр, системный реестр, реестр Windows – это огромная и в то же время основная иерархическая база данных операционных систем семейства Windows, впервые появившаяся в далеком 1992-м году в Windows 3.1. Он представляет собой несколько хранящихся в системных каталогах файлов, таких как ServiceProfiles, %USERPROFILE%, System32config. Он возник как замена ini-файлам, в которых до этого хранилась конфигурация системы. Это значительно увеличило скорость доступа к системным данным.

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

    Зачем чистить реестр и оптимизировать его?

    Как было отмечено, в реестре находится информация фактически обо всех компонентах системы и их настройках, а представляет он собой более десятка защищенных системных файлов. Исходя из этого, файлы системной базы данных, как и любые другие, подвержены расфрагментации (когда сектора, хранящие один документ, разбросаны по поверхности диска, вместо того, чтобы находиться по соседству), из-за чего увеличивается время доступа к реестру. Поэтому он нуждается в периодической дефрагментации. Только дефрагментировать системные файлы обычным способом не получится, так как они постоянно используются Windows. Для этого разработана масса специальных утилит – дефрагментаторов и твикеров.

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

    Структура реестра

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

    Системный реестр Windows - ветви

    • HKEY_CLASSES_ROOT (HKCR) – ветка хранит данные обо всех зарегистрированных в операционной системе расширениях файлов, их ассоциациях с программами, а также о компонентах ActiveX и COM.
    • HKEY_CURRENT_USER (HKCU) – здесь хранится конфигурация аккаунта текущего пользователя.
    • HKEY_LOCAL_MACHINE (HKLM) – данные об аппаратных компонентах компьютера, их драйверах, режимах функционирования и сведения о загрузке ОС Windows.
    • HKEY_USERS (HKU) – хранит все данные обо всех учетных записях пользователей этого компьютера.
    • HKEY_CURRENT_CONFIG (HKCC) – здесь содержатся данные об оборудовании, используемом для включения компьютера.

    Как запустить программу для работы с реестром?

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

    Как открыть реестр Windows?

    1-й способ

    1. Вызываем диалоговое окно «Выполнить» посредством комбинации «Win + R».
    2. Пишем «regedit» в текстовую форму и кликаем «Ок».

    2-й способ

    1. Вызываем «Пуск» и вписываем команду запуска редактора реестра «regedit» в поисковую строку.
    2. В результатах поиска кликаем по «regedit.exe» для запуска системной утилиты.

    Работаем с записями системного реестра посредством стандартного редактора реестра

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

    В каждой ее ветке находится большое число подразделов, которые открываются нажатием на треугольник, двойным кликом по названию раздела/подраздела или кликом по кнопке «®» - курсор вправо на клавиатуре.

    Пользователю доступны следующие возможности по работе с системным реестром:

    • экспорт и импорт как целых веток, так и отдельных их разделов и записей (ключей);
    • перенос любых подразделов реестра на бумагу в виде текстовой информации;
    • создание, удаление, переименование ключей и веток;
    • поиск любой информации в реестре.

    Все действия выполняются через два пункта главного меню («Файл» и «Правка») редактора реестра после выделения необходимого ключа или подраздела, а также через их контекстное меню, что вызывается кликом правой клавиши мыши по объекту.

    Работа с реестром через стандартную программу мало чем отличается от работы с данными файловой системы вашего жесткого диска за несколькими исключениями, одно из которых - невозможность работать с несколькими объектами одновременно. Да и вид системной базы данных в виде дерева будет непривычным многим пользователям. Кнопка F2 все также отвечает за переименование, Delete – удаление веток и ключей реестра

    Важно! Перед совершением каких-либо действий с реестром обязательно создайте резервную копию ветки или раздела, в который намереваетесь вносить изменения.

    Создание резервное копии раздела или ветки:

    Вызываем контекстное меню изменяемой ветки и выбираем «Экспортировать» или же выделяем ветку, вызываем пункт меню «Файл» и кликаем «Экспорт…».

    Задаем путь и имя выходящего файла.


    Если у Вас остались вопросы по теме «
    Что такое реестр и как с ним работать?», то можете задать их в комментариях


    if(function_exists("the_ratings")) { the_ratings(); } ?>

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

      Иерархическая организация данных приложения позволяет сохранять свои параметры произвольным образом;

      Поддерживает многопользовательскую работу, он разделен на две части, в одной из которых хранятся параметры локального компьютера (HKEY_LOCAL_MACHINE), а в другой - пользовательские параметры (HKEY_USERS);

      Ограничение доступа к любым разделом реестра;

      Хранение данные разных типов, в том числе двоичных DWORD, строк и мультистрок.

    Реестр - ограниченный совместно используемый системный ресурс, в pаботе с которым нужно придерживаться определенных правил этикета (или соглашений), многие из них накладываются самой системой.

    В основе системного реестра лежит иерархия разделов (ключей) и значений. Разделы (ключи реестра) могут состоять из произвольного числа подразделов (подключей) значений. В свою очередь подразделы обладают такими же правами и могут включать в себя сколько угодно значений и новых подразделов. Названия раз­делов одного уровня должны различаться, кроме того, в них не должна вхо­дить обратная косая черта. Для просмотра реестра можно использовать стандартную программу regedit.exe. Она позволяет просматривать и модифицировать ключи и их значения.

    Реестр имеет логическую и физическую структуру. Программисты имеют дело с логической структурой, в рамках которой корневые разделы реестра, определяющие верхушки деревьев реестра, считаются корневыми каталогами по­добно дискам А: или С:.

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

    Реестр Windows 2000 состоит из пяти предопределенных корневых разделов и одного предопределенного - для хранения данных о производительности системы (HKEY_PERFORMANCE_DATA). Этот предопределенный раздел содержит данные о производительности, передаваемые ему системой, службами и приложениями. Он не содержит опреде­ленных физических значений, скорее наоборот, фун­кции реестра предоставляют метод динамического по­лучения информации о производительности системы. Доступа к нему из программы Regedit нет. Раздел HKEY_DYN_DATA указывает на ту часть раздела HKEY_LOCAL_ MACHINE, которая нужна для Plug & Play устройств. При добавлении или удалении устройств из системы этот раздел изменяется.

    При рассмотрении реестра рассматриваются разделы, указанные в таблице 6.1, как основные разделы реестра.

    Все подразделы реестра входят в раздел HKEY_LOCAL_MACHINE либо HKEY_USERS. Такая структура реестра обусловлена необходимостью хранения информации о параметрах, специфич­ных для компьютера, с одной стороны, и о параметрах, специфичных для пользователя, с другой. Остальные три предопределенных раздела - это вир­туальные закладки для частей разделов HKEY_LOCAL_MACHINE и HKEY_USERS. Так, данные подраздела HKEY_LOCAL_MACHINE\Software\Classes можно обна­ружить в разделе HKEY_CLASSES_ROOT.

    Как и названия разделов, названия переменных одного подраздела долж­ны различаться. Единственное исключение из этого правила - значение по умолчанию (default), не имеющее названия. Наличие значений, в том числе и значения по умолчанию, в разделе необязательно, так что в нем могут содер­жаться несколько, только одно или вообще ни одного значения.

    Таблица 6.1 . Предопределенные разделы системного реестра Windows 2000

    Название раздела

    Описание

    HKEY_LOCAL_MACHINE

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

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

    HKEY_CURRENT_USER

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

    HKEY_CLASSES_ROOT

    Включает все типы соответствий файлов, а также информацию об OLE и ярлыках и содержит сведения о зарегистрированных СОМ-компонентах и связанных с оболочкой (shell) ассоциациях.

    HKEY_CURRENT_CONFIG

    Определенная системой закладка, или псевдоним, для HKEY_LOCAL_MACHINE\System\CurrentControlSet\Hardware Profiles\Current название которого соответствует имени пользователя, работающего в данный момент. Здесь хранятся сведения о конфигура­ции оборудования.



    Есть вопросы?

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам: