Реестр Windows полон объектов, называемых значениями, которые содержат определенные инструкции, на которые ссылаются Windows и приложения.
Существует много типов значений реестра, все из которых описаны ниже. Они включают строковые значения, двоичные значения, значения DWORD (32-разрядные), значения QWORD (64-разрядные), многострочные значения и расширяемые строковые значения.
Где находятся значения реестра?
Значения реестра можно найти по всему реестру в Windows 11, Windows 10, Windows 8, Windows 7, Windows Vista и Windows XP.
В Редакторе реестра находятся не только значения, но и ключи реестра и кусты реестра. Последние два объекта похожи на папки и отображаются в левой части редактора реестра. Таким образом, значения реестра немного похожи на файлы, которые хранятся внутри этих ключей и их «подключей».
Выбор подраздела покажет все его значения реестра в правой части редактора реестра. Это единственное место в реестре, где вы увидите значения - они никогда не указываются слева.
Вот лишь несколько примеров некоторых местоположений реестра, где значение реестра выделено жирным шрифтом:
- HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS\BIOSVendor
- HKEY_CURRENT_USER\Environment\TEMP
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CurrentUser
В каждом примере значением является крайний правый элемент. Опять же, в редакторе реестра эти записи отображаются в виде файлов с правой стороны. Каждое значение содержится в ключе, и каждый ключ происходит из куста реестра (крайняя левая папка выше).
Точная структура поддерживается во всем реестре Windows без исключения.
Типы значений реестра
Существует несколько типов значений реестра, каждый из которых создан с определенной целью. Некоторые используют обычные буквы и цифры, которые легко читать и понимать, в то время как другие используют двоичные или шестнадцатеричные числа для выражения своих значений.
Строковое значение
Строковые значения обозначаются маленьким красным значком с буквами ab на них. Это наиболее часто используемые значения в реестре, а также наиболее удобочитаемые. Они могут содержать буквы, цифры и символы.
Вот пример строкового значения:
HKEY_CURRENT_USER\Панель управления\Клавиатура\KeyboardSpeed
Когда вы открываете значение KeyboardSpeed в этом месте реестра, вы получаете целое число, например 31.
В этом конкретном примере строковое значение определяет скорость, с которой символ будет повторяться, когда его клавиша удерживается нажатой. Если бы вы изменили значение на 0, скорость была бы намного ниже, чем если бы она оставалась равной 31.
Каждое строковое значение используется для разных целей в зависимости от того, где оно расположено в реестре, и каждое из них будет выполнять определенную функцию, если определено другое значение.
Например, другое строковое значение, расположенное в подразделе Keyboard, называется InitialKeyboardIndicators. Вместо того, чтобы выбирать число от 0 до 31, этот принимает только 0 или 2, где 0 означает, что клавиша NUMLOCK будет отключена при первом запуске компьютера, а 2 включает клавишу NUMLOCK по умолчанию.
Это не единственные типы строковых значений в реестре. Другие могут указывать на путь к файлу или папке или служить описанием системных инструментов.
Строковое значение отображается в редакторе реестра как REG_SZ тип значения реестра.
Многострочное значение
Многострочное значение аналогично строковому значению, с той лишь разницей, что они могут содержать список значений вместо одной строки.
Инструмент дефрагментации диска использует следующее многострочное значение для определения определенных параметров, права на которые должны быть у службы:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\defragsvc\RequiredPrivileges
Открытие этого значения показывает, что оно содержит все следующие строковые значения:
SeChangeNotifyPrivilege
SeImpersonatePrivilege
SeIncreaseWorkingSetPrivilege
SeTcbPrivilege
SeSystemProfilePrivilege
SeAuditPrivilege
SeCreateGlobalPrivilege
SeBackupPrivilege
SeManageVolumePrivilege
Не все многострочные значения имеют более одной записи. Некоторые функционируют точно так же, как однострочные значения, но имеют дополнительное пространство для дополнительных записей, если они им нужны.
Редактор реестра перечисляет многострочные значения как REG_MULTI_SZ типы значений реестра.
Расширяемое строковое значение
Расширяемое строковое значение точно такое же, как строковое значение выше, за исключением того, что оно содержит переменные. Когда эти типы значений реестра вызываются Windows или другими программами, их значения расширяются до того, что определяет переменная.
Большинство расширяемых строковых значений легко определяются в редакторе реестра, поскольку их значения содержат знаки %.
Переменные среды являются хорошими примерами расширяемых строковых значений:
HKEY_CURRENT_USER\Environment\TMP
Расширяемое строковое значение TMP: %USERPROFILE%\AppData\Local\Temp. Преимущество этого типа значения реестра заключается в том, что данные не должны содержать имя пользователя, поскольку они используют переменную %USERPROFILE%.
Когда Windows или другое приложение вызывает это значение TMP, оно преобразуется в любое значение, установленное для этой переменной. По умолчанию Windows использует эту переменную для отображения пути, например C:\Users\Tim\AppData\Local\Temp.
REG_EXPAND_SZ - это тип значения реестра, в котором редактор реестра перечисляет расширяемые строковые значения.
Двоичное значение
Как следует из названия, эти типы значений реестра записываются в двоичном формате. Их значки в редакторе реестра окрашены в синий цвет с единицами и нулями.
HKEY_CURRENT_USER\Панель управления\Рабочий стол\WindowMetrics\CaptionFont
Вышеупомянутый путь находится в реестре, где CaptionFont является двоичным значением. В этом примере при открытии этого значения отображается имя шрифта для подписей в Windows, но его данные записываются в двоичном формате, а не в обычной, удобочитаемой форме.
Редактор реестра указывает REG_BINARY в качестве типа значения реестра для двоичных значений.
Значения DWORD (32-разрядные) и значения QWORD (64-разрядные)
Значения DWORD (32-разрядные) и QWORD (64-разрядные) имеют синий значок в реестре Windows. Их значения могут быть выражены как в десятичном, так и в шестнадцатеричном формате.
Причина, по которой одно приложение может создавать значение DWORD (32-разрядное), а другое - значение QWORD (64-разрядное), зависит не от того, работает ли оно в 32-разрядной или 64-разрядной версии Windows, а вместо этого исключительно по битовой длине значения. Это означает, что вы можете иметь оба типа значений реестра как в 32-разрядных, так и в 64-разрядных операционных системах.
В данном контексте слово означает 16 бит. Таким образом, DWORD означает «двойное слово» или 32 бита (16 X 2). Следуя этой логике, QWORD означает "четверное слово" или 64 бита (16 X 4).
Приложение создаст правильное значение реестра, необходимое для соблюдения этих правил битовой длины.
Ниже приведен пример значения DWORD (32-разрядного) в реестре Windows:
HKEY_CURRENT_USER\Панель управления\Персонализация\Слайд-шоу на рабочем столе\Интервал
Открытие этого значения DWORD (32-разрядного), скорее всего, покажет значение данных 1800000 (и 1b7740 в шестнадцатеричном формате). Это значение реестра определяет, насколько быстро (в миллисекундах) ваша заставка перемещается по каждому слайду в слайд-шоу фотографий.
Редактор реестра показывает значения DWORD (32-разрядные) и QWORD (64-разрядные) как типы реестра REG_DWORD и REG_QWORD значения соответственно.
Резервное копирование и восстановление значений реестра
Не имеет значения, изменяете ли вы хотя бы одно значение, всегда делайте резервную копию перед началом работы, просто чтобы быть уверенным, что вы сможете восстановить ее обратно в редакторе реестра, если произойдет что-то непредвиденное.
К сожалению, вы не можете создавать резервные копии отдельных значений реестра. Вместо этого вы должны сделать резервную копию ключа реестра, в котором находится значение. См. нашу статью о том, как создать резервную копию реестра Windows, если вам нужна помощь в этом.
Резервная копия реестра сохраняется в виде REG-файла, который затем можно восстановить обратно в реестр Windows, если вам нужно отменить внесенные изменения.
Когда мне нужно открывать/редактировать значения реестра?
Создание новых значений реестра или удаление/редактирование существующих может решить проблему, с которой вы столкнулись в Windows или с другой программой. Вы также можете изменить значения реестра, чтобы настроить параметры программы или отключить функции приложения.
Например, вы можете создать определенное значение реестра для установки Windows 11, если она не поддерживает ваш процессор, или для изменения размера панели задач Windows 11.
Иногда вам необходимо открыть значения реестра просто для информации.
Вот несколько примеров, связанных с редактированием или открытием значений реестра:
- Как проверить текущую версию BIOS на вашем компьютере
- Как предотвратить кражу фокуса программами в Windows
- Как автоматически войти в Windows
Дополнительная информация о значениях реестра
Открытие значения реестра позволит вам редактировать его данные. В отличие от файлов на вашем компьютере, которые на самом деле будут что-то делать при их запуске, значения реестра просто открываются для вас, чтобы вы могли их редактировать. Другими словами, совершенно безопасно открывать любое значение реестра в реестре Windows. Однако редактировать значения без предварительного понимания того, что вы делаете, - плохая идея.
В некоторых случаях изменение значения реестра не вступит в силу, пока вы не перезагрузите компьютер. Другие вообще не требуют перезагрузки, поэтому их изменения будут отражены мгновенно. Поскольку редактор реестра не сообщает, какие из них требуют перезагрузки, вам следует перезагрузить компьютер, если редактирование реестра не работает.
Вы можете увидеть некоторые значения реестра, перечисленные как REG_NONE Это двоичные значения, которые создаются, когда пустые данные записываются в реестр. При открытии этого типа значения данные его значения отображаются как нули в шестнадцатеричном формате, а редактор реестра перечисляет их как (бинарное значение нулевой длины)
Используя командную строку, вы можете удалять и добавлять разделы реестра с помощью командных переключателей reg delete и reg add.
Максимальный размер всех значений реестра в разделе реестра ограничен 64 килобайтами.