Registry in windows features

Structure of the Registry

The registry is a hierarchical database that contains data that is critical for the operation of Windows and the applications and services that run on Windows. The data is structured in a tree format. Each node in the tree is called a key. Each key can contain both subkeys and data entries called values. Sometimes, the presence of a key is all the data that an application requires; other times, an application opens a key and uses the values associated with the key. A key can have any number of values, and the values can be in any form. For more information, see Registry Value Types and Registry Element Size Limits.

Each key has a name consisting of one or more printable characters. Key names are not case sensitive. Key names cannot include the backslash character (), but any other printable character can be used. Value names and data can include the backslash character.

The name of each subkey is unique with respect to the key that is immediately above it in the hierarchy. Key names are not localized into other languages, although values may be.

The following illustration is an example registry key structure as displayed by the Registry Editor.

Each of the trees under My Computer is a key. The HKEY_LOCAL_MACHINE key has the following subkeys: HARDWARE, SAM, SECURITY, SOFTWARE, and SYSTEM. Each of these keys in turn has subkeys. For example, the HARDWARE key has the subkeys DESCRIPTION, DEVICEMAP, and RESOURCEMAP; the DEVICEMAP key has several subkeys including VIDEO.

Each value consists of a value name and its associated data, if any. MaxObjectNumber and VgaCompatible are values that contain data under the VIDEO subkey.

A registry tree can be 512 levels deep. You can create up to 32 levels at a time through a single registry API call.

How do I open and edit the Windows registry?

Fixing Windows errors, tweaking Windows features, or completely removing a program can sometimes require you to edit the Windows registry. This page provides help on how to open and view the Windows registry, edit, and delete registry values.

Before editing or changing anything in the Microsoft Windows registry, we recommend you back up the registry. For help with backing up the registry, see: How to back up and restore the Windows registry.

How to open the Windows registry

To open the Windows registry, follow the steps below for your version of Windows.

If you have restricted access to the Windows computer you’re logged in to, you may not be able to access the Windows registry.

Windows 10

  1. Type regedit in the Windows search box on the taskbar and press Enter .
  2. If prompted by User Account Control, click Yes to open the Registry Editor.
  3. The Windows Registry Editor window should open and look similar to the example shown below.

Windows 8

  1. Type regedit on the Start screen and select the regedit option in the search results.
  2. If prompted by User Account Control, click Yes to open the Registry Editor.
  3. The Windows Registry Editor window should open and look similar to the example shown below.

Windows 7 and earlier

  1. Click Start or press the Windows key .
  2. In the Start menu, either in the Run box or the Search box, type regedit and press Enter . In Windows 8, you can type regedit on the Start screen and select the regedit option in the search results. In Windows 10, type regedit in the Search box on the taskbar and press Enter .
  3. If prompted by User Account Control, click Yes to open the Registry Editor.
  4. The Windows Registry Editor window should open and look similar to the example shown below.

How to browse the Windows registry

When most users need to edit their registry, they’re given the location or path of where the registry value is located and what to change. Below is an example path for a commonly accessed registry subkey. To browse to this location, you first start by opening the HKEY_LOCAL_MACHINE key (folder). In this key, you see the SOFTWARE folder, then Microsoft, Windows, CurrentVersion, and finally the Run folder.

Each backslash («\») in a registry path represents another folder in the registry, with the name of that folder following the backslash.

After navigating to the registry path above, you’ll see a window similar to the example below. In this example, you can see four different string value keys, which are pointing to the programs that run each time the computer is turned on or restarted.

How to edit a Windows registry value

To edit a registry value, double-click the name of the value you want to edit. For example, if we double-clicked the ‘IntelliPoint’ value in the example above, a new window appears that would allow us to change the value of the data. In this case, we could change the file path of where the «ipoint.exe» file is located for the IntelliPoint driver.

How to delete a Windows registry value

To delete a registry value, highlight any registry Name and then press the Del on the keyboard. For example, if we did not want the IntelliPoint program to load each time Windows starts, we could highlight IntelliPoint and then press the Del .

Читайте также:  Windows rdp две раскладки клавиатуры

Windows registry shorthand and abbreviations

In some documentation and online forums, the registry values may be abbreviated. For example, instead of saying «HKEY_LOCAL_MACHINE,» it is easier to say and write «HKLM.» For a listing of registry terms and shorthand, see our registry definition.

