Реестр содержит всю системную информацию о. Что такое реестр Windows

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

Основные файлы, отвечающие за формирование реестра

Файлы реестра создаются в процессе установки операционной системы и хранятся в папке:

%SystemRoot%\system32\config (обычно C:\windows\system32\config ).

Для операционных систем Windows это файлы с именами:

system
software
sam
security
default
components
bcd-template

В операционных системах Windows Vista, Windows 7, Windows8, , , файлы реестра располагаются в каталоге \Windows\system32\config и имеют такие же имена, однако в этих операционных системах добавился новый раздел реестра для хранения (Boot Configuration Data ) с именем BCD00000000 . Файл с данными этого раздела имеет имя bcd и находится в скрытой папке Boot активного раздела (раздела, с которого выполняется загрузка системы). Обычно, при стандартной установке Windows, создается активный раздел небольшого размера (от 100 до 500 мегабайт в зависимости от операционной системы), который скрыт от пользователя и содержит только служебные данные для загрузки системы – загрузочные записи, менеджер загрузки bootmgr , хранилище конфигурации загрузки BCD , файлы локализации и программы тестирования памяти. Расположение куста bcd зависит от того, как сконфигурирован загрузчик системы при ее установке, и может находиться на том же разделе, где и каталог Windows.

Место расположения файлов реестра в любой версии Windows можно просмотреть с помощью редактора реестра, в разделе:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist

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

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

Реестр Windows имеет древовидную структуру и состоит из 5 основных разделов реестра:

HKEY_LOCAL_MACHINE (HKLM) - самый большой раздел реестра. В нем сосредоточены все основные настройки операционной системы, а также аппаратного и программного обеспечения компьютера. Информация, содержащаяся в этом разделе, применяется ко всем пользователям, регистрирующимся в системе.

HKEY_ CLASSES_ ROOT (HKCR) - содержит ассоциации между приложениями и типами файлов (по расширениям файлов). Кроме того, в этом разделе находится информация о зарегистрированных типах файлов и объектах COM и ActiveX. Кроме HKEY_ CLASSES_ ROOT эти сведения хранятся также в разделах HKEY_LOCAL_MACHINE и HKEY_CURRENT_USER . Раздел HKEY_LOCAL_MACHINE\Software\Classes содержит параметры по умолчанию, которые относятся ко всем пользователям локального компьютера. Параметры, содержащиеся в разделе HKEY_CURRENT_USER\Software\Classes , переопределяют принятые по умолчанию и относятся только к текущему пользователю. Раздел HKEY_CLASSES_ROOT включает в себя данные из обоих источников.

HKEY_USERS (HKU) - содержит настройки среды для каждого из загруженных пользовательских профилей, а также для профиля по умолчанию. В HKEY_USERS находится вложенный раздел \Default , а также другие подразделы, определяемые идентификатором безопасности (Security ID, SID ) каждого пользователя.

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

Этот раздел дублирует информацию в HKEY_USERS\user SID , где user SID - идентификатор безопасности пользователя, зарегистрировавшегося в системе на текущий момент (узнать SID текущего пользователя можно, набрав в командной строке whoami /user ).

HKEY_CURRENT_ CONFIG (HKCC) - cодержит настройки для текущего аппаратного профиля. Текущий аппаратный профиль включает в себя наборы изменений, внесенных в стандартную конфигурацию устройств, заданную в подразделах Software и System корневого раздела HKEY LOCAL_MACHINE . В HKEY_CURRENT_CONFIG отражаются только изменения. Кроме того, информация этого раздела находится в HKEY_LOCAL_MACHINE\System\CurrentControlSet\HardwareProfiles\Current .

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

Основные типы данных, применяемые в реестре

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

REG_SZ - Текстовая строка в формате, удобном для восприятия человеком. Значениям, представляющим собой описания компонентов, обычно присваивается именно этот тип данных.

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

REG_MULTI_SZ - Многострочное поле. Значения, которые фактически представляют собой списки текстовых строк в формате, удобном для восприятия человеком, обычно имеют этот тип данных. Строки разделены символом NULL.

REG_BINARY - Двоичные данные. Большинство аппаратных компонентов используют информацию, которая хранится в виде двоичных данных. Редакторы реестра отображают эту информацию в шестнадцатеричном формате.

