Структура реєстру. Типи даних. Зберігання реєстру
На зміну ini-файлам, які мають ряд концептуальних обмежень, ще в Windows 3.1било введено поняття реєстру - реєстраційної бази даних, що зберігає разлічниенастройкі ОС і додатків. Спочатку реєстр був призначений тільки длязберігання відомостей про об`єкти OLE (Object Linking and Embedding - зв`язок івнедреніе об`єктів) і зіставлень додатків розширень імен файлів, однакопозже його структура і межі використання розширилися. Реєстри різних версійWindows мають разлічія- це потрібно пам`ятати при імпорті reg-файлів. У Windows 2000і XP в архітектуру реєстру були введені важливі нововведення, улучшающіефункціональность даного компонента ОС.
Реєстр зберігається в бінарному (довічним) вигляді, тому для ручної роботи з ним необхідна спеціальна програма-редактор реєстру. В XP це Regedit.exe, в інших версіях NT ними являютсяRegedit.exe і Regedt32.exe, що має додаткові можливості роботи з реєстром (Regedt32.exe є і в XP, але насправді він усього лише викликає Regedit.exe) .Є і інші програми, в тому числі і консольні (Reg.exe). Ручниммодіфіцірованіем параметрів реєстру ми займемося трохи пізніше, а зараз рассмотрімосновние групи відомостей, що зберігаються в цій базі даних.
- програми установки. Будь-яка грамотно написана программапод Windows повинна мати свій інсталятор-установник. Це може бути встроеннийв ОС Microsoft Installer або будь-який інший. У будь-якому випадку інсталятор іспользуетреестр для зберігання своїх налаштувань, дозволяючи правильно встановлювати і удалятьпріложенія, не чіпаючи спільно використовувані файли.
- розпізнавач. При кожному запуску комп`ютера программаNTDETECT.COM і ядро Windows розпізнає обладнання і зберігає цю інформаціюв реєстрі.
- ядро ОС. Зберігає багато відомостей в реєстрі про свою конфігурації, в тому числі і дані про порядок завантаження драйверів пристроїв.
- Диспетчер PnP (Plug and Play). Абсолютно необхідна вещьдля більшості користувачів, яка позбавляє їх від мук по установкенового обладнання (не завжди, правда :)). Не дивно, що він хранітсвою інформацію в реєстрі.
- драйвери пристроїв. Зберігають тут свої параметри.
- адміністративні кошти. Наприклад, такі, як Панельуправленія, MMC (Micro-soft Management Console) і ін.
- призначені для користувача профілі. Це ціла група параметрів, унікальна для кожного користувача: настройки графічної оболонки, сетевихсоедіненій, програм і багато іншого.
- апаратні профілі. Дозволяють створювати кілька конфігураційс різним обладнанням.
- Загальні настройки програм. Чому загальні? Тому, що у кожного користувача є профіль, де зберігаються його налаштування для соответствующейпрограмми.
Ось ми і розібралися з призначенням реєстру. Тепер звернемо свою увагу на логічну структуру реєстру. Для кращого розуміння матеріалу рекомендується запустити Regedit.exe, тільки нічого поки не чіпайте :).
структура реєстру
Перша аналогія, яка приходить в голову при погляді на реєстр в Regedit.exe, - як схоже на файлову систему! І точно, в наявності деревоподібна структура. Папкамздесь відповідають ключі (keys) або розділи (гілки), а файлів - параметри (values). Розділи можуть містити як вкладені розділи (sub keys), так іпараметри. На верхньому рівні цієї ієрархії знаходяться кореневі розділи (rootkeys). Вони перераховані в таблиці 1
Таблиця 1. Кореневі розділи
Відео: Основи програмування. Програма, зберігання в пам`яті, типи даних
Тип даних | опис |
REG_BINARY | Двійкові дані. Більшість відомостей про устаткування компонентаххранітся у вигляді двійкових даних і виводиться в редакторі реестрав шестнадцатеричном форматі |
REG_DWORD | Дані, представлені цілим числом (4 байта). Багато параметрислужб і драйверів пристроїв мають цей тип і відображаються в двійковому, шістнадцятковому або десятковому форматах |
REG_EXPAND_SZ | Рядок Unicode змінної довжини. Цей тип даних включає змінні, які обчислюються програмою або службою |
REG_MULTI_SZ | Складний рядок Unicode. Цей тип, як правило, мають списки інші записи в форматі, зручному для читання. Записи разделяютсяпробеламі, комами або іншими символами |
REG_SZ | Текстова Unicode рядок фіксованої довжини |
REG_DWORD_LITTLE_ENDIAN | 32-розрядне число в форматі "остроконечников" - молодший байтхранітся першим в пам`яті. еквівалент REG_DWORD |
REG_DWORD_BIG_ENDIAN | 32-розрядне число в форматі "тупоконечников" - старший байтхранітся першим в пам`яті |
REG_LINK | Символічна посилання Unicode. Тільки для внутрішнього використання (деякі кореневі розділи є таким посиланням на інші підрозділи) |
REG_NONE | Параметр не має певного типу даних |
REG_QWORD | 64-розрядне число |
REG_QWORD_LITTLE_ENDIAN | 64-розрядне число в форматі "остроконечников". еквівалент REG_QWORD |
REG_RESOURCE_LIST | Список апаратних ресурсів. Використовується тільки в розділі HKLM HARDWARE |
REG_FULL_RESOURCE_DESCRIPTOR | Дескриптор (описувач) апаратного ресурсу. Застосовується тольков HKLM HARDWARE. |
REG_RESOURCE_REQUIREMENTS_LIST | Список необхідних апаратних ресурсів. Використовується тольков HKLM HARDWARE. |
типи даних
Відео: Розробка баз даних
Всі параметри реєстру мають фіксований тип. У таблиці 2 я наводиться полнийспісок використовуваних типів. Не всі з них використовуються в різних версіях NT -REG_QWORD явно призначений для 64-бітової версії XP. Слід врахувати, що рядтіпов використовується тільки системою в деяких розділах, і створити свій параметртакого типу за допомогою редактора реєстру не вийде.
Таблиця 2. Типи параметрів
Тип даних | опис |
REG_BINARY | Двійкові дані. Більшість відомостей про аппаратнихкомпонентах зберігається у вигляді двійкових даних і виводиться в редакторереестра в шістнадцятковому форматі |
REG_DWORD | Дані, представлені цілим числом (4 байта). Многіепараметри служб і драйверів пристроїв мають цей тип і отображаютсяв довічним, шестнадцатеричном або десятковому форматах |
REG_EXPAND_SZ | Рядок Unicode змінної довжини. Цей тип даннихвключает змінні, які обчислюються програмою або службою |
REG_MULTI_SZ | Складний рядок Unicode. Цей тип, як правило, мають списки і інші записи в форматі, зручному для читання. Запісіразделяются пробілами, комами або іншими символами |
REG_SZ | Текстова Unicode рядок фіксованої довжини |
REG_DWORD_LITTLE_ENDIAN | 32-розрядне число в форматі "остроконечников" -молодший байт зберігається першим в пам`яті. еквівалент REG_DWORD |
REG_DWORD_BIG_ENDIAN | 32-розрядне число в форматі "тупоконечников" -старший байт зберігається першим в пам`яті |
REG_LINK | Символічна посилання Unicode. Тільки для внутреннегоіспользованія (деякі кореневі розділи є такий ссилкойна інші підрозділи) |
REG_NONE | Параметр не має певного типу даних |
REG_QWORD | 64-розрядне число |
REG_QWORD_LITTLE_ENDIAN | 64-розрядне число в форматі "остроконечников" .Еквівалент REG_QWORD |
REG_RESOURCE_LIST | Список апаратних ресурсів. Використовується тольков розділі HKLM HARDWARE |
REG_FULL_RESOURCE_DESCRIPTOR | Дескриптор (описувач) апаратного ресурсу. Пріменяетсятолько в HKLM HARDWARE. |
REG_RESOURCE_REQUIREMENTS_LIST | Список необхідних апаратних ресурсів. Іспользуетсятолько в HKLM HARDWARE. |
зберігання реєстру
Відео: 5 КРОКІВ. Оптимізація даних користувача
Елементи реєстру зберігаються у вигляді атомарної структури. Реєстр поділяється насоставние частини, звані вуликами (hives), або кущами. Вулики зберігаються на дисках вигляді файлів. Деякі вулики, такі, як HKLM HARDWARE, не зберігаються вфайлах, а створюються при кожному завантаженні, тобто є змінними (vola-tile) .При запуску системи реєстру збирається з вуликів в єдину деревоподібну структуру скорневимі розділами. Перерахуємо вулики реєстру і їх місце розташування на диску (дляNT старше версії 4.0) в таблиці 3
Таблиця 3. Вулики реєстру
вулик | Розташування |
HKLM SYSTEM | % SystemRoot% system32 config system |
HKLM SAM | % SystemRoot% system32 config SAM |
HKLM SECURITY | % SystemRoot% system32 config SECURITY |
HKLM SOFTWARE | % SystemRoot% system32 config software |
HKLM HARDWARE | змінний вулик |
HKLM SYSTEM Clone | змінний вулик |
HKU | % USERPROFILE% ntuser.dat |
HKU | % USERPROFILE% Local Settings Application Data Microsoft Windows UsrClass.dat |
HKU .DEFAULT | % SystemRoot% system32 config default |
Крім цих файлів, є ряд допоміжних, з наступними розширеннями:
Відео: Приклад створення бази даних в MS Office Access 2007
- ALT - резервна копія вулика HKLM SYSTEM (відсутній в XP).
- LOG - журнал транзакцій, в якому реєструються всі зміни реєстру.
- SAV - копії вуликів в тому вигляді, в якому вони були після завершення текстовойфази установки.
додаткові відомості
Реєстр є справжньою базою даних, тому в ньому використовується технологіявосстановленія, схожа на ону в NTFS. Вже згадані LOG-файли містять журналтранзакцій, який зберігає всі зміни. Завдяки цьому реалізуетсяатомарность реєстру - тобто в даний момент часу в реєстрі можуть бути лібостарие значення, або нові, навіть після збою. Як бачимо, на відміну від NTFS, тут забезпечується збереження не тільки структури реєстру, а й даних. Дотого ж, реєстр підтримує такі фішки NTFS, як управління ізбірательнимдоступом і аудит подій - система безпеки пронизує всю NT снізудоверху. Так, ці функції доступні тільки з Regedt32.exe або Regedit.exe для XP.А ще весь реєстр або його окремі частини можна експортувати в текстовиеreg-файли (Unicode для Windows 2000 і старше), редагувати їх в блокноті, Азат експортувати назад. У багатьох редакторах реєстру можна подключатьлюбие доступні вулики реєстру, в тому числі і на віддалених машинах (прісоответствующіх повноваження). Є можливість робити резервні копії з допомогою програми NTBackup. І багато іншого. Ну, а на сьогодні наш маленький лікбезокончен
- Тонка настройка модуля windows update
- Системний реєстр windows
- Автоматизація входу в систему на комп`ютері під керуванням windows xp
- Системний реєстр windows. Загальна теорія
- Використання редактора реєстру regedit в командних файлах windows
- Ver - відображення інформації про версію windows.
- Виправлення і відновлення пошкодженого системного реєстру в microsoft windows xp
- Програми, які ми вибіраем.чістота і порядок
- Налаштування windows 8 через реєстр
- Що таке системний реєстр windows
- Як створити резервну копію реєстру. Способи відновлення реєстру windows
- Відновлення windows 7 з резервної копії реєстру
- Реєстр windows. Способи редагування реєстру
- Як зробити резервну копію реєстру windows
- Усунення помилок додатків в windows 7
- Поради по правильній роботі з реєстром
- Що таке реєстр?
- Як очистити реєстр за допомогою ccleaner
- Відновлення реєстру. Практичний посібник
- Створення резервної копії реєстру
- Структура і призначення файлів і папок в андроїд