Jump to content

Описание на системния регистър на Windows


Препоръчан пост

КРАТКО ИЗЛОЖЕНИЕ

В тази статия се описва системният регистър. Освен това в нея се съдържа и информация за това, как се редактира регистърът, както и списък на източници на допълнителна информация.

 

 

ДОПЪЛНИТЕЛНА ИНФОРМАЦИЯ

Описание на системния регистър

Речникът на компютърни термини на Microsoft (пето издание) дефинира системния регистър като:

Централна йерархична база данни, която се използва от Microsoft Windows 9x, Windows CE, Windows NT и Windows 2000 за съхраняване на информация, необходима за конфигуриране на системата за един или повече потребители, приложения и хардуерни устройства.

 

Системният регистър съдържа информация, която Windows непрекъснато използва за справки по време на операции, като например профилите на всеки потребител, инсталираните приложения и типове документи, които всеки потребител може да създава, настройките на прозорците за редактиране на свойства на папки и икони на приложения, хардуерните устройства в системата и използваните портове.

 

Системният регистър заменя повечето базирани на текст .ini файлове, използвани в конфигурационните файлове на Windows 3.x и MS-DOS, като Autoexec.bat и Config.sys. Въпреки че той се среща в няколко операционни системи Windows, между системните регистри в тези системи има някои разлики.

Данните на системния регистър се съхраняват в двоични файлове.

 

Информация относно редактирането на системния регистър

Microsoft препоръчва при редактирането на системния регистър да спазвате само стъпките, които са описани в документацията на Microsoft. При възможност използвайте потребителския интерфейс на Windows, вместо да редактирате директно регистъра.

 

Можете да редактирате системния регистър с помощта на регистърен редактор (Regedit.exe или Regedt32.exe). Неправилното използване на редактора на системния регистър може да предизвика сериозни проблеми, които да наложат преинсталиране на вашата операционна система. Microsoft не гарантира, че проблемите, възникнали вследствие на неправилното използване на редактор на системни регистъри, могат да бъдат разрешени. Използвайте редактора на системния регистър на свой собствен риск. За допълнителна информация относно разликите между Regedit.exe and Regedt32.exe щракнете върху номера на статия по-долу, за да я отворите в Базата знания на Microsoft:

  • 141377 - Разликите между Regedit.exe и Regedt32.exe (Тази връзка може да сочи към съдържание, което е отчасти или изцяло на английски)

Преди да модифицирате системния регистър, направете негово резервно копие, за да може да го възстановите впоследствие при възникване на проблем. Уверете се, че знаете как се прави това. За допълнителна информация как да създадете резервно копие и как да възстановите системния регистър щракнете върху номерата по-долу, за да отворите съответните статии в Базата знания на Microsoft:

  • 322756 - Създаване на резервно копие, редактиране и възстановяване на системния регистър в Windows XP и Windows Server 2003 (Тази връзка може да сочи към съдържание, което е отчасти или изцяло на английски)
  • 322755 - Създаване на резервно копие, редактиране и възстановяване на системния регистър в Windows 2000 (Тази връзка може да сочи към съдържание, което е отчасти или изцяло на английски)
  • 323170 - Създаване на резервно копие, редактиране и възстановяване на системния регистър в Windows NT 4.0 (Тази връзка може да сочи към съдържание, което е отчасти или изцяло на английски)
  • 322754 - Създаване на резервно копие, редактиране и възстановяване на системния регистър в Windows 95, Windows 98 и Windows Me (Тази връзка може да сочи към съдържание, което е отчасти или изцяло на английски)

За да променят данните в системния регистър, програмите трябва да използват функциите на регистъра, дефинирани на следния сайт на MSDN:

 

msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/registry_functions.asp

 

Администраторите могат да нанасят промени в системния регистър с помощта на редактор на регистъра (Regedit.exe или Regedt32.exe), файловете Group Policy, System Policy или Registry (.reg) или чрез стартиране на скриптове (например файлове във формат VisualBasic).

 

Забележка: Системният регистър в 64-битовите версии на Windows XP и Windows Server 2003 е разделен на 32-битови и 64-битови ключове. Много от 32-битовите ключове имат същите имена като техните 64-битови еквиваленти и обратно. 64-битовата версия на редактора на системния регистър (Registry Editor), включена по подразбиране в 64-битовите версии на Windows XP и Windows Server 2003, показва 32-битовите ключове под следния възел:

 

HKEY_LOCAL_MACHINE\Software\WOW6432

 