REG_RESOURCE_LIST - Список аппаратных ресурсов. Применяется только в ветви HKEY_LOCAL_MACHINE\HARDWARE .

Также иногда можно встретить такие типы данных реестра:

REG_RESOURCE_ REQUIREMENTS_LIST - Список необходимых аппаратных ресурсов. Применяется только в ветви HKEY_LOCAL_MACHINE\HARDWARE .

REG_FULL_RESOURCE_ DESCRIPTOR - Дескриптор (описатель) аппаратного ресурса. Применяется только в ветви HKEY_LOCAL_MACHINE\HARDWARE .

REG_QWORD - 64-х разрядное число.

REG_DWORD_ LITTLE_ENDIAN - 32-разрядное число в формате «остроконечников» (little-endian), эквивалент REG_DWORD .

REG_DWORD_BIG_ ENDIAN - 32-разрядное число в формате «тупоконечников» (big-endian).

REG_QWORD_LITTLE_ ENDIAN - 64-разрядное число в формате «остроконечников». Эквивалент REG_QWORD .

REG_NONE - Параметр не имеет определенного типа данных.

Взаимодействие реестра с операционной системой

При запуске компьютера распознаватель аппаратных средств (hardware recognizer ) помещает в реестр список обнаруженных им устройств. Обычно распознавание аппаратных средств осуществляется программой Ntdetect.com и ядром операционной системы Ntoskrnl.exe

При старте системы ядро системы извлекает из реестра сведения о загружаемых драйверах устройств и порядке их загрузки. Кроме того, программа Ntoskrnl.exe передает в реестр информацию о себе (напр. номер версии).

В процессе загрузки системы драйверы устройств обмениваются с реестром параметрами загрузки и конфигурационными данными. Драйвер устройства сообщает об используемых им системных ресурсах, включая аппаратные прерывания (IRQ ) и каналы доступа к памяти (DMA ), чтобы система могла включить эти данные в реестр. Кстати, реестр позволяет создавать несколько аппаратных профилей. Аппаратный профиль (hardware profile ) представляет собой набор инструкций, с помощью которого можно указать операционной системе, драйверы каких устройств должны загружаться при запуске компьютера. По умолчанию системой создается стандартный аппаратный профиль, который содержит информацию обо всех аппаратных средствах, обнаруженных на компьютере.

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

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

