Відмінності між версіями «Реєстр MS Windows XP»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
 
(не показані 12 проміжних версій ще одного учасника)
Рядок 1: Рядок 1:
Реєстр - база даних OS, яка містить конфігураційні відомості. Фізично вся інформація реєстру розбита на декілька файлів. Реєстри Windows 9х і NT частково відрізняються. В Windows 95/98 реєстр міститься в двух файлах SYSTEM.DAT і USER.DAT, які містяться в каталозі Windows. В Windows Me був добавлений ще один файл CLASSES.DAT. <br>
+
<b>Реєстр</b> - база даних OS, яка містить конфігураційні відомості. Фізично вся інформація реєстру розбита на декілька файлів. Реєстри Windows 9х і NT частково відрізняються. В Windows 95/98 реєстр міститься в двух файлах SYSTEM.DAT і USER.DAT, які містяться в каталозі Windows. В Windows ME був добавлений ще один файл CLASSES.DAT. <br>
 
За задумкою Microsoft він повністю повинний був замінити ini, які були залишені лише для сумісності із старими програмами, орієнтованими на раніші версії операційної системи. Чому стався перехід від ini файлів до реєстру? Річ у тому, що на ці файли накладається ряд серйозних обмежень, і головне з них полягає в тому, що граничний розмір такого файлу складає 64Кб.  
 
За задумкою Microsoft він повністю повинний був замінити ini, які були залишені лише для сумісності із старими програмами, орієнтованими на раніші версії операційної системи. Чому стався перехід від ini файлів до реєстру? Річ у тому, що на ці файли накладається ряд серйозних обмежень, і головне з них полягає в тому, що граничний розмір такого файлу складає 64Кб.  
  
Редактор Regedit і структура реєстру.
 
  
Основним засобом для перегляду і редагування записів реєстру служить спеціалізована утиліта "Редактор реєстру". Для її запуску наберіть в запуску програми (Пуск->Выполнить) команду regedit Відкриється вікно програми, в якій зліва відображується дерево реєстру, схоже по вигляду на відображення структури диска в Провіднику, а справа виводяться ключі, що містяться у вибраному (активному) розділі. За допомогою редактора Ви можете редагувати значення, імпортувати або експортувати реєстр , здійснювати пошук. Розглянемо детальніше структуру реєстру. Реєстр містить шість кореневих розділів (гілок), на яких нижче зупинимося детальніше, кожен з них включає підрозділи, що відображуються в лівій частині вікна у вигляді значка теки. Кінцевим елементом дерева реєстру є ключі або параметри, що діляться на трьох типів:
+
<h3><b>Редактор Regedit і структура реєстру.</b> </h3>
  
- строковые (напр. "C:\Windows");
+
Основним засобом для перегляду і редагування записів реєстру служить спеціалізована утиліта "Редактор реєстру". Для її запуску наберіть в запуску програми (Пуск->Выполнить) команду regedit Відкриється вікно програми, в якій зліва відображується дерево реєстру, схоже по вигляду на відображення структури диска в Провіднику, а справа виводяться ключі, що містяться у вибраному (активному) розділі. За допомогою редактора Ви можете редагувати значення, імпортувати або експортувати реєстр , здійснювати пошук. Розглянемо детальніше структуру реєстру. Реєстр містить шість кореневих розділів (гілок), на яких нижче зупинимося детальніше, кожен з них включає підрозділи, що відображуються в лівій частині вікна у вигляді значка теки. Кінцевим елементом дерева реєстру є ключі або параметри, що
- двоичные (напр. 10 82 A0 8F). Максимальная длина такого ключа 16Кб;
+
діляться на трьох типів:
- DWORD. Этот тип ключа занимает 4 байта и отображается в шестнадцатеричном и в десятичном виде (напр. 0x00000020 (32) - в скобках указано десятичное значение ключа).
+
  
Давайте теперь рассмотрим корневые разделы, точнее какая информация в них содержится. Итак, начнем по порядку:
+
- рядкові (напр. "C:\windows"); <br>
 +
- двійкові (напр. 10 82 A0 8f). Максимальна довжина такого ключа 16Кб; <br>
 +
