Настройка и устранение проблем с помощью реестра
Иногда единственный способ устранения проблемы – это работа с реестром. Во
многих случаях это результат консультаций со службами поддержки Microsoft или
компании, разрабатывающей ПО, либо результат инструкций, которые вы нашли в
какой-либо статье Microsoft Knowledge Base. Вы можете добавлять, удалять или изменять
подразделы и элементы данных реестра.
Экспорт разделов
Прежде чем работать с данными реестра, всегда создавайте резервную копию подраздела,
в котором вы работаете, чтобы можно было восстановить прежние данные,
если ваши изменения неверны. Для этого выберите подраздел, с которым планируете
работать, и выберите File\Export. В диалоговом окне Export Registry File (Экспорт
файла реестра) задайте имя файла и выберите тип файла Registration File (*.reg).
Windows Server 2003 выбирает папку My Documents как место по умолчанию, но вы
можете сохранять этот файл где угодно.
Тип файла по умолчанию для экспорта – это файл регистрации, имеющий расширение
.reg. Файл регистрации содержит все данные выбранного раздела и его
подразделов. Например, при экспорте раздела HKCU\Network (содержащего подразделы
для двух отображаемых дисков моего компьютера) получается следующий
текст.
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Network] [HKEY_CURRENT_USER\Network\Y] "RemotePath"="\\\\Admin\\NET Server CR" "UserName"=dword:00000000 "ProviderName"="Microsoft Windows Network" "ProviderType"="dword:00020000" "ConnectionType"=dword:00000001 "DeferFlags"=dword:00000004 [HKEY_CURRENT_USER\Network\Z] "RemotePath"="\\\\Admin\\NETcomprefFigs" "UserName"=dword:00000000 "ProviderName"="Microsoft Windows Network" "ProviderType"="dword:00020000" "ConnectionType"=dword:00000001 "DeferFlags"=dword:00000004
Результат действия по умолчанию для .reg-файла (при двойном щелчке на этом
файле) – это слияние, то есть запись содержимого этого файла в реестр (то же самое
происходит при выборе File\Import в линейке меню Regedit). На самом деле распространение
.reg-файла – это удобный способ внесения необходимых изменений
в реестр на нескольких компьютерах (см. ниже раздел «Использование файлов регистрации»).
Но если вам нужен только просмотр содержимого .reg-файла, щелкните правой
кнопкой на этом файле и выберите пункт Edit, в результате чего этот файл откроется
в Notepad.
Примечание. Файлы регистрации – это текстовые файлы Unicode.
Если вы внесли изменения в какой-либо раздел, но затем решили отказаться от
них, то можете дважды щелкнуть на созданном .reg-файле, чтобы восстановить прежние
данные в этом разделе и его подразделах. Windows попросит вас подтвердить
ваши действия.
При слиянии .reg-файла с реестром все данные этого файла записываются в реестр.
Но если вы добавили новый подраздел или новый элемент данных в существующий
подраздел, то при слиянии новый элемент не будет удален. Windows не удаляет
текущее содержимое раздела, с которым вы работаете, прежде чем выполнить
слияние с данными .reg-файла. Если вы добавили что-либо в реестр и затем решили
вернуться к прежним данным, то должны вручную удалить новые объекты.
Примечание. Вы можете также сохранять файлы реестра в файлах другого типа: для
реестров в-9x/NT в виде двоичных файлов ульев или в виде текстовых файлов. Кроме
того, вы можете загружать или удалять (unload) файлы ульев. Подобные подробности
выходят за рамки изложения данного курса, но вы можете подробнее ознакомиться с
реестром в моей книге «Admin911: Windows 2000 Registry«, изданной в McGraw-Hill/
Os-orne (2000). Почти все в этой книге применимо также к Windows Server 2003.
Добавление элементов в реестр
Работая в Regedit, вы можете добавлять разделы или элементы данных в реестр. В
большинстве случаев добавляемые пользователем элементы – это данные в каком-либо
подразделе, но иногда требуется добавить новый подраздел и наполнить его
элементами данных.
Для добавления подраздела сделайте следующее.
- Щелкните правой кнопкой на родительском разделе и выберите New\Key (Создать\Раздел).
- Задайте имя этого нового раздела (следуя инструкциям из документации или из службы поддержки).
Для добавления элемента данных сделайте следующее.
- Щелкните правой кнопкой на его разделе-контейнере и выберите New\<Тип-значения> (вы должны знать нужный тип значения элемента данных, который добавляете в реестр).
- Задайте имя этого элемента данных (следуя инструкциям из документации или из службы поддержки).
- Дважды щелкните на этом элементе данных и введите подходящее значение.
Удаление элементов реестра
Вы можете удалить из реестра любой раздел или элемент данных, за исключением
поддеревьев. Щелкните правой кнопкой на элементе, который хотите удалить, и
выберите в контекстном меню пункт Delete. Windows попросит вас подтвердить ваши
действия. Удаление элемента реестра – это опасная операция, поэтому убедитесь в
правильности полученных инструкций и в точности следуйте этим инструкциям.
Изменение значений элементов реестра
Значения реестра могут иметь различный формат: текстовый, шестнадцатеричный,
десятичный и двоичный. Тип значения обычно (но не всегда) связан с типом элемента
данных. Вы можете изменить значение элемента данных, дважды щелкнув на этом
элементе в правой панели, чтобы открыть диалоговое окно его редактирования.
Использование файлов регистрации
Чаще всего .reg-файлы используются для восстановления раздела, который вы
экспортировали как резервную копию, прежде чем внести в него изменения. Это
достаточно несложный способ восстановления поврежденного пользователем реестра.
Приложения часто содержат .reg-файлы в своей группе файлов установки и используют
их для регистрации информации конфигурирования. Любой пользователь
может написать .reg-файл (этап написания не представляет сложностей; опасной
частью может оказаться результат пересылки этого файла в реестр).
Вы можете использовать .reg-файлы, чтобы поручать администрирование реестров
вашей системы. Ознакомившись с тем, как они действуют и что они делают,
вы можете использовать их для управления пользователями, настройками ПО, настройками
компьютеров или другими элементами, хранящимися в реестре.
Написание и использование .reg-файлов – это способ отправки изменений реестра
на один или несколько компьютеров вашей системы вместо открытия реестра
на каждом компьютере и внесения изменений интерактивным способом. Такие изменения
реестра очень эффективны и обычно используются в следующих обстоятельствах.
- Вы хотите освободить определенные компьютеры и определенных пользователей от политик уровня домена, которые были к ним применены.
- Вы хотите ограничить определенных пользователей, чтобы не позволять им использовать определенные средства.
- Вы хотите предложить пользователям возможность внесения поправок в их системы.
Обладая возможностями групповых политик для своих компьютеров Windows
Server 2003, вы можете также использовать .reg-файлы, чтобы вносить изменения в
реестр для управления доступом и поведением пользователей на компьютерах с более
ранними версиями Windows.
Если вы пишете программы, то даже в случае написания кода только для внутреннего
использования (в отличие от крупных компаний по разработке ПО) вы можете
использовать .reg-файлы, чтобы конфигурировать реестр для своей программы.
Архитектура .reg-файла
Файлы регистрации – это текстовые файлы с расширением .reg, использующие
следующий формат.
Имя инструментального средства пустая строка [Путь в реестре] "Имя элемента данных"=Тип данных:значение "Имя элемента данных"=Тип данных:значение "Имя элемента данных"=Тип данных:значение
Имя инструментального средства. Первая строка идентифицирует средство, которое
используется для выполнения этой процедуры.
- Для Windows Server 2003/2000/XP: Windows Registry Editor Version 5.00.
- Для всех версий Windows 9x/NT: REGEDIT4.
После этой строки следует пустая строка.
Путь в реестре. Путь в реестре к разделу, содержащему значения, которые вы
импортируете, заключается в прямоугольные скобки, причем каждый уровень в иерархии
отделяется обратным слэшем, например, [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System].
У вас может быть несколько путей в файле регистрации.
Примечание. Если нижний уровень иерархии, которую вы вводите в .reg-файле,
отсутствует в текущем реестре, то вы создаете новый подраздел. Содержимое файлов
регистрации пересылается в реестр в порядке его ввода: если вы создаете новый
раздел и подраздел в этом разделе, вводите строки в соответствующем порядке.
Данные. Данные, которые вы пересылаете в реестр, вводятся в следующем виде:
"Имя элемента данных"=Тип элемента данных:Значение элемента данных
- Имя элемента данных заключается в кавычки.
- После элемента данных непосредственно следует знак равенства (=).
- Тип элемента данных непосредственно следует после знака равенства и заканчивается символом двоеточие (:).
- Значение элемента данных должно вводиться в подходящем формате (строчный, шестнадцатеричный, десятичный или двоичный).
Вы можете ввести несколько строк элементов данных для одного пути в реестре,
например:
"GroupPolicyRefreshTime"=dword:00000014 "GroupPolicyRefreshTimeOffset"=dword:0000000f
В этих двух строках представлены шестнадцатеричные значения для значений
данных: 00000014 – это шестнадцатеричный эквивалент 20, и 0000000f – это
шестнадцатеричный эквивалент 15. Если вы не очень хорошо разбираетесь в шестнадцатеричных
и других трудночитаемых данных, ограничьтесь при создании элементов
данных в своем .reg-файле элементами данных, которые содержат строки, либо
используют 0 и 1 для отключения и включения политики или какого-либо запрещения.
В реестре нет булева типа данных. Но вы можете пересылать булевы данные в
реестр, используя в .reg-файле элементы типа DWORD (4 байта) или STRING (2
байта), и при этом не обязательно вводить полную строку. Просто введите 1, и вы
увидите в реестре значение 0x00000001(1).
Слияние файла регистрации с реестром
Файлы регистрации используются путем слияния .reg-файла с реестром, осуществляемого
в Regedit. Имеется три способа пересылки содержимого этого файла в реестр.
- Дважды щелкнуть на этом файле (действие по умолчанию для .reg-файла – это слияние).
- Ввести Regedit <имя_файла>.reg в командной строке.
- Выбрать File\Import в линейке меню Regedit.
Совет. Если вы хотите запускать .reg-файлы из командной строки в несопровождаемом
режиме или хотите формировать пакетные файлы, с помощью которых происходит
слияние .reg-файлов с реестром без вмешательства пользователя, используйте
команду Regedit со следующим синтаксисом: Regedit /s <имя_файла>.reg.
Во время пересылки .reg-файла в реестр происходят следующие действия.
- Если путь в этом файле не указан, он добавляется.
- Если какой-либо элемент данных еще не существует, он добавляется (вместе с его значением).
- Если какой-либо элемент данных уже существует, его значение заменяется значением из .reg-файла.
Файлы регистрации действуют, даже если вы применили групповую политику,
отключающую средства редактирования реестра (в противном случае программы и
система не могли бы вносить изменения в реестр, если это требуется).
Вы можете распространять .reg-файл через электронную почту или позволять
пользователям копировать его из разделяемой точки сети во время входа (с помощью
какой-либо команды в скрипте входа). Затем вы можете предоставлять каждому
пользователю возможность его использования.
Пример файла регистрации
В качестве примера здесь приводится текст .reg-файла, слияние которого я выполняю
на всех компьютерах моей сети. Он добавляет в контекстное меню для папок
опцию, позволяющую открывать окно командной строки. Я предпочитаю открывать
окно Command Prompt для конкретного места вместо использования команды
CD для перехода в структуре папок.
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\shell\OpenNew] @="Command Window Here" (здесь окно командной строки) [HKEY_CLASSES_ROOT\Directory\shell\OpenNew\Command] @="cmd.exe /k cd %1"
Чтобы создать этот .reg-файл путем изменений в реестре и экспорта раздела,
выполните следующие действия в Regedit.
- Выберите раздел HKEY_CLASSES_ROOT\Directory\shell.
- Создайте новый подраздел с именем OpenNew.
- Откройте элемент данных Default в правой панели и присвойте ему значение Command Window Here. (Это значение реестра представляет фразу, которая будет появляться в контекстном меню, поэтому вы можете заменить фразу нужным для вас образом.)
- Создайте новый подраздел с именем Command в подразделе OpenNew.
- Откройте элемент данных Default в подразделе Command и введите значение cmd.exe /k cd %1.
- Выделите подраздел OpenNew и выберите File\Export для создания .reg-файла, который содержит эти новые подразделы вместе с их данными.
Если на вашем компьютере несколько дисков, то вы можете добавить аналогичную
команду в контекстное меню, которое появляется при щелчке правой кнопкой
на каком-либо диске в Windows Explorer или в My Computer. Выполняются те же
шаги, что и при создании команды для папок, со следующими изменениями.
- В качестве начальной точки используйте раздел HKEY_CLASSES_ROOT\Drive\shell.
- Для элемента данных Default в подразделе HKEY_CLASSES_ROOT\Drive\shell\OpenNew\Command введите значение cmd.exe /k.
Экспортируйте раздел HKEY_CLASSES_ROOT\Drive\shell и распространяйте
этот .reg-файл всем пользователям, которые хотели бы использовать это удобное
средство.
Удаление элементов реестра с помощью .reg-файла
Вы можете также использовать .reg-файл для удаления подразделов и элементов
данных. Это настолько просто, что даже вызывает опасения.
- Чтобы удалить подраздел, введите знак «минус» в начале имени этого подраздела.
- Чтобы удалить отдельный элемент данных, введите знак «минус» вместо его значения («Имя_элемента_данных=-«).
Подскажите пожалуйста,как включить редактирование реестра на Windows Server 2003
☑
0
anutka_74rus
26.02.11
✎
15:35
Подскажите пожалуйста,как включить редактирование реестра на Windows Server 2003 Enterprise?
1
Amra
26.02.11
✎
15:38
regedit
2
andrewks
26.02.11
✎
15:45
э-э-э… расскажи для начала, как ты его отключила?
3
anutka_74rus
26.02.11
✎
15:51
(1) вирусы отключили редактор реестра и диспетчер задач. на win xp проще редактор реестра включить gpedit.msc — Конфигурация пользователя — Административные шаблоны — Система — «Сделать недоступными средства редактирования реестра». Свойства политики — выбираем параметр «Отключен» — Применить — Ок.
а как на win servere 2003 это сделать?
4
N1kMZ
26.02.11
✎
15:55
(3) Через политики — точно также.
5
anutka_74rus
26.02.11
✎
15:57
(3) там нет таких шаблонов. если есть возможность на пиши путь. ок?
6
N1kMZ
26.02.11
✎
16:01
(5) Как так нет? Даже ветки шаблонов нету? Должна быть, если там пусто, тогда нажать правой кнопкой, добавление и удаление шаблонов, добавить шаблон system.adm. Шаблоны обычно хранятся в %windir%\inf.
7
anutka_74rus
26.02.11
✎
16:12
(6) напиши пожалуйста действия,которые выполнить нужно?
8
N1kMZ
26.02.11
✎
16:18
(7) А я что написал в (6) ?
9
Neg
26.02.11
✎
16:21
Запусти в АВЗ (AVZ) восстановление системы и всё будет ОК.
10
Neg
26.02.11
✎
16:22
11
anutka_74rus
26.02.11
✎
16:28
(9) есть другие способы,в ручную это сделать,без программ?
12
N1kMZ
26.02.11
✎
16:29
i computer mouse image by Edyta Anna Grabowska from Fotolia.com
Windows 2003 provides server services for your network users. The server operating system allows file sharing, print sharing and user permission control. Windows 2003 includes a backup application that saves snapshots of your registry settings. When the registry corrupts, you can restore a backup file and repair the Windows 2003 registry. This can fix problems after you install a software application that creates errors each time you boot the server computer.
Click the Windows 2003 «Start» button and then click «Programs.» Click the «Accessories» icon and then click «System Tools.» In the list of system tools, click «Backup» to open your backup and restore utility.
Click the «Restore and Manage Media» tab. This tab displays a list of options in the center list box. Click the plus sign next to «My Computer» to view a list of options.
Check the box labeled «System State.» In the details window, check the box labeled «Registry» and remove the check marks next to any of the other objects.
Click the «Restore» button to start the restoration of the registry files. This may take several minutes. Click «Restart» when prompted to reboot your computer.
Writer Bio
Jim Campbell has been a computer engineer for over five years. He excels in hardware repair, computer programming and troubleshooting, and software design. He is currently attending Florida Atlantic University, pursuing a master’s degree in computer and electrical engineering and fine-tuning his technical writing abilities.
Реестр Windows (англ. Windows Registry), или системный реестр — иерархически построенная база данных параметров и настроек в большинстве операционных систем семейства Microsoft Windows [2].
В реестре хранятся данные, которые необходимы для правильного функционирования Windows. К ним относятся профили всех пользователей, сведения об установленном программном обеспечении и типах документов, которые могут быть созданы каждой программой, информация о свойствах папок и значках приложений, а также установленном оборудовании и используемых портах [1].
Открытие реестра¶
Поскольку файлов в реестре несколько, его нельзя открыть, например, в текстовом редакторе и внести какие-либо коррективы. Для работы с ним требуется специальная программа – редактор реестра, который является встроенным компонентом операционной системы Windows и вызывается путем ввода команды Regedit
[4].
Существует несколько способов открыть редактор реестра.
Способ №1 – Открытие через утилиту «Выполнить»:
- Выбрать Пуск → Выполнить, либо нажать сочетание клавиш
Win+R
(Win
— клавиша, междуCtrl
иAlt
в нижнем ряду клавиатуры, обычно на ней изображен значок Microsoft Windows ; - В открывшимся окне ввести команду
regedit
; - Нажать клавишу
ОК
.
Рис. 1 – Открытие через утилиту «Выполнить»
Способ №2 – Открытие через поиск по меню «Пуск»:
- Открыть меню Пуск;
- Ввести в строке поиска
regedit
и запустить найденный файл, который отобразится в верхней части Пуска.
Рис. 2 – Открытие через поиск по меню «Пуск»
С другими способами можно ознакомиться в статье Три способа открыть редактор реестра Windows.
Структура реестра¶
Реестр имеет иерархическую структуру, которая напоминает файловую систему жесткого диска – с его каталогами, подкаталогами и файлами. Но называются элементы реестра по-другому: верхний уровень иерархии составляют разделы, каждый из которых может содержать вложенные подразделы, а также параметры. Именно в параметрах хранится основное содержимое реестра, разделы служат лишь для группировки схожих по назначению параметров [4].
Рис. 3 – Редактор реестра
Далее приведен краткий перечень и краткое описание стандартных разделов реестра. Максимальная длина имени раздела составляет 255 символов.
HKEY_CURRENT_USER
Данный раздел является корневым для данных конфигурации пользователя, вошедшего в систему в настоящий момент. Здесь хранятся папки пользователя, цвета экрана и параметры панели управления. Эти сведения сопоставлены с профилем пользователя. Вместо полного имени раздела иногда используется аббревиатура HKCU
.
HKEY_USERS
Данный раздел содержит все активные загруженные профили пользователей компьютера. Раздел HKEY_CURRENT_USER
является подразделом раздела HKEY_USERS
. Вместо полного имени раздела иногда используется аббревиатура HKU
.
HKEY_LOCAL_MACHINE
Раздел содержит параметры конфигурации, относящиеся к данному компьютеру (для всех пользователей). Наиболее интересным является подраздел Software
, который включает в себя настройки всех установленных в системе приложений. Вместо полного имени раздела иногда используется аббревиатура HKLM
.
HKEY_CLASSES_ROOT
Является подразделом HKEY_LOCAL_MACHINE\Software
. Хранящиеся здесь сведения обеспечивают выполнение необходимой программы при открытии файла с использованием проводника. Вместо полного имени раздела иногда используется аббревиатура HKCR
. Начиная с Windows 2000, эти сведения хранятся как в HKEY_LOCAL_MACHINE
, так и в HKEY_CURRENT_USER
.
Раздел HKEY_LOCAL_MACHINE\Software\Classes
содержит параметры по умолчанию, которые относятся ко всем пользователям локального компьютера. Параметры, содержащиеся в разделе HKEY_CURRENT_USER\Software\Classes
, переопределяют принятые по умолчанию и относятся только к текущему пользователю.
Раздел HKEY_CLASSES_ROOT
включает в себя данные из обоих источников. Кроме того, раздел HKEY_CLASSES_ROOT
предоставляет эти объединенные данные программам, разработанным для более ранних версий Windows. Изменения настроек текущего пользователя выполняются в разделе HKEY_CURRENT_USER\Software\Classes
. Модификация параметров по умолчанию должна производиться в разделе HKEY_LOCAL_MACHINE\Software\Classes
. Данные из разделов, добавленных в HKEY_CLASSES_ROOT
, будут сохранены системой в разделе HKEY_LOCAL_MACHINE\Software\Classes
. Если изменяется параметр в одном из подразделов раздела HKEY_CLASSES_ROOT
и такой подраздел уже существует в HKEY_CURRENT_USER\Software\Classes
, то для хранения информации будет использован раздел HKEY_CURRENT_USER\Software\Classes
, а не HKEY_LOCAL_MACHINE\Software\Classes
.
HKEY_CURRENT_CONFIG
Данный раздел содержит сведения о профиле оборудования, используемом локальным компьютером при запуске системы.
Примечание
Реестр 64-разрядных версий Windows подразделяется на 32- и 64-разрядные разделы. Большинство 32-разрядных разделов имеют те же имена, что и их аналоги в 64-разрядном разделе, и наоборот. По умолчанию редактор реестра 64-разрядных версий Windows отображает 32-разрядные разделы в следующем узле: HKEY_LOCAL_MACHINE\Software\WOW6432Node
Файлы реестра на жестком диске¶
Основные файлы, отвечающие за формирование реестра хранятся в папке %SystemRoot%\System32\Config\
. Обычно это C:\Windows\System32\Config\
и в зависимости от версии ОС их состав может несколько различаться.
Файл, хранящий личные настройки пользователя, «скрыт» в папке соответствующей учетной записи, например, в C:\Documents and Settings\Dmitry
. Также файлы, отвечающие за пользовательские настройки, могут храниться в:
C:\Documents and Settings\%Username%\(Ntuser.dat)
;C:\Documents and Settings\%Username%\Local Settings\Application Data\Microsoft\Windows\ (UsrClass.dat)
.
Еще есть резервные копии файлов реестра, созданные системой, хранятся они в
C:\Windows\System32\config\RegBack
– для Windows 7 и Server 2008;C:\Windows\repair
– для XP и Server 2003.
Примечание
По умолчанию операционная система делает резервные копии этих файлов раз в 10 дней с помощью планировщика задач.
Вспомогательные файлы для всех кустов за исключением HKEY_CURRENT_USER
хранятся в системах Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003 и Windows Vista в папке %SystemRoot%\System32\Config
.
Вспомогательные файлы для куста HKEY_CURRENT_USER
хранятся в папке %SystemRoot%\Profiles\Имя_пользователя
. Расширения имен файлов в этих папках указывают на тип содержащихся в них данных. Отсутствие расширения также иногда может указывать на тип содержащихся в файле данных.
Примечание
Куст (дерево) реестра (англ. hive) — это группа разделов, подразделов и параметров реестра с набором вспомогательных файлов, содержащих резервные копии этих данных.
Таблица 1 — Соответствие кустов реестра и вспомогательных файлов¶
Куст реестра | Вспомогательные файлы |
---|---|
HKEY_LOCAL_MACHINE\SAM |
Sam , Sam.log , Sam.sav |
HKEY_LOCAL_MACHINE\Security |
Security , Security.log , Security.sav |
HKEY_LOCAL_MACHINE\Software |
Software , Software.log , Software.sav |
HKEY_LOCAL_MACHINE\System |
System , System.alt , System.log , System.sav |
HKEY_CURRENT_CONFIG |
System , System.alt , System.log , System.sav , Ntuser.dat , Ntuser.dat.log |
HKEY_USERS\DEFAULT |
Default , Default.log , Default.sav |
Примечание
Например, кусту HKEY_LOCAL_MACHINE\Software
соответствует на жестком диске файл C:\Windows\System32\config\SOFTWARE
.
Рис. 4 – Файлы реестра на жестком диске