За допълнителна информация как да разгледате системния регистър на 64-битовите версии на Windows щракнете върху номера по-долу и ще отворите съответната статия в Базата знания на Microsoft:

  • 305097 - Разглеждане на системния регистър на 64-битовите версии на Windows (Тази връзка може да сочи към съдържание, което е отчасти или изцяло на английски)

Зоната за навигация на редактора на системния регистър съдържа папки. Всяка папка представлява предварително дефиниран ключ на локалния компютър. При дистанционен достъп до системния регистър на отдалечен компютър се появяват само два предварително дефинирани ключа: HKEY_USERS и HKEY_LOCAL_MACHINE. Следната таблица съдържа списък с предварително дефинираните ключове, използвани от системата. Максималната дължина на име на ключ е 255 знака.

 

Папка/предварително дефиниран ключ - Описание

  • HKEY_CURRENT_USER - Съдържа корена на конфигурационната информация за потребителя, който в момента е (логнат) в системата. Тук се съхраняват папките, екранните цветове и настройките на контролния панел на потребителя. Тази информация е свързана с профила на потребителя. Понякога наименованието на този ключ се съкращава като "HKCU".
  • HKEY_USERS - Съдържа всички заредени потребителски профили, съдържащи се на компютъра. HKEY_CURRENT_USER е подключ на HKEY_USERS. Понякога наименованието HKEY_USERS се съкращава като "HKU".
  • HKEY_LOCAL_MACHINE - Съдържа специфична за конкретния компютър конфигурационна информация (за който и да е потребител). Понякога наименованието на този ключ се съкращава като "HKLM".
  • HKEY_CLASSES_ROOT - Това е подключ на HKEY_LOCAL_MACHINE\Software. Благодарение на съхраняваната тук информация при отваряне на файл с помощта на Windows Explorer се осигурява стартирането на правилната програма. Понякога наименованието на този ключ се съкращава като "HKCR". В Windows 2000 и в по-късните версии на Windows тази информация се съхранява както под ключа HKEY_LOCAL_MACHINE, така и под HKEY_CURRENT_USER. Ключът HKEY_LOCAL_MACHINE\Software\Classes съдържа настройките по подразбиране, които могат да се прилагат към всички потребители на локалния компютър. Ключът HKEY_LOCAL_MACHINE\Software\Classes съдържа настройките по подразбиране, които могат да се прилагат към всички потребители на локалния компютър. Ключът HKEY_CLASSES_ROOT предоставя изглед на системния регистър, в който се слива информацията от тези два източника. Освен това HKEY_CLASSES_ROOT предоставя този общ вид и за програми, разработени за по-ранните версии на Windows. За да се променят настройките за интерактивния потребител, промените трябва да бъдат направени под HKEY_CURRENT_USER\Software\Classes, вместо под HKEY_CLASSES_ROOT. За да промените настройките по подразбиране, промените трябва да бъдат направени под HKEY_LOCAL_MACHINE\Software\Classes. Ако записвате ключове към някой ключ под HKEY_CLASSES_ROOT, системата запаметява информацията под HKEY_LOCAL_MACHINE\Software\Classes. Ако задавате стойности на ключ под HKEY_CLASSES_ROOT и ключът вече съществува под HKEY_CURRENT_USER\Software\Classes, системата ще съхрани информацията там, вместо под HKEY_LOCAL_MACHINE\Software\Classes.
  • HKEY_CURRENT_CONFIG - Съдържа информация за хардуерния профил, използван от локалния компютър по време на стартиране на системата.

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

  • Windows Server 2003 и Windows XP: 16383 знака
  • Windows 2000: 260 ANSI знака или 16383 Unicode знака
  • Windows Millennium Edition/Windows 98/Windows 95: 255 знака

Дълги стойности (над 2048 байта) трябва да се съхраняват като файлове, а имената на тези файлове се пазят в системния регистър. Това помага за ефективната работа на системния регистър. Максималната дължина на стойност е:

  • Windows NT 4.0/Windows 2000/Windows XP/Windows Server 2003: Наличната памет
  • Windows Millennium Edition/Windows 98/Windows 95: 16300 байта

Забележка Съществува лимит от 64K за общия размер на всички стойности на ключ.

 