Registry Functions

The following are the registry functions.

Function Description
GetSystemRegistryQuota Retrieves the current size of the registry and the maximum size that the registry is allowed to attain on the system.
RegCloseKey Closes a handle to the specified registry key.
RegConnectRegistry Establishes a connection to a predefined registry handle on another computer.
RegCopyTree Copies the specified registry key, along with its values and subkeys, to the specified destination key.
RegCreateKeyEx Creates the specified registry key.
RegCreateKeyTransacted Creates the specified registry key and associates it with a transaction.
RegDeleteKey Deletes a subkey and its values.
RegDeleteKeyEx Deletes a subkey and its values from the specified platform-specific view of the registry.
RegDeleteKeyTransacted Deletes a subkey and its values from the specified platform-specific view of the registry as a transacted operation.
RegDeleteKeyValue Removes the specified value from the specified registry key and subkey.
RegDeleteTree Deletes the subkeys and values of the specified key recursively.
RegDeleteValue Removes a named value from the specified registry key.
RegDisablePredefinedCache Disables handle caching for the predefined registry handle for HKEY_CURRENT_USER for the current process.
RegDisablePredefinedCacheEx Disables handle caching for all predefined registry handles for the current process.
RegDisableReflectionKey Disables registry reflection for the specified key.
RegEnableReflectionKey Enables registry reflection for the specified disabled key.
RegEnumKeyEx Enumerates the subkeys of the specified open registry key.
RegEnumValue Enumerates the values for the specified open registry key.
RegFlushKey Writes all attributes of the specified open registry key into the registry.
RegGetKeySecurity Retrieves a copy of the security descriptor protecting the specified open registry key.
RegGetValue Retrieves the type and data for the specified registry value.
RegLoadKey Creates a subkey under HKEY_USERS or HKEY_LOCAL_MACHINE and stores registration information from a specified file into that subkey.
RegLoadMUIString Loads the specified string from the specified key and subkey.
RegNotifyChangeKeyValue Notifies the caller about changes to the attributes or contents of a specified registry key.
RegOpenCurrentUser Retrieves a handle to the HKEY_CURRENT_USER key for the user the current thread is impersonating.
RegOpenKeyEx Opens the specified registry key.
RegOpenKeyTransacted Opens the specified registry key and associates it with a transaction.
RegOpenUserClassesRoot Retrieves a handle to the HKEY_CLASSES_ROOT key for the specified user.
RegOverridePredefKey Maps a predefined registry key to a specified registry key.
RegQueryInfoKey Retrieves information about the specified registry key.
RegQueryMultipleValues Retrieves the type and data for a list of value names associated with an open registry key.
RegQueryReflectionKey Determines whether reflection has been disabled or enabled for the specified key.
RegQueryValueEx Retrieves the type and data for a specified value name associated with an open registry key.
RegReplaceKey Replaces the file backing a registry key and all its subkeys with another file.
RegRestoreKey Reads the registry information in a specified file and copies it over the specified key.
RegSaveKey Saves the specified key and all of its subkeys and values to a new file.
RegSaveKeyEx Saves the specified key and all of its subkeys and values to a new file. You can specify the format for the saved key or hive.
RegSetKeyValue Sets the data for the specified value in the specified registry key and subkey.
RegSetKeySecurity Sets the security of an open registry key.
RegSetValueEx Sets the data and type of a specified value under a registry key.
RegUnLoadKey Unloads the specified registry key and its subkeys from the registry.

The following shell functions can be used with the registry:

The following are the initialization-file functions. They retrieve information from and copy information to a system- or application-defined initialization file. These functions are provided only for compatibility with 16-bit versions of Windows. New applications should use the registry.

Function Description
GetPrivateProfileInt Retrieves an integer associated with a key in the specified section of an initialization file.
GetPrivateProfileSection Retrieves all the keys and values for the specified section of an initialization file.
GetPrivateProfileSectionNames Retrieves the names of all sections in an initialization file.
GetPrivateProfileString Retrieves a string from the specified section in an initialization file.
GetPrivateProfileStruct Retrieves the data associated with a key in the specified section of an initialization file.
GetProfileInt Retrieves an integer from a key in the specified section of the Win.ini file.
GetProfileSection Retrieves all the keys and values for the specified section of the Win.ini file.
GetProfileString Retrieves the string associated with a key in the specified section of the Win.ini file.
WritePrivateProfileSection Replaces the keys and values for the specified section in an initialization file.
WritePrivateProfileString Copies a string into the specified section of an initialization file.
WritePrivateProfileStruct Copies data into a key in the specified section of an initialization file.
WriteProfileSection Replaces the contents of the specified section in the Win.ini file with specified keys and values.
WriteProfileString Copies a string into the specified section of the Win.ini file.