- DWORD. Цього типа ключа займає 4 байти і відображується в шістнадцятиричному і в десятковому вигляді (напр. 0x00000020 (32) - в дужках вказано десяткове значення ключа). <br>
  
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. Все изменения в HKCU (сокращенное название раздела HKEY_CURRENT_USER) автоматически переносятся в HKU
+
<b>HKEY_CLASSES_ROOT.</b> У цьому розділі міститься інформація про зареєстрованих в Windows типах файлів, що дозволяє відкривати їх по подвійному клацанню миші, а також інформація для OLE і операцій drag-and-drop.
  
HKEY_CURRENT_CONFIG. В этом разделе содержится информация о конфигурации устройств Plug&Play и сведения о конфигурации компьютера с переменным составом аппаратных средств
+
<b>HKEY_CURRENT_USER.</b> Тут містяться налаштування оболонки користувача (наприклад, Робочого столу, меню "Пуск" ...), що увійшов в Windows. Вони дублюють вміст підрозділу HKEY_USER\name, де name - ім'я користувача, що увійшов в Windows. Якщо на комп'ютері працює один користувач і використовується звичайний вхід в Windows, то значення розділу беруться з підрозділу Hkey_users\.DEFAULT.
  
HKEY_DYN_DATA. Здесь хранятся динамические данные о состоянии различных устройств, установленных на компьютере пользователя. Именно сведения этой ветви отображаются в окне "Свойства: Система" на вкладке "Устройства", вызываемого из Панели управления. Данные этого раздела изменяются самой операционной системой, так что редактировать что-либо вручную не рекомендуется.
+
<b>HKEY_LOCAL_MACHINE.</b> Цей розділ містить інформацію, що відноситься до комп'ютера: драйвери, встановлене програмне забезпечення і його налаштування Hkey_users. Містить налаштування оболонки Windows для всіх користувачів. Як було сказано вище, саме з цього розділу інформація копіюється в розділ Hkey_current_user. Всі зміни в HKCU (скорочена назва розділу Hkey_current_user) автоматично переносяться в HKU.
  
Наибольший интерес представляют ветви HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE. Именно там хранятся настройки, позволяющие привести Вашу операционную систему в надлежащий вид :)
+
<b>HKEY_CURRENT_CONFIG.</b> У цьому розділі міститься інформація про конфігурацію пристроїв Plug&play і зведення про конфігурацію комп'ютера із змінним складом апаратних засобів.
  
Восстановление реестра
+
<b>HKEY_DYN_DATA.</b> Тут зберігаються динамічні дані про стан різних пристроїв, встановлених на комп'ютері користувача. Саме відомості цієї гілки відображуються у вікні "Властивості: Система" на вкладці "Пристрою", що викликається з Панелі управління. Дані цього розділу змінюються самою операційною системою, так що редагувати що-небудь уручну не рекомендується.
При работе с реестром надо соблюдать осторожность. Удаление каких-либо важных данных случайно или по незнанию может привести к краху операционной системы. Тогда спасти положение может только восстановление последней работоспособной копии. Если Вы собрались поэкспериментировать с реестром, предварительно сохраните на диске файлы SYSTEM.DAT и USER.DAT. Они находятся в каталоге, куда была установлена операционная система и имеют атрибуты "только для чтения" и "скрытый". В случае если реестр будет серьезно испорчен, Вы сможете переписать эти файлы в каталог Windows, установить нужные атрибуты и реестр будет как новенький. Только не вздумайте восстанавливать эти файлы, когда загружен Windows, иначе система накроется окончательно и спасет ее только полная переустановка! Для восстановления этих файлов надо предварительно перезагрузиться в DOS и уже там заменять испорченные файлы хорошими. Но это не единственный вариант восстановления данных. Дело в том, что операционная система, при каждом удачном запуске сохраняет копию реестра в CAB-файле, который записывается в скрытый каталог SYSBCKUP каталога Windows. По умолчанию, хранятся последние пять копий. Это число может варьироваться от 0 до 99 и устанавливается значением ключа MaxBackupCopies в файле scanreg.ini в каталоге Windows. Правда не стоит устанавливать слишком большое значение, т.к. файлы занимают немало места (один файл имеет размер больше мегабайта). Чтобы восстановить реестр с одной из этих резервных копий надо перезагрузиться в DOS и выполнить команду
+
SCANREG /RESTORE
+
Появится список доступных резервных копий реестра отсортированных по времени их создания. После выбора нужной копии данные будут благополучно восстановлены, и Вы получите реестр, отвечающий состоянию дел на момент его создания. Но если Вы устанавливали какие-то программы или меняли настройки операционной системы в промежуток между последней резервной копией и сбоем в реестре, то все эти данные безвозвратно пропадут. Надо ли нам это? Однозначно нет! Чтобы в любое время создать резервную копию реестра воспользуйтесь командой
+
SCANREG /BACKUP
+
которая в случае нормально прошедшей проверки создаст резервную копию. Еще один вариант резервирования и восстановления реестра состоит в экспортировании раздела или целой ветви, которую Вы планируете изменять. Это можно осуществить в Regedite для Windows в меню "Реестр". Выделите нужный раздел и щелкните по пункту "Экспорт файла реестра". После задания имени файла данные этого раздела будут в него экспортированы. Файл имеет расширение REG. Для его импортирования в реестр достаточно дважды щелкнуть на нем и данные будут перенесены. Правда этот способ восстановления информации имеет один существенный недостаток: все удаленные или измененные записи будут восстановлены, но вот добавленные записи удалены не будут. Поэтому данный способ больше подходит, если Вы проводите какие-то несущественные изменения, и чтобы откатить их не вводя старые данные заново, можно воспользоваться экспортом/импортом. Вообще, работать с реестром надо крайне осторожно, но если Вы будете периодически резервировать его, то никаких проблем возникнуть не должно
+
  