Име - Вид данни - Описание

  • Двоична стойност - REG_BINARY - Неструктурирани двоични данни. По-голямата част на информацията за хардуерните компоненти се съхранява като двоични данни и се показва в редактора на системния регистър (Registry Editor) в шестнадесетичен формат.
  • DWORD стойност - REG_DWORD - Данни, представяни с число с дължина 4 байта (32-битово цяло число). От този тип са много параметри за драйвери на устройства и услуги. Те се показват в редактора на системния регистър (Registry Editor) в двоичен, шестнадесетичен или десетичен формат. Свързаните с тях стойности са DWORD_LITTLE_ENDIAN (най-маловажният бит е в най-ниския адрес) и REG_DWORD_BIG_ENDIAN (най-маловажният бит е в най-високия адрес).
  • Стойност на низ, която може да се увеличава - REG_EXPAND_SZ - Низ от данни с променлива дължина. Този вид данни включва променливи, които се разрешават, когато програма или услуга използва данните.
  • Многонизова стойност - REG_MULTI_SZ - Съставен низ. Обикновено от този тип са стойности, които съдържат списъци или множество от стойности във форма, която хората могат да прочетат. Записите се разделят чрез шпации, запетаи или други маркиращи знаци.
  • Низова стойност - REG_SZ - Текстов низ с фиксирана дължина.
  • Двоична стойност - REG_RESOURCE_LIST - Серия от вложени масиви, създадена да съхранява списък с ресурси, който се използва от драйвер на хардуерно устройство или от едно от контролираните от него физически устройства. Тези данни се разпознават и записват от системата в дървото \ResourceMap. Те се показват в редактора на системния регистър (Registry Editor) в шестнадесетичен формат като двоична стойност.
  • Двоична стойност - REG_RESOURCE_REQUIREMENTS_LIST - Серия от вложени масиви, създадена да съхранява списък с драйвери на възможни хардуерни ресурси, които могат да се използват от драйвера или от едно от контролираните от него физически устройства. Системата записва подмножество на този списък в дървото \ResourceMap. Тези данни се разпознават от системата и се показват в редактора на системния регистър (Registry Editor) в шестнадесетичен формат като двоична стойност.
  • Двоична стойност - REG_FULL_RESOURCE_DESCRIPTOR - Серия от вложени масиви, създадена да съхранява списък с ресурси, който се използва от физическо хардуерно устройство. Тези данни се разпознават и записват от системата в дървото \HardwareDescription, и се показват в редактора на системния регистър (Registry Editor) в шестнадесетичен формат като двоична стойност.
  • Няма - REG_NONE - Дата без определен тип. Тези данни се записват в системния регистър от системата или приложни програми и се показват в редактора на системния регистър (Registry Editor) в шестнадесетичен формат като двоична стойност.
  • Препратка - REG_LINK - Символична препратка във формат Unicode.
  • QWORD стойност - REG_QWORD - Данни, представяни във вид на 64-битово цяло число. Тези данни се показват в редактора на системния регистър (Registry Editor) като двоични стойности. За първи път са въведени в Windows 2000.

"Кошерът" на регистъра е група от ключове, подключове и стойности в системния регистър, която има набор от поддържащи файлове, съдържащи резервни копия на нейните данни. Поддържащите файлове за всички "кошери" освен HKEY_CURRENT_USER са в папката Systemroot\System32\Config в Windows NT 4.0, Windows 2000, Windows XP и Windows Server 2003, а поддържащите файлове за HKEY_CURRENT_USER са в папката Systemroot\Profiles\Username. Разширенията на имената на файловете в тези папки, а понякога и липсата на разширение, посочват вида на данните, съдържащи се в тях.

 

"Кошер" на архив - Поддържащи файлове

[*]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

 

В Windows 98 файловете на системния регистър се наричат User.dat и System.dat. В Windows Millennium Edition тези файлове се наричат Classes.dat, User.dat и System.dat.

 

Забележка: Функциите за защита в Windows NT, Windows 2000, Windows XP и Windows Server 2003 позволяват на администратора да контролира достъпа към ключовете на системния регистър.

 

 

БИБЛИОГРАФИЯ

За допълнителна информация посетете следните уеб сайтове на Microsoft:

 

www.microsoft.com/resources/documentation/windows/2000/server/reskit/en-us/default.asp

 

www.microsoft.com/technet/archive/winntas/tips/winntmag/inreg.mspx

 

Статията е от Microsoft и реших, че ще бъде полезно да я пусна и тук.

Link to comment
Сподели другаде

Гост
Отговори на тази тема

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   Не можете да качите директно снимка. Качете или добавете изображението от линк (URL)

Loading...
×
×
  • Създай ново...