При администрировании системы. Когда пользователь вносит изменения в конфигурацию системы с помощью средств администрирования системы (например при помощи Панели управления или оснастки MMC ), все изменения сразу отражаются в системном реестре. По сути средства администрирования представляют собой наиболее удобные и безопасные средства модификации реестра. Кстати, к средствам администрирования можно отнести и редактор реестра (regedit.exe ), ведь все изменения в систему можно вносить непосредственно правкой реестра.

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

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

    Реестр (системный реестр) - это иерархическая база данных, содержащая записи, определяющие параметры и настройки операционных систем 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 с черного хода, без использования штатных WinAPI-функций, для этого предназначенных. Что нам это даст в итоге? Возможность писать и читать из реестра напрямую, в обход ограничений, установленных разработчиками антивирусных решений!

    Забегая вперед, отмечу: тема эта интересна, но тут целый набор серьезных проблем. Хотя кто сказал, что нам это не по плечу? 🙂

    Что такое реестр, или немного лирики

    С точки зрения операционной системы Windows, реестр - это уникальная кладовка. В этой своеобразно выстроенной иерархической базе данных хранятся настройки, данные, регистрационная информация и прочая хрень почти обо всем в системе, начиная с программ и заканчивая настройками конкретного пользователя. В реестре хранится практически все. Несмотря на то что некоторые программы предпочитают хранить свои настройки в ini-конфигах (особенно программы, написанные для Win 3.11. – Прим. ред.), сама Windows всю нужную информацию о самой себе считывает из реестра. Справедливости ради отметим, что в *nix-like операционных системах до сих пор господствует система хранения настроек во всевозможных конфигах.

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

    К примеру, так называемые точки восстановления - это копии реестра. Они широко применяются пользователями при возникновении различных проблем как с операционной системой, так и с программным и аппаратным обеспечением.

    Надо сказать, что 99% информации о реестре Windows - это описание основных ключей плюс советы, как с ними работать. Но как работает с реестром сама операционная система? И сможем ли мы эмулировать ее действия? Давай немного порассуждаем.

    Ну и что?

    Реестр - одновременно и сильная и слабая сторона Windows. Сильная сторона реестра в том, что для разработчиков программного обеспечения отпадает необходимость манипулировать туевой хучей конфигов, как это, например, реализовано в никсах. Удобен реестр и для создателей COM-компонентов - система автоматом регистрирует такой компонент в реестре и облегчает задачу по его дальнейшему использованию.

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

    Если в Windows 98 реестр могли починять все, кому это взбредет в голову, то начиная с Windows XP доступ к реестру имеют только пользователи с учетной записью администратора. В Vista+ доступ к реестру находится под защитой UAC. Оно и понятно.

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

    Интерфейс

    Для работы с реестром напрямую Windows предлагает программисту целый набор WinAPI, которые должны быть знакомы любому системному разработчику, - это Reg*-функции, такие как RegOpenKey, RegQueryValue и так далее. В ядре Win это NtOpenKey, NtQueryValueKey и целый ряд других. Описывать их особого смысла нет - всю документацию по надлежащему использованию этих функций можно найти в MSDN.

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

    С выходом Win7 x64 ситуация изменилась, и я уже об этом как-то писал. Разработчики Windows решили отказаться от возможности перехватывать потенциально опасные функции в ядре Win. Теперь переменная KeServiceDescriptorTable в x64 больше экспортируется, да и переписать нужный участок кода не выйдет - PatchGuard не даст. Есть, конечно, садомазохистские решения по обходу этих ограничений - но там гемора будет больше, чем профита. Тем более что Microsoft предлагает удобные колбеки ObRegisterCallbacks для контроля за реестром.

    INFO

    Информации в Сети о структурах, описывающих основные файлы реестра, очень мало. И почти все они на английском. Начальные знания можно найти . Кроме этого, хорошо про реестр написано в библии системщика «Внутреннее устройство Windows» от товарищей М. Руссиновича и Д. Соломона.

    А теперь - о самом интересом

    Но что же такое реестр на самом деле? Если заглянуть в папку WINDOWSsystem32config, то можно увидеть там несколько файлов: system, software, security, SAM и несколько других.

    Это файлы реестра.

    Однако несправедливо будет говорить о реестре просто как о некоем сочетании файлов, загруженных в память. Многое из того, что содержит реестр, носит динамический характер, то есть ряд значений высчитывается на этапе загрузки самой системы, в первую очередь это касается определенных параметров железа. Например, таков подраздел реестра HKEY_DYN_DATA, данные которого при загрузке операционной системы размещаются в оперативной памяти и находятся там вплоть до завершения работы операционной системы. То же, кстати, можно сказать и о ключевом подразделе HKEY_LOCAL_MACHINE, который не имеет своего соответствующего файла на диске, но фактически формируется из других файлов реестра, таких как software, system и прочие.

    Таким образом, реестр изнутри можно весьма приблизительно назвать «виртуальным сочетанием файлов реестра». После старта системы эти файлы находятся как в файле подкачки (paged pool), так и в невыгружаемой памяти (nonpaged).

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

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

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

    И что со всем этим теперь делать?

    Сразу огорчу: запросто пошаманить напрямую с реестром в юзермоде не получится, система не даст этого сделать, как это обычно бывает с файлами, занятыми другими процессами. Если попытаться извернуться, то можно только прочесть такой «занятый» файл, и то если угадать с флагами, с которыми он был открыт. К сожалению, записать в интересующий нас «файл реестра» информацию не выйдет. Кстати, фича с записью нужной информации в реестр может прокатить, если писать в реестровские *.BAK-файлы, они точно доступны под запись.

    Итак, следи за рукой:).

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

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

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

    Первый способ заключается в том, что для конфигурационного менеджера (Configuration Manager, часть операционной системы, если ты не в курсе) реестр есть не более чем набор строго определенных структур в операционной памяти, с которыми, как оказывается, очень даже легко работать. Какие это структуры, спросишь ты? HBASE_BLOCK, HHIVE, HBIN, HCELL, HMAP_ENTRY, HMAP_DIRECTORY, куча CM_* структур, используемых конфиг-менеджером для управления реестром. С точки зрения операционной системы, реестр - это просто набор регламентированных структур в оперативной памяти. К примеру, сигнатура «regf», определяющая «файл реестра», есть заранее определенная константа:

    Define HBASE_BLOCK_SIGNATURE 0x66676572 typedef struct _HBASE_BLOCK { ULONG Signature; //0x66676572 ULONG Sequence1; ULONG Sequence2; LARGE_INTEGER TimeStamp; .... } А вот и сигнатура «regf»…

    То есть смысл всего этого моего монолога в том, что существует шикарная возможность манипуляции с реестром на уровне операционной системы, но при этом не используя ее штатные средства. Как это возможно? Мы просто сэмулируем действия самой операционной системы, точно так, как она сама работает с реестром! Важно, как я уже говорил, понять, что для самой ОС реестр не более чем набор соответствующих структур в памяти.

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

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

    Зная, как выглядят структуры, нужно вспомнить, что каждый файл, улей реестра, имеет свою константную сигнатуру. Например, «regf» - это 0x66676572. Для улья сигнатура будет равна 0xBEE0BEE0. Имея доступ к памяти из ядра, мы можем довольно легко найти эти сигнатуры в памяти, просто просканив ее. Еще можно просканить память в поисках сигнатуры «CM10» - именно она присваивается конфиг-менеджером блоку подкачиваемой памяти, который выделяется под структуру CMHIVE. Полагаю, найдя в памяти интересующий нас элемент, ты придумаешь, что делать с ним дальше:).

    Как, к примеру, изменить значение ячейки реестра? Значение хранится в поле CM_KEY_VALUE->Data, поэтому, если у тебя возникнет задача изменить какое-либо поле в конкретном ключе реестра, ищи значение именно там:

    Typedef struct _CM_KEY_VALUE { WORD Signature; // #define CM_KEY_VALUE_SIGNATURE 0x6B76 WORD NameLength; ULONG DataLength; ULONG Data; //<---------- данные ячейки будут здесь ULONG Type; WORD Flags; WORD Spare; WCHAR Name; } CM_KEY_VALUE, *PCM_KEY_VALUE;

    Второй вариант является своеобразной модификацией первого. Если знаешь, существует одна особенность при работе с реестром - все изменения, то есть «создание новых ключей / запись / удаление ключей», как правило, вступают в силу после перезагрузки системы (ну или после перезагрузки эксплорера, это такой хак-метод). До этого все изменения находятся словно в подвешенном, «dirty»-состоянии. Мало того, система при обращении с реестром общается с ним через кеш файловой системы. Это понятно - обращений к реестру может быть сотни в секунду, соответственно, полагаться при этом на быстродействие файловой системы неразумно, тут никакое быстродействие не спасет. Поэтому система и работает с реестром, что называется, виртуально, через кеш файловой системы. И тут, чтобы вытащить кишки реестра на свет, надо залезть в кеш! Как это делается, уже описывалось в тырнетах, в том числе и в .

    Pro & Cons, или вместо заключения

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

    Засим закончу. Удачного компилирования и да пребудет с тобой Сила!

    WWW

    Обязательна к прочтению статья Марка Руссиновича о реестре «Inside the Registry», нашелся даже русский перевод . Замечательная тулза для сбора информации о реестре: http://goo.gl/iSSVy .

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

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

    ОПИСАНИЕ И НАЗНАЧЕНИЕ

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

    Значение, которое имеет реестр ОС Windows, переоценить сложно. От того, насколько корректна его информация, зависит то, насколько эффективно будут работать все узлы ПК, как программные, так и аппаратные. Если пользователь начинает замечать в работе своего компьютера какие-то неполадки, то это явный признак того, что в реестре произошел сбой и какие-то из его настроек сбились. Если сбой в системном реестре произошел серьезный, то загрузить Windows пользователю не удастся и операционную систему придется переустанавливать.

    Хранится системный реестр по адресу X:\Windows\System32\сonfig, где X- буква системного диска.

    КОРНЕВЫЕ РАЗДЕЛЫ СИСТЕМНОГО РЕЕСТРА

    Реестр ОС Windows состоит из нескольких основных разделов:

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

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

    ВЛИЯНИЕ РЕЕСТРА НА РАБОТУ WINDOWS

    Как уже было отмечено ранее, скорость работы системы и ее стабильность напрямую зависит от состояния реестра. Чаще всего система начинает «тормозить», когда реестр увеличивает свой размер. И чем он больше, тем дольше загружается компьютер, так как при запуске ОС системный реестр всегда проверяется на наличие ошибок, после чего делается его резервная копия. Причем, чем больше стоит на компьютере программного обеспечения, тем объемнее становится реестр.

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

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

    Теперь, продолжим, замедление открытия программ очень часто вызывается тем, что для быстрого выполнения их загрузки, не хватает оперативной памяти. И часто, чтобы обеспечить необходимое количество объема памяти для какой-то программы, система его добирает из ее общего объема (совокупность ОЗУ и ПЗУ), начиная обращаться к пространству винчестера, т.е. происходит так называемое «свопирование» (часть информации записывается на жесткий диск). В результате, когда при загрузке или работе приложения, ему становится нужна необходимая записанная на диск информация, она считывается намного дольше, чем, если бы система брала их из оперативной памяти.

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

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

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

    СПОСОБЫ РЕДАКТИРОВАНИЯ РЕЕСТРА

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

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

    И все же если вы решились внести изменения в реестр самостоятельно, то самым оптимальным решением будет воспользоваться встроенной в Windows утилитой Registry Editor. Для того, что бы попасть редактор реестра, существует специальная команда «regedit», которую необходимо ввести в окне Выполнить (вызывается нажатием клавиш Windows+ R).

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

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

    Корректируя реестр вручную, нужно быть очень осторожным. Одно неверное действие и работоспособность системы будет нарушена окончательно, а Windows придется переустанавливать.

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

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

    МОНИТОРИНГ РЕЕСТРА

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

    Утилиты мониторинга довольно просты в применении. Разобраться в них сможет даже человек, который не имеет специального образования. И в этом их большой плюс, так как знать хотя бы приблизительно, что происходит в реестре ОС их компьютера, желательно все пользователям, как опытным, так и начинающим. Например, можно воспользоваться одной из наиболее популярных утилит мониторинга реестра - Registry Monitor (RegMon).

    УХОД ЗА РЕЕСТРОМ

    Устанавливая, а затем, удаляя различные программы, пользователь ОС Windows не всегда знает, что, как правило, полностью информация о них из реестра не удаляется. Всегда остаются какие-нибудь «хвосты», которые в дальнейшем тормозят работу системы. Чтобы такого не происходило необходимо проводить не только мониторинг реестра, но и обеспечивать уход за ним. Для этого не нужно самому выискивать в реестре оставшиеся записи, сделать это можно при помощи специальных программ, о существовании которых уже упоминалось выше. Хорошо с этой работой справляются программы jv16 PoverTools, CCleaner, Reg Organizer, RegCleaner и другие. С их помощью пользователь сможет не только почистить реестр от «мусора», но и дефрагментировать жесткий диск, отредактировать автозагрузку, очистить историю браузеров, удалить устаревшие файлы по восстановлению системы и пр.

    ЗАКЛЮЧЕНИЕ

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

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

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

    Да, есть уже готовые Reg -файлы (файлы с расширением имя.reg), которые служат для экспорта и импорта данных реестра путем простого двойного щелчка мышью по нему. По умолчанию для файлов с расширением.reg установлена команда внесения их содержимого в реестр. Выполнены они в текстовом формате. Их можно просматривать и редактировать в блокноте или другом текстовом редакторе.

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

    Что такое реестр?

    Где его искать?

    Как в него войти?

    и в конце-концов

    Давайте попробуй вместе разобраться в этих вопросах.

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

    Что такое реестр?

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

    Реестр содержит данные, к которым Windows XP постоянно обращается во время загрузки, работы и ее завершения, а именно:

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

    Реестр имеет иерархическую древовидную структуру, состоящую из разделов, подразделов и ключей (параметров).

    Как в него войти?

    Для работы с реестром используется простая и понятная утилита Regedit, знакомая еще со времен Windows 3.1.

    Что бы открыть системный реестр вам необходимо проделать следующее: нажать Пуск –> выбрать Выполнить… –> в поле Открыть… введите regedit –> нажмите ОК .

    Откроется окно утилиты Regedit с наименованием разделов.

    Разделы и подразделы – это, грубо говоря, папки в левом окне Regedit’а. Ключ реестра, или параметр – это некая переменная, которой присвоено определенное значение, проще говоря – это то, что мы видим в правом окне Regedit’а.

    Куст (основной раздел, стандартный раздел, в английской документации – улей, от англ. hive) – это раздел реестра, отображаемый как файл на жестком диске.

    Куст является набором разделов, подчиненных разделов и параметров и имеет корни на верхнем уровне иерархии реестра. По умолчанию большинство файлов кустов (Default, SAM, Security и System) сохраняются в папке %SystemRoot%\System32\Config (например, C:\Windows\System32\Config\). Папка %SystemRoot%\Profiles содержит профили (настройки) для каждого пользователя компьютера. Поскольку куст представляет собой файл, его можно перемещать из одной системы в другую. Для редактирования этого файла необходимо использовать редактор реестра.

    Реестр Windows XP состоит из 5 основных разделов:

    HKEY_CLASSES_ROOT

    Является подразделом HKEY_LOCAL_MACHINE\Software\Classes. В этой ветви содержатся сведения о расширениях всех зарегистрированных в системе типов файлов (хранящиеся здесь сведения отвечают за запуск необходимой программы при открытии файла с помощью Проводника Windows)

    HKEY_CURRENT_USER

    Данный раздел содержит настройки текущего активного пользователя, вошедшего в систему. Здесь хранятся папки пользователя, цвета экрана и параметры панели управления. Эти сведения сопоставлены с профилем пользователя. Хотя это раздел выглядит как один из основных в редакторе реестра, он является всего лишь ссылкой на один из профилей HKEY_USERS\.

    HKEY_LOCAL_MACHINE

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

    HKEY_USERS

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

    HKEY_CURRENT_CONFIG

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

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

    HKEY_CLASSES_ROOT – HKCR
    HKEY_CURRENT_USER – HKCU
    HKEY_LOCAL_MACHINE – HKLM
    HKEY_USERS – HKU
    HKEY_CURRENT_CONFIG – HKCC

    Как изменить нужный параметр?

    Нам необходимо проверить значение параметра Shell подраздела Winlogon раздела HKEY_LOCAL_MACHINE .

    Параметр Shell в реестре размещен по пути HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

    Рассмотрим как это необходимо сделать. Проделайте это вместе со мной и вы на практике убедитесь что в этом нет ничего сложного.

    Внимание! Перед внесением изменений в реестр целесообразно делать резервную копию всего реестра или той ветки, в которую собираетесь вносить изменения. Для этого в редакторе реестра выполните: Файл –> Экспорт… –> дать имя файлу –> Сохранить. В случаи чего вы всегда сможете восстановить предыдущие параметры реестра, через Файл –> Импорт… Или запустив на исполнение сохраненный вами файл.

    Запускаем редактор реестра: Пуск –> выбрать Выполнить… –> в поле Открыть… вводим regedit –> нажимаем ОК .

    В редакторе реестра вначале нажимаем на плюсик (или два раза кликаем по папке) возле раздела HKEY_LOCAL_MACHINE , затем на папке SOFTWARE , дальше Microsoft , и так далее, пока не доберемся до нужного нам подраздела Winlogon .

    Кликаем на подразделе Winlogon и в правой части окна редактора реестра ищем параметр Shell . Правая часть редактора реестра разделена на три колонки: Имя, Тип, Значение. Вот как раз мы и добрались к тому значению, которое нам необходимо проверить.

    В нашем конкретном примере значение параметра Shell должно быть Explorer.exe

    Если оно отличается от нужного нам, то вносим изменения. Для этого два раза кликаем левой клавишей мыши по имени Shell (или один раз правой клавишей мыши и из контекстного меню выбираем Изменить ). Откроется окно Изменение строкового параметра , где в строке Значение вносим необходимые нам изменения и нажимаем ОК.

    Закрываем редактор реестра.

    Вот и все, мы проверили параметр реестра и при необходимости внесли в него изменение.

    P.S. Очень часто, для вступления в силу изменений необходимо перезагрузить компьютер. Не забывайте об этом.