Obsolete Functions

These functions are provided only for compatibility with 16-bit versions of Windows:

Сведения реестра Windows для продвинутых пользователей

В этой статье описывается реестр Windows и данная статья содержит сведения о том, как редактировать и создать его поддержку.

Исходная версия продукта: Windows 10 — все выпуски, Windows Server 2012 R2
Исходный номер КБ: 256986

Описание реестра

Словарь компьютеров Майкрософт( Fifth Edition) определяет реестр как:

Центральная иерархическая база данных, используемая в Windows 98, Windows CE, Windows NT и Windows 2000 для хранения сведений, необходимых для настройки системы для одного или более пользователей, приложений и аппаратных устройств.

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

Реестр заменяет большинство текстовых INI-файлов, используемых в файлах конфигурации Windows 3.x и MS-DOS, таких как Autoexec.bat и Config.sys. Хотя реестр распространен в нескольких операционных системах Windows, между ними есть некоторые различия. Ульи реестра — это группа ключей, подмаек и значений в реестре с набором вспомогательных файлов, содержащих резервные копии данных. Вспомогательные файлы для всех ульев, кроме HKEY_CURRENT_USER, находятся в папке % в SystemRoot%\System32\Config Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003 и Windows Vista. Вспомогательные файлы для HKEY_CURRENT_USER находятся в %SystemRoot%\Profiles\Username папке. Расширения имен файлов в этих папках указывают тип содержащихся в них данных. Кроме того, отсутствие расширения иногда может указывать на тип содержащихся в них данных.

Hive реестра Вспомогательные файлы
HKEY_LOCAL_MACHINE\SAM Sam, Sam.log, Sam.sav
HKEY_LOCAL_MACHINE\Security Security, Security.log, Security.sav
HKEY_LOCAL_MACHINE\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 Вметье файлы реестра называются Classes.dat, User.dat и System.dat.

Функции безопасности в Windows могут позволить администратору управлять доступом к ключам реестра.

В следующей таблице перечислены предопределные ключи, используемые системой. Максимальный размер имени ключа составляет 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 откроется правильная программа. Этот ключ иногда сокращен как 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_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 Содержит сведения о профиле оборудования, используемом локальным компьютером при запуске системы.

Реестр в 64-битных версиях Windows XP, Windows Server 2003 и Windows Vista разделен на 32- и 64-битные ключи. Многие из 32-битных ключей имеют те же имена, что и их 64-битные аналоги, и наоборот. 64-битная версия редактора реестра по умолчанию, включаемая в 64-битные версии Windows XP, Windows Server 2003 и Windows Vista, отображает 32-битные ключи под HKEY_LOCAL_MACHINE\Software\WOW6432Node узлом. Дополнительные сведения о просмотре реестра в 64-битных версиях Windows см. в подсистеме просмотра реестра системы с помощью 64-битных версий Windows.

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

  • Windows Server 2003, Windows XP и Windows Vista: 16 383 символов
  • Windows 2000: 260 символов ANSI или 16 383 символов Юникода
  • Windows 98/Windows 95: 255 символов

Длинные значения (более 2048 bytes) должны храниться как файлы с именами файлов, хранимые в реестре. Это помогает эффективно работать в реестре. Максимальный размер значения:

  • Windows NT 4.0/Windows 2000/Windows XP/Windows Server 2003/Windows Vista: доступная память
  • Windows 98/Windows 95: 16 300 bytes

Общий размер всех значений ключа составляет 64 КБ.