Структура reg-файлов
+
Найбільший інтерес представляють гілки <b>HKEY_CURRENT_USER</b> и <b>HKEY_LOCAL_MACHINE</b>. Саме там зберігаються налаштування, що дозволяють привести Вашу операційну систему в належний вигляд :)
Знание реестра Windows будет не полным без умения написать reg-файл. Начнем с того, что это такое. Reg-файл - это файл, имеющий определенную структуру и содержащий информацию, которая может быть импортирована в реестр.
+
Если была заблокирована работа с редактором реестра , то наиболее легким способом подредактировать реестр будет создание и импортирование reg-файла (конечно, можно выйти в DOS, в защищенный режим, воспользоваться другими программами, но это все гораздо сложнее, а главное дольше). К reg-файлам предъявляются определенные требования по структуре. Начнем с того, что в первой строке файла обязательно должно быть введено (для Windows 9x)
+
  
REGEDIT4
 
  
или (для Windows 2000/XP)
+
<h3>Відновлення реєстру </h3>
Windows Registry Editor Version 5.00
+
При роботі з реєстром треба дотримуватися обережності. Видалення яких-небудь важливих даних випадкове або по незнанню може привести до краху операційної системи. Тоді врятувати положення може лише відновлення останньої працездатної копії. Якщо Ви зібралися поекспериментувати з реєстром, заздалегідь збережете на диску файли SYSTEM.DAT і USER.DAT. Вони знаходяться в каталозі, куди була встановлена операційна система і мають атрибути "лише для читання" і "прихований". У випадку якщо реєстр буде серйозно зіпсований, Ви зможете переписати ці файли в каталог Windows, встановити потрібні атрибути і реєстр буде як новенький. Лише не надумайтеся відновлювати ці файли, коли завантажений Windows, інакше система накриється остаточно і врятує її лише повне переустановлення!Для відновлення цих файлів треба заздалегідь перезавантажитися в DOS і вже там замінювати зіпсовані файли хорошими. Але це не єдиний варіант відновлення даних. Річ у тому, що операційна система, при кожному вдалому запуску зберігає копію реєстру в cab-файлі, який записується в прихований каталог SYSBCKUP каталога Windows. За умовчанням, зберігаються останні п'ять копій. Це число може варіюватися від 0 до 99 і встановлюється значенням ключа Maxbackupcopies у файлі scanreg.ini у каталозі Windows. Правда не варто встановлювати дуже велике значення, оскільки файли займають немало місця (один файл має розмір більше мегабайта). Щоб відновити реєстр з однією з цих резервних копій треба перезавантажитися в DOS і виконати команду <br>
 +
<b>SCANREG /RESTORE</b>
 +
Це число може варіюватися від 0 до 99 і встановлюється значенням ключа Maxbackupcopies у файлі scanreg.ini у каталозі Windows. Правда не варто встановлювати дуже велике значення, оскільки файли займають немало місця (один файл має розмір більше мегабайта). Щоб відновити реєстр з однією з цих резервних копій треба перезавантажитися в DOS і виконати команду <br>
 +
<b>SCANREG /BACKUP</b>
 +
