Заметки сисадмина » Реестр «Windows»

Заметки сисадмина о интересных вещах из мира IT, инструкции и рецензии. Настраиваем Компьютеры/Сервера/1С/SIP-телефонию в Москве

Реестр «Windows»

2007-03-08 · Posted in Windows - XP

Реестр «Windows» — это два файла: [C:\WINDOWS\User.dat] и [C:\WINDOWS\System.dat] (для «Windows 9x»).

В «Windows Me» был добавлен еще один файл [C:\WINDOWS\CLASSES.DAT].

В «Windows NT,2000,XP» это папка [C:\WINDOWS\System32\Config] и файл «Ntuser.dat» в папке пользовательских профилей.

В реестре хранятся как настройки самой «Windows», так и вновь устанавливаемых программ.

Редактирование реестра осуществляется с помощью программы «Regedit», которая лежит в каталоге «Windows».
Чтобы её запустить, наберите «regedit» в окне запуска программ: (Меню «Пуск» —> Выполнить). Откроется окно программы, в которой слева отображается дерево реестра, похожее по виду на отображение структуры диска в «Проводнике», а справа выводятся ключи, содержащиеся в выбранном (активном) разделе. С помощью редактора Вы можете редактировать значения, импортировать или экспортировать реестр, осуществлять поиск.

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

  • REG_SZ (строковые) — например, «1» или «C:\Windows»;
  • REG_BINARY (двоичные) — большинство сведений об аппаратных компонентах хранится в виде двоичных данных и выводится в редакторе реестра в шестнадцатеричном формате, например, «01 00 00 00». Максимальная длина такого ключа 16 Кб;
  • REG_DWORD (dword) — многие параметры служб и драйверов устройств имеют этот тип, ключ занимает 4 байта и отображается в шестнадцатеричном и в десятичном виде (напр. 0x00000240(576) — в скобках указано десятичное значение ключа).
  • REG_EXPAND_SZ — строка данных переменной длины.
  • REG_MULTI_SZ — многострочный текст. Этот тип, как правило, имеют списки и другие записи в формате, удобном для чтения. Записи разделяются пробелами, запятыми или другими символами.
  • REG_FULL_RESOURCE_DESCRIPTOR — последовательность вложенных массивов, разработанная для хранения списка ресурсов железа или драйверов.

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

«HKEY_CLASSES_ROOT». В этом разделе содержится информация о зарегистрированных в «Windows» типах файлов, что позволяет открывать их по двойному щелчку мыши, а также информация для OLE и операций drag-and-drop .

«HKEY_CURRENT_USER». Здесь содержатся настройки оболочки пользователя (например, «Рабочего стола», меню «Пуск», …), вошедшего в «Windows». Они дублируют содержимое подраздела «HKEY_USER\name», где «name» — имя пользователя, вошедшего в «Windows». Если на компьютере работает один пользователь и используется обычный вход в «Windows», то значения раздела берутся из подраздела «HKEY_USERS\.DEFAULT».

«HKEY_LOCAL_MACHINE». Этот раздел содержит информацию, относящуюся к компьютеру: драйверы, установленное программное обеспечение и его настройки.

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

«HKEY_CURRENT_CONFIG». В этом разделе содержится информация о конфигурации устройств Plug&Play и сведения о конфигурации компьютера с переменным составом аппаратных средств.

«HKEY_DYN_DATA». Здесь хранятся динамические данные о состоянии различных устройств, установленных на компьютере пользователя. Именно сведения этой ветви отображаются в окне «Свойства: Система» на вкладке «Устройства», вызываемого из «Панели управления». Данные этого раздела изменяются самой операционной системой, так что редактировать что-либо вручную не рекомендуется.

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

«Windows 9x»

Каждый календарный день производится резервное копирование реестра программой «SCANREG», которая находится в папке [C:\WINDOWS\COMMAND], причём по умолчанию сохраняются 5 последовательных копий, а затем каждая новая замещает самую старую. Физически это файлы: «rb000.cab», «rb001.cab», «rb002.cab», «rb003.cab», «rb004.cab», которые находятся в папке [C:\WINDOWS\SYSBCKUP]. Можно сохранять до 99 резервных копий, изменив параметр «MaxBackupCopies» в файле [C:\WINDOWS\Scanreg.ini]. Также можно дополнительно сохранять в этих cab-архивах копии других файлов (например, «Autoexec.bat» и «Config.sys»), указав в параметре «Files» их полные имена с путём.

В процессе каждой загрузки компьютера производится проверка реестра и при обнаружении повреждений «SCANREG» замещает повреждённый реестр наиболее свежей архивной копией. Если реестр содержит более 500 Кб пустых блоков данных, то эта утилита автоматически оптимизирует его.
Для принудительной оптимизации загрузитесь в безопасном режиме (нажав клавишу <F8> при появлении надписи «Starting Windows» во время загрузки и выбрав в меню пункт «Safe mode», обычно, третий по счёту) и наберите в командной строке [SCANREG /OPT].

Если Вы производите изменения в реестре и не уверены на сто процентов в их правильности, либо записывайте то, что изменяете, либо воспользуйтесь возможностями «Regedit»:
(Меню «Пуск» —> Выполнить —> regedit —> Меню “Реестр” —> Экспорт файла реестра —> Выбранная ветвь),
сохранив, таким образом, первоначальный вариант в виде reg-файла (с расширением «.reg»). В случае неудачного эксперимента:

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

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

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

  • загрузитесь в режиме командной строки, выбрав в вышеуказанном меню пункт «Command prompt only» или «Safe mode command prompt only» (обычно, пятый и шестой пункты меню),
  • наберите в строке ввода: [SCANREG /RESTORE] (для «Windows 9x»), и, после нажатия клавиши <Enter>, выберите копию для восстановления и перезагрузитесь.

Чтобы в любое время создать резервную копию реестра воспользуйтесь командой [SCANREG /BACKUP] которая в случае нормально прошедшей проверки создаст резервную копию.

Если такой программы нет или не удаётся загрузиться и в этих режимах, можно удалить из папки «Windows» файлы «User.dat» и «System.dat» (для «Windows Me» ещё и «Classes.dat») для этого :

  • загрузитесь с системной дискеты и наберите в командной строке DOS:
    [DEL C:\WINDOWS\USER.DAT], нажмите клавишу <Enter>,
  • а затем: [DEL C:\WINDOWS\SYSTEM.DAT], снова <Enter>,
  • перезагрузитесь и реестр будет восстановлен автоматически из последней резервной копии.

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

«Windows XP»

В состав «Windows XP» входит компонент «System Restore» (Восстановление системы), назначение которого — вернуть систему в состояние, предшествовавшее её краху, не прибегая к переустановке операционной системы. «System Restore» восстанавливает реестр, локальные профили, системные базы данных, а также системные файлы, которые она копирует по умолчанию в архив «Restore». При этом нельзя восстановить что-либо одно — восстановлению подлежит либо всё, либо ничего.

Leave a Reply