Name Тип данных Описание
Двоичное значение REG_BINARY Необработанные двоичные данные. Большая часть сведений об аппаратном компоненте хранится в виде двоичных данных и отображается в редакторе реестра в виде формата.
Значение DWORD REG_DWORD Данные, представленные числом длиной 4 бита (32-битное число). Многие параметры драйверов и служб устройств имеют этот тип и отображаются в редакторе реестра в двоичном, hexadecimal или десятичном формате. Связанные значения DWORD_LITTLE_ENDIAN (наименее значимый byte находится на самом низком адресе) и REG_DWORD_BIG_ENDIAN (наименее значимый byte находится на самом высоком адресе).
Расширяемое строковое значение REG_EXPAND_SZ Строка данных переменной длины. Этот тип данных включает переменные, которые разрешены, когда программа или служба использует эти данные.
Многострочный параметр REG_MULTI_SZ Несколько строк. Значения, содержащие списки или несколько значений в форме, которую могут читать люди, обычно являются этим типом. Записи разделяются пробелами, запятой или другими знаками.
Строка REG_SZ Текстовая строка фиксированной длины.
Двоичное значение REG_RESOURCE_LIST Ряд вложенных массивов, предназначенных для хранения списка ресурсов, используемого драйвером оборудования или одним из физических устройств, которые он контролирует. Эти данные обнаруживаются и записаны в дереве \ResourceMap системой и отображаются в редакторе реестра в виде двоичного значения.
Двоичное значение REG_RESOURCE_REQUIREMENTS_LIST Ряд вложенных массивов, предназначенных для хранения списка возможных аппаратных ресурсов драйвера или одного из физических устройств, которые он может использовать. Система записывает подмножество этого списка в дерево \ResourceMap. Эти данные обнаруживаются системой и отображаются в редакторе реестра в формате двоичного значения.
Двоичное значение REG_FULL_RESOURCE_DESCRIPTOR Ряд вложенных массивов, предназначенных для хранения списка ресурсов, используемого физическим аппаратным устройством. Эти данные обнаруживаются и записи в дереве \HardwareDescription системой и отображаются в редакторе реестра в виде двоичного значения.
Нет REG_NONE Данные без определенного типа. Эти данные заносят в реестр системой или приложениями и отображаются в редакторе реестра в виде двоичного значения в виде двоичного значения.
ссылок. REG_LINK Строка Юникода, именуемая символьной ссылкой.
Значение QWORD REG_QWORD Данные, представленные числом, которое является 64-битным числом. Эти данные отображаются в редакторе реестра как двоичное значение и представлены в Windows 2000.

Back up the registry

Перед изменением реестра экспортируйте ключи из реестра, который планируется изменить, или сируйте все его. В случае возникновения проблемы можно следовать шагам в разделе «Восстановление реестра», чтобы восстановить предыдущее состояние реестра. Для резервного копирования всего реестра используйте с помощью резервной копии состояние системы с помощью резервной копии. Состояние системы включает реестр, базу данных регистрации классов COM+ и файлы загрузки. Дополнительные сведения о резервном копировании состояния системы с помощью резервной копии см. в следующих статьях:

Изменение реестра

Чтобы изменить данные реестра, программа должна использовать функции реестра, определенные в функциях реестра.

Администраторы могут изменять реестр с помощью редактора реестра (Regedit.exe или Regedt32.exe), групповой политики, системной политики, реестра (REG) или с помощью скриптов, таких как файлы скриптов VisualBasic.

Использование пользовательского интерфейса Windows

Для изменения параметров системы рекомендуется использовать пользовательский интерфейс Windows, а не редактировать реестр вручную. Однако редактирование реестра иногда может быть лучшим способом решения проблемы с продуктом. Если проблема задокументирована в базе знаний Майкрософт, будет доступна статья с пошагами инструкции по редактированию реестра для этой проблемы. Мы рекомендуем выполнять эти инструкции в точности.

Использование редактора реестра

При неправильном изменении реестра с использованием редактора реестра или другого способа могут случиться серьезные проблемы. Для решения этих проблем может потребоваться переустановка операционной системы. Компания Microsoft не может гарантировать, что эти проблемы могут быть решены. Вносите изменения в реестр на ваш страх и риск.

Редактор реестра можно использовать для следующих действий:

  • Найдите подtree, key, subkey или value
  • Добавление подмайки или значения
  • Изменение значения
  • Удаление подмайки или значения
  • Переименование подмайки или значения

Область навигации редактора реестра отображает папки. Каждая папка представляет предопределяемую клавишу на локальном компьютере. При доступе к реестру удаленного компьютера отображаются только два предопределяемого ключа: HKEY_USERS и HKEY_LOCAL_MACHINE.