яка в разі нормальний минулої перевірки створить резервну копію. Ще один варіант резервування і відновлення реєстру полягає в експортуванні розділу або цілої гілки, яку Ви плануєте змінювати. Це можна здійснити в Regedite для Windows в меню "Реєстр". Виділите потрібний розділ і клацніть по пункту "Експорт файлу реєстру". Після завдання імені файлу дані цього розділу будуть в нього експортовані. Файл має розширення REG. Для його імпортування в реєстр досить двічі клацнути на нім і дані будуть перенесені. Правда цей спосіб відновлення інформації має один істотний недолік: всі видалені або змінені записи будуть відновлені, але додані записи видалені не будуть. Тому даний спосіб більше личить, якщо Ви проводите якісь неістотні зміни, і щоб відкотити їх не вводячи старі дані заново, можна скористатися експортом/імпортом. Взагалі, працювати з реєстром треба украй обережно, але якщо Ви періодично резервуватимете його, то жодних проблем виникнути не повинно.<br>
  
Обратите внимание на то, что буквы должны быть большие. Кроме этого в первой строке ничего быть не должно. После этого текста ОБЯЗАТЕЛЬНО должна быть пустая строка. Затем, указывается раздел реестра, в котором надо прописать или изменить какие-то параметры. Название раздела должно быть заключено в квадратные скобки [...]. Ниже прописываются параметры, которые надо добавить, по одному параметру в строке. Если вам надо провести изменения в нескольких разделах, то вы должны оставлять одну пустую строку между последним параметром предыдущего раздела и названием следующего раздела. Может немного запутанно, но вот как это должно выглядеть:
 
  
REGEDIT4
+
<h3>Структура reg-файлів</h3>
 +
Знання реєстру Windows буде не повним без уміння написати reg-файл. Почнемо з того, що це таке. Reg-файл - це файл, що має певну структуру і що містить інформацію, яка може бути імпортована в реєстр.
 +
Якщо була заблокована робота з редактором реєстру, то найбільш легким способом подредактіровать реєстр буде створення і імпортування reg-файлу (звичайно, можна вийти в DOS, в захищений режим, скористатися іншими програмами, але це все набагато складніше, а головне довше). До reg-файлів пред'являються певні вимоги по структурі. Почнемо з того, що в першому рядку файлу обов'язково повинно бути введено (для Windows 9x)<br>
  
[Razdel1]
+
<b>REGEDIT4</b>
"param1"="znachenie1"
+
"param2"="znachenei2"
+
"param3"="znachenie3"
+
  
[Razdel2]
+
або (для Windows 2000/XP)<br>
"param_1"="znachenie_1"
+
<b>Windows Registry Editor Version 5.00</b>
  
Последняя строка в файле должна быть ПУСТОЙ. После того, как вы создали такой файл, просто запустите его как обычную программу, вам будет выдан запрос о необходимости провести изменения в реестре, и после положительного ответа информация из файла будет импортирована. О результатах импортирования Windows сообщит в появившемся после этого окне.
+
Звернете увагу на те, що букви мають бути великі. Окрім цього в першому рядку нічого бути не повинно. Після цього тексту ОБОВ'ЯЗКОВО має бути порожній рядок. Потім, вказується розділ реєстру, в якому треба прописати або змінити якісь параметри. Назва розділу має бути поміщене в квадратні дужки [...]. Нижче прописуються параметри, які треба додати, по одному параметру в рядку. Якщо вам треба провести зміни в декількох розділах, то ви повинні залишати одну порожню рядок між останнім параметром попереднього розділу і назвою наступного розділу. Може трохи заплутано, але як це повинно виглядати:
Примечание: Windows 2000/XP обладает обратной совместимостью и может обрабатывать файлы, созданные в Windows 9x. Но если вы экспортировали файл в Windows XP и перенесли его на Windows 9x, то вручную измените первую строчку на REGEDIT4
+
  
Теперь пару слов о параметрах, которые можно добавлять. Как вы, наверное, обратили внимание, в приведенном выше примере добавляются параметры с помощью строк типа "param1"="znachenie1". Т.е. таким образом добавляется СТРОКОВЫЙ параметр с именем "param1" и значением "znachenie1". Но ведь существуют еще и параметры двоичные и DWORD. Формат записи для их добавления несколько другой. Для параметров типа DWORD используется строка
+
REGEDIT4<br>
  
"param"=dword:XXXXXXXX
+
[Razdel1]<br>
 +
"param1"="znachenie1"<br>
 +
"param2"="znachenei2"<br>
 +
"param3"="znachenie3"<br>
  
Здесь "param" - имя параметра, dword - указывает на тип этого параметра (буквы должны быть обязательно маленькие!) и после двоеточия следует значение из восьми цифр в шестнадцатеричном (!) формате. Однако большинство параметров DWORD имеют значение либо 0, либо 1, значит, вы должны написать соответственно либо 00000000, либо 00000001 вместо значков ХХХХХХХХ. Пробелы в строке не допускаются.
+
[Razdel2]<br>
 +
"param_1"="znachenie_1"<br>
  
Для добавления двоичного параметра формат записи несколько иной:
+
Останній рядок у файлі має бути ПОРОЖНІМ. Після того, як ви створили такий файл, просто запустите його як звичайну програму, вам буде виданий запит про необхідність провести зміни в реєстрі, і після позитивної відповіді інформація з файлу буде імпортована. Про результати імпортування Windows повідомить у вікні, що з'явилося після цього.
 +
<b>Примітка:</b> Windows 2000/xp володіє зворотною сумісністю і може обробляти файли, створені в Windows 9x. Але якщо ви експортували файл в Windows XP і перенесли його на Windows 9x, то уручну зміните першу строчку на Regedit4
  
"param"=hex:XX,XX,XX,....
+
Тепер пару слів про параметри, які можна додавати. Як ви, напевно, звернули увагу, в наведеному вище прикладі додаються параметри за допомогою рядків типа "param1"="znachenie1". Тобто таким чином додається СТРОКОВИЙ параметр з ім'ям "param1" і значенням "znachenie1". Але ж існують ще і параметри двійкові і DWORD. Формат запису для їх додавання дещо інший. Для параметрів типа DWORD використовується рядок<br>
  
Теперь расшифрую эту строку. Ну, с названием параметра все ясно, после знака "=" идет hex, т.е. указывается, что это будет двоичный параметр, затем идут шестнадцатеричные числа, отделенные запятой. Например, если вам надо добавить двоичный параметр равный "be 00 00 00", то вы пишете строку
+
<b>"param"=dword:XXXXXXXX<br></b>
  
"param"=hex:be,00,00,00
+
Тут "param" - ім'я параметра, dword - вказує на типа цього параметра (букви мають бути обов'язково маленькі!) і після двокрапки слідує значення з восьми цифр в шістнадцятиричному (!) форматі. Проте більшість параметрів DWORD мають значення або 0, або 1, значить, ви повинні написати відповідно або 00000000, або 00000001 замість значків ХХХХХХХХ. Пропуски в рядку не допускаються.
  
В реестре существуют параметры "По умолчанию" ("Default"). Чтобы присвоить им какое-то значение через reg-файл, надо добавить такую строку:
+
Для додавання двійкового параметра формат запису декілька інший:<br>
  
@="znachenie"
+
<b>"param"=hex:XX,XX,XX,....</b><br>
  
Здесь значок @ показывает, что у нас присваивается значение параметра "По умолчанию". Обратите внимание на то, что он не заключается в кавычки.
+
Тепер розшифрую цей рядок. Ну, з назвою параметра все ясно, після знаку "=" йде hex, тобто вказується, що це буде двійковий параметр, потім йдуть шістнадцятиричні числа, відокремлені комою. Наприклад, якщо вам треба додати двійковий параметр рівний "be 00 00 00", то ви пишете рядок<br>
  
Теперь я приведу пример простенького reg-файла, который прописывает в реестр сайт, устанавливающий домашнюю страничку в Internet Explorer'e:
+
<b>"param"=hex:be,00,00,00</b><br>
REGEDIT4 [HKEY_CURRENT_USER\Software\ Microsoft\Internet Explorer\Main] "Start Page" = "http://winchanger.com.ru/
+
  
Удаление параметров
+
У реєстрі існують параметри "За умовчанням" ("Default"). Щоб привласнити їм якесь значення через reg-файл, треба додати такий рядок:<br>
  
С помощью reg-файлов можно не только устанавливать новые параметры, но и удалять их. Например, для удаления раздела из реестра надо перед его именем в квадратных скобках поставить символ "-". Вот как это выглядит:
+
<b>@="znachenie"</b><br>
  
[-HKEY_LOCAL_MACHINE\Software\ QuickSoft\QuickStart]
+
Тут значок @ показує, що у нас привласнюється значення параметра "За умовчанням". Звернете увагу на те, що він не полягає в лапки.
  