Использование групповой политики

В консоли управления (MMC) размещены средства администрирования, которые можно использовать для администрирования сетей, компьютеров, служб и других компонентов системы. Оснастка MMC групповой политики позволяет администраторам определять параметры политики, применяемые к компьютерам или пользователям. Вы можете реализовать групповую политику на локальных компьютерах с помощью локальной оснастки MMC групповой политики Gpedit.msc. Групповую политику в Active Directory можно реализовать с помощью оснастки «Пользователи и компьютеры Active Directory». Дополнительные сведения об использовании групповой политики см. в справке в соответствующей оснастке MMC групповой политики.

Использование файла записей регистрации (REG)

Создайте файл записей регистрации (REG), содержащий изменения реестра, а затем запустите REG-файл на компьютере, где нужно внести изменения. REG-файл можно запустить вручную или с помощью скрипта для запуска. Дополнительные сведения см. в статьях о добавлении, изменении и удалении поднастроек и значений реестра с помощью файла записей регистрации (REG).

Использование хоста скриптов Windows

На хост-компьютере скриптов Windows можно запускать сценарии VBScript JScript сценарии непосредственно в операционной системе. Вы можете создавать VBScript и JScript файлы, которые используют методы хоста скриптов Windows для удаления, чтения и записи ключей и значений реестра. Дополнительные сведения об этих методах можно получить на следующих веб-сайтах Майкрософт:

Использование инструмента управления Windows

Инструментарий управления Windows (WMI) является компонентом операционной системы Microsoft Windows и является реализацией корпорацией Майкрософт Web-Based Enterprise Management (WBEM). WBEM — это отраслевая инициатива по разработке стандартной технологии для доступа к информации управления в корпоративной среде. С помощью WMI можно автоматизировать административные задачи (например, изменение реестра) в корпоративной среде. WMI можно использовать в языках сценариев, которые имеют обработок в Windows и обрабатывают объекты Microsoft ActiveX. Для изменения реестра Windows можно также Command-Line WMI Wmic.exe (Wmic.exe).

Дополнительные сведения о инструментарии управления Windows см. в документе «Инструментарий управления Windows».

Дополнительные сведения о средстве WMI Command-Line см. в описании средства командной строки инструментали управления Windows (WMI) (Wmic.exe).

Использование средства реестра консоли для Windows

Для изменения реестра можно использовать средство реестра консоли для Windows (Reg.exe). Для получения справки по Reg.exe введите в командной панели reg /? и нажмите кнопку «ОК».

Восстановление реестра

Чтобы восстановить реестр, используйте соответствующий метод.

Метод 1. Восстановление ключей реестра

Чтобы восстановить экспортированных подмеков реестра, дважды щелкните файл записей регистрации (REG), сохраненный в разделе «Экспорт подмаек реестра». Или можно восстановить весь реестр из резервной копии. Дополнительные сведения о восстановлении всего реестра см. в разделе «Метод 2. Восстановление всего реестра» далее в этой статье.

Метод 2. Восстановление всего реестра

Чтобы восстановить весь реестр, восстановим состояние системы из резервной копии. Дополнительные сведения о восстановлении состояния системы из резервной копии см. в подсистеме резервного копирования для защиты данных и восстановления файлов и папок на компьютере в Windows XP и Windows Vista.

При архивном копировании состояния системы также создаются обновленные копии файлов реестра в %SystemRoot%\Repair папке.

Ссылки

Дополнительные сведения можно получить на следующих веб-сайтах:

Каталог тестовых продуктов Windows Server — это справочник по продуктам, которые были протестированы на совместимость с Windows Server.

Data Protection Manager (DPM) является ключевым членом семейства продуктов управления Microsoft System Center и предназначен для помощи ИТ-специалистам в управлении средой Windows. DPM — это новый стандарт резервного копирования и восстановления Windows, который обеспечивает непрерывную защиту данных для приложений и файлового сервера Майкрософт, которые используют легко интегрированные дисковые и ленточные носитли. Дополнительные сведения о том, как создать и восстановить реестр, см. в сведениях о том, как создать и восстановить реестр в Windows XP и Windows Vista.

Читайте также:  Linux для java разработчиков
Оцените статью