Благодаря этой записи, подраздел "QuickStart" из раздела "QuickSoft" будет удален со всем содержимым.
+
Тепер я наведу приклад простенького reg-файлу, який прописує в реєстр сайт, що встановлює домашню сторіночку в Internet Explorer'e:<br>
 +
<b>REGEDIT4 [HKEY_CURRENT_USER\Software\ Microsoft\Internet Explorer\Main] "Start Page" = "http://winchanger.com.ru/</b><br>
  
Для удаления отдельных параметров используйте следующий синтаксис:
+
<h3>Видалення параметрів</h3>
REGEDIT4
+
  
[HKEY_CURRENT_USER\Software]
+
За допомогою reg-файлів можна не лише встановлювати нові параметри, але і видаляти їх. Наприклад, для видалення розділу з реєстру треба перед його ім'ям в квадратних дужках поставити символ "-". От як це виглядає:<br>
"xxx"=-
+
Параметры командной строки
+
  
Редактор реестра можно запускать с некоторыми ключами
+
<b>[-HKEY_LOCAL_MACHINE\Software\ QuickSoft\QuickStart]</b><br>
  
    * /s (импортирует значения из reg-файла без вывода диалогового окна)
+
Завдяки цьому запису, підрозділ "Quickstart" з розділу "Quicksoft" буде видалений зі всім вмістом.<br>
    * /e (экспортирует параметры в reg-файл. Пример: regedit /e myfile.reg HKEY_USERS\.DEFAULT
+
  
Источник: http://www.whatis.ru/
+
Для видалення окремих параметрів використовуйте наступний синтаксис:<br>
 +
<b>REGEDIT4<br>
 +
 
 +
[HKEY_CURRENT_USER\Software]<br>
 +
"xxx"=-</b><br>
 +
 
 +
Параметрыи командного рядка
 +
 
 +
Редактор реєстра можна запустити з деякими ключами
 +
 
 +
    * /s (імпортує значення з reg-файлу без виведення діалогового вікна)
 +
    * /e (експортує параметри в reg-файл. Приклад: regedit /e myfile.reg HKEY_USERS\.DEFAULT
 +
 
 +
Джерело: http://www.whatis.ru/

Поточна версія на 12:41, 23 грудня 2008

Реєстр - база даних OS, яка містить конфігураційні відомості. Фізично вся інформація реєстру розбита на декілька файлів. Реєстри Windows 9х і NT частково відрізняються. В Windows 95/98 реєстр міститься в двух файлах SYSTEM.DAT і USER.DAT, які містяться в каталозі Windows. В Windows ME був добавлений ще один файл CLASSES.DAT.
За задумкою Microsoft він повністю повинний був замінити ini, які були залишені лише для сумісності із старими програмами, орієнтованими на раніші версії операційної системи. Чому стався перехід від ini файлів до реєстру? Річ у тому, що на ці файли накладається ряд серйозних обмежень, і головне з них полягає в тому, що граничний розмір такого файлу складає 64Кб.


Редактор Regedit і структура реєстру.

Основним засобом для перегляду і редагування записів реєстру служить спеціалізована утиліта "Редактор реєстру". Для її запуску наберіть в запуску програми (Пуск->Выполнить) команду regedit Відкриється вікно програми, в якій зліва відображується дерево реєстру, схоже по вигляду на відображення структури диска в Провіднику, а справа виводяться ключі, що містяться у вибраному (активному) розділі. За допомогою редактора Ви можете редагувати значення, імпортувати або експортувати реєстр , здійснювати пошук. Розглянемо детальніше структуру реєстру. Реєстр містить шість кореневих розділів (гілок), на яких нижче зупинимося детальніше, кожен з них включає підрозділи, що відображуються в лівій частині вікна у вигляді значка теки. Кінцевим елементом дерева реєстру є ключі або параметри, що діляться на трьох типів:

- рядкові (напр. "C:\windows");
- двійкові (напр. 10 82 A0 8f). Максимальна довжина такого ключа 16Кб;
- DWORD. Цього типа ключа займає 4 байти і відображується в шістнадцятиричному і в десятковому вигляді (напр. 0x00000020 (32) - в дужках вказано десяткове значення ключа).

Давайте тепер розглянемо кореневі розділи, точніше яка інформація в них міститься.

Отже, почнемо по порядку:

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. Всі зміни в HKCU (скорочена назва розділу Hkey_current_user) автоматично переносяться в HKU.

HKEY_CURRENT_CONFIG. У цьому розділі міститься інформація про конфігурацію пристроїв Plug&play і зведення про конфігурацію комп'ютера із змінним складом апаратних засобів.

HKEY_DYN_DATA. Тут зберігаються динамічні дані про стан різних пристроїв, встановлених на комп'ютері користувача. Саме відомості цієї гілки відображуються у вікні "Властивості: Система" на вкладці "Пристрою", що викликається з Панелі управління. Дані цього розділу змінюються самою операційною системою, так що редагувати що-небудь уручну не рекомендується.

Найбільший інтерес представляють гілки HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE. Саме там зберігаються налаштування, що дозволяють привести Вашу операційну систему в належний вигляд :)


Відновлення реєстру

При роботі з реєстром треба дотримуватися обережності. Видалення яких-небудь важливих даних випадкове або по незнанню може привести до краху операційної системи. Тоді врятувати положення може лише відновлення останньої працездатної копії. Якщо Ви зібралися поекспериментувати з реєстром, заздалегідь збережете на диску файли SYSTEM.DAT і USER.DAT. Вони знаходяться в каталозі, куди була встановлена операційна система і мають атрибути "лише для читання" і "прихований". У випадку якщо реєстр буде серйозно зіпсований, Ви зможете переписати ці файли в каталог Windows, встановити потрібні атрибути і реєстр буде як новенький. Лише не надумайтеся відновлювати ці файли, коли завантажений Windows, інакше система накриється остаточно і врятує її лише повне переустановлення!Для відновлення цих файлів треба заздалегідь перезавантажитися в DOS і вже там замінювати зіпсовані файли хорошими. Але це не єдиний варіант відновлення даних. Річ у тому, що операційна система, при кожному вдалому запуску зберігає копію реєстру в cab-файлі, який записується в прихований каталог SYSBCKUP каталога Windows. За умовчанням, зберігаються останні п'ять копій. Це число може варіюватися від 0 до 99 і встановлюється значенням ключа Maxbackupcopies у файлі scanreg.ini у каталозі Windows. Правда не варто встановлювати дуже велике значення, оскільки файли займають немало місця (один файл має розмір більше мегабайта). Щоб відновити реєстр з однією з цих резервних копій треба перезавантажитися в DOS і виконати команду
SCANREG /RESTORE Це число може варіюватися від 0 до 99 і встановлюється значенням ключа Maxbackupcopies у файлі scanreg.ini у каталозі Windows. Правда не варто встановлювати дуже велике значення, оскільки файли займають немало місця (один файл має розмір більше мегабайта). Щоб відновити реєстр з однією з цих резервних копій треба перезавантажитися в DOS і виконати команду
SCANREG /BACKUP яка в разі нормальний минулої перевірки створить резервну копію. Ще один варіант резервування і відновлення реєстру полягає в експортуванні розділу або цілої гілки, яку Ви плануєте змінювати. Це можна здійснити в Regedite для Windows в меню "Реєстр". Виділите потрібний розділ і клацніть по пункту "Експорт файлу реєстру". Після завдання імені файлу дані цього розділу будуть в нього експортовані. Файл має розширення REG. Для його імпортування в реєстр досить двічі клацнути на нім і дані будуть перенесені. Правда цей спосіб відновлення інформації має один істотний недолік: всі видалені або змінені записи будуть відновлені, але додані записи видалені не будуть. Тому даний спосіб більше личить, якщо Ви проводите якісь неістотні зміни, і щоб відкотити їх не вводячи старі дані заново, можна скористатися експортом/імпортом. Взагалі, працювати з реєстром треба украй обережно, але якщо Ви періодично резервуватимете його, то жодних проблем виникнути не повинно.


Структура reg-файлів

Знання реєстру Windows буде не повним без уміння написати reg-файл. Почнемо з того, що це таке. Reg-файл - це файл, що має певну структуру і що містить інформацію, яка може бути імпортована в реєстр. Якщо була заблокована робота з редактором реєстру, то найбільш легким способом подредактіровать реєстр буде створення і імпортування reg-файлу (звичайно, можна вийти в DOS, в захищений режим, скористатися іншими програмами, але це все набагато складніше, а головне довше). До reg-файлів пред'являються певні вимоги по структурі. Почнемо з того, що в першому рядку файлу обов'язково повинно бути введено (для Windows 9x)

REGEDIT4

або (для Windows 2000/XP)
Windows Registry Editor Version 5.00

Звернете увагу на те, що букви мають бути великі. Окрім цього в першому рядку нічого бути не повинно. Після цього тексту ОБОВ'ЯЗКОВО має бути порожній рядок. Потім, вказується розділ реєстру, в якому треба прописати або змінити якісь параметри. Назва розділу має бути поміщене в квадратні дужки [...]. Нижче прописуються параметри, які треба додати, по одному параметру в рядку. Якщо вам треба провести зміни в декількох розділах, то ви повинні залишати одну порожню рядок між останнім параметром попереднього розділу і назвою наступного розділу. Може трохи заплутано, але як це повинно виглядати:

REGEDIT4

[Razdel1]
"param1"="znachenie1"
"param2"="znachenei2"
"param3"="znachenie3"

[Razdel2]
"param_1"="znachenie_1"

Останній рядок у файлі має бути ПОРОЖНІМ. Після того, як ви створили такий файл, просто запустите його як звичайну програму, вам буде виданий запит про необхідність провести зміни в реєстрі, і після позитивної відповіді інформація з файлу буде імпортована. Про результати імпортування Windows повідомить у вікні, що з'явилося після цього. Примітка: Windows 2000/xp володіє зворотною сумісністю і може обробляти файли, створені в Windows 9x. Але якщо ви експортували файл в Windows XP і перенесли його на Windows 9x, то уручну зміните першу строчку на Regedit4

Тепер пару слів про параметри, які можна додавати. Як ви, напевно, звернули увагу, в наведеному вище прикладі додаються параметри за допомогою рядків типа "param1"="znachenie1". Тобто таким чином додається СТРОКОВИЙ параметр з ім'ям "param1" і значенням "znachenie1". Але ж існують ще і параметри двійкові і DWORD. Формат запису для їх додавання дещо інший. Для параметрів типа DWORD використовується рядок

"param"=dword:XXXXXXXX

Тут "param" - ім'я параметра, dword - вказує на типа цього параметра (букви мають бути обов'язково маленькі!) і після двокрапки слідує значення з восьми цифр в шістнадцятиричному (!) форматі. Проте більшість параметрів DWORD мають значення або 0, або 1, значить, ви повинні написати відповідно або 00000000, або 00000001 замість значків ХХХХХХХХ. Пропуски в рядку не допускаються.

Для додавання двійкового параметра формат запису декілька інший:

"param"=hex:XX,XX,XX,....

Тепер розшифрую цей рядок. Ну, з назвою параметра все ясно, після знаку "=" йде hex, тобто вказується, що це буде двійковий параметр, потім йдуть шістнадцятиричні числа, відокремлені комою. Наприклад, якщо вам треба додати двійковий параметр рівний "be 00 00 00", то ви пишете рядок

"param"=hex:be,00,00,00

У реєстрі існують параметри "За умовчанням" ("Default"). Щоб привласнити їм якесь значення через reg-файл, треба додати такий рядок:

@="znachenie"

Тут значок @ показує, що у нас привласнюється значення параметра "За умовчанням". Звернете увагу на те, що він не полягає в лапки.

Тепер я наведу приклад простенького reg-файлу, який прописує в реєстр сайт, що встановлює домашню сторіночку в Internet Explorer'e:
REGEDIT4 [HKEY_CURRENT_USER\Software\ Microsoft\Internet Explorer\Main] "Start Page" = "http://winchanger.com.ru/

Видалення параметрів

За допомогою reg-файлів можна не лише встановлювати нові параметри, але і видаляти їх. Наприклад, для видалення розділу з реєстру треба перед його ім'ям в квадратних дужках поставити символ "-". От як це виглядає:

[-HKEY_LOCAL_MACHINE\Software\ QuickSoft\QuickStart]

Завдяки цьому запису, підрозділ "Quickstart" з розділу "Quicksoft" буде видалений зі всім вмістом.

Для видалення окремих параметрів використовуйте наступний синтаксис:
REGEDIT4

[HKEY_CURRENT_USER\Software]
"xxx"=-

Параметрыи командного рядка

Редактор реєстра можна запустити з деякими ключами

   * /s (імпортує значення з reg-файлу без виведення діалогового вікна)
   * /e (експортує параметри в reg-файл. Приклад: regedit /e myfile.reg HKEY_USERS\.DEFAULT

Джерело: http://www.whatis.ru/