Reg expand sz что это
Типы значений реестра
В Winnt. h определены следующие типы значений реестра.
Строковые значения
Если данные имеют тип REG _ SZ, REG _ Multi _ SZ или REG _ expand _ SZ, строка может быть не сохранена с соответствующими завершающими символами NULL. Поэтому при чтении строки из реестра необходимо убедиться, что строка должна завершиться должным образом, прежде чем использовать ее. в противном случае он может перезаписать буфер. (Обратите внимание, что REG _ НЕСКОЛЬКО _ SZ строк должны иметь два завершающих нуль символа.)
При записи строки в реестр необходимо указать длину строки, включая завершающий нуль-символ ( \ 0). Распространенная ошибка заключается в использовании функции strlen для определения длины строки, но чтобы забывать, что strlen возвращает только число символов в строке, не включая завершающее значение null. Таким образом, длина строки должна быть вычислена следующим образом: strlen( string ) + 1
Строка реестра с _ несколькими _ SZми заканчивается строкой длиной 0. Поэтому невозможно включить в последовательность строку нулевой длины. Пустая последовательность будет определена следующим образом: \ 0.
В следующем примере рассматривается строка реестра с _ несколькими _ SZми.
Форматы байтов
В формате с прямым порядком байтов значение в байтах хранится в памяти с наименьшего байта («маленький конец») до самого большого байта. Например, значение 0x12345678 хранится как (0x78 0x56 0x34 0x12) в формате с прямым порядком байтов.
В формате с обратным порядком байтов многобайтовое значение хранится в памяти из самого длинного байта («Big-конец») до наименьшего байта. Например, значение 0x12345678 сохраняется как (0x12 0x34 0x56 0x78) в формате с обратным порядком байтов.
Устройство реестра Windows 7/8/10
В этом уроке мы более подробно рассмотрим устройство реестра операционной системы Windows (данная информация актуальна для XP, 7, 8, 8.1, 10).
Если вы хотите узнать, что такое системный реестр, можете начать с предыдущего урока, в нём я всё подробно рассказал, вот ссылка. Если же вам уже знакомы основы, то приглашаю погрузиться в глубины реестра ОС Windows.
Как устроен реестр Windows
Структуру реестра можно увидеть в специальной программе «Редактор реестра» (подробные инструкции по его запуску можно найти здесь).
Самый простой вариант запуска: нажмите сочетание клавиш Win+R, введите команду regedit и нажмите ОК.
Редактор реестра очень похож на проводник, а структура реестра похожа на файловую систему вашего компьютера:
— слева отображаются разделы, похожие на папки, внутри них есть подразделы (совсем как подпапки);
— справа отображаются параметры (очень похожи на файлы) и их значения.
Устройство реестра Windows 10
Разделы реестра Windows
Реестр Windows 10, 8, 7, XP состоит из пяти стандартных разделов – корневых ключей:
Для простоты, их часто указывают в сокращенном обозначении (аббревиатура из первых букв): HKCR, HKCU, HKLM, HKU, HKCC.
Назначение разделов реестра
Разберемся с разделами реестра Windows 10 немного подробнее (если покажется сложным, переходите сразу к параметрам реестра):
Поздравляю, мы уже разобрались с половиной урока, и вы знаете о пяти корневых разделах реестра!
Чтобы изучить устройство реестра, осталось познакомиться с параметрами и их значениями.
Виды параметров реестра Windows
Как мы уже знаем, разделы и подразделы содержат параметры (на английском языке — value entries). Параметры могут иметь различные значения, например: путь к файлу, название программы, различные числа и т.д.
Пример структуры реестра Windows 10
Параметры реестра делятся на три основных типа (и несколько разновидностей):
Подробнее о параметрах реестра
Попробую кратко описать отличия параметров реестра:
Параметр | Описание |
---|---|
Строковый параметр REG_SZ | Содержит строку текста, например, путь к файлу или папке («C:\Windows»). |
Расширенный строковый параметр REG_EXPAND_SZ | Может содержать специальные переменные, например, вместо «C:\Windows» можно указать %systemroot% (фактически, это будет тот же путь, но мы можем использовать его, если не знаем заранее, куда установлена ОС). |
Многострочный параметр REG_MULTI_SZ | Может содержать более одной строки, удобно, если нужно внести целый список. |
Двоичный параметр REG_BINARY | Набор двоичных данных, которые отображаются в шестнадцатеричном формате (например, 10 82 A0 8F). Используется для хранения информации об оборудовании. |
Параметр DWORD REG_DWORD | Это целое число, которое может быть в двоичном, десятичном или шестнадцатеричном виде (например, 0x00000020 (32) — в скобках указано десятичное значение ключа). Длина числа – 4 байта (32 бита). Часто этот параметр работает как переключатель: 1 – включено, 0 – выключено. |
На самом деле, видов параметров в два раза больше, но чтобы понять принципы устройства реестра, их разбирать не обязательно (но если желание появилось, обязательно напишите в комментариях!)
Внешний вид различных параметров
Вот как отображаются все перечисленные параметры в редакторе реестра:
Виды параметров реестра в Windows 10 и 8 (пример)
То есть, все виды строковых параметров обозначаются значком с буквами «ab», а двоичные и числовые параметры обозначаются значком с цифрами «0011».
Ух ты, кажется, мы рассмотрели всё, что нужно!
Заключение
Итак, в этом уроке мы разобрались с устройством реестра Windows 10/8/7/XP.
Давайте повторим: реестр состоит из пяти разделов, которые могут содержать подразделы (как папки в проводнике). В разделах и подразделах находятся параметры (строковые и числовые). Изменяя значения параметров, мы можем изменять настройки операционной системы, программ и пользователя.
Жду ваших отзывов и вопросов в комментариях!
В следующем уроке мы узнаем, где хранится реестр на жестком диске. Подписывайтесь на новости, делитесь с друзьями в социальных сетях.
P.S. Минутка юмора
А вот что бывает, если не изучать IT-уроки 🙂
Копирование запрещено, но можно делиться ссылками:
Типы данных реестра
Как уже говорилось ранее, в реестре хранится громадное количество информации, включающее профили всех пользователей, сведения об установленном программном обеспечении и типах документов, которые могут быть созданы каждой программой, информация о свойствах папок и значках приложений, а также установленном оборудовании и используемых портах.
Поскольку реестр Microsoft Windows представляет собой сложную реляционную базу данных, вся информация, которая может храниться в конечных информационных контейнерах этой базы (параметрах), должна быть строго классифицирована. Классификация хранящихся в параметрах значений производится по типу данных, представляющих это значение. Всего насчитывается 11 таких типов
Раздел и подраздел могут содержать 0, 1 или несколько параметров, параметр по умолчанию, а также 0 или несколько подразделов. Каждый параметр имеет имя, тип и значение.
Три части параметра реестра всегда располагаются в определенном порядке: Имя, Тип данных, значение (например: [RegistrySizeLimit] [REG_DWORD] [0x8000000]).
В таблице, которая будет приведена ниже, содержится список типов данных, определенных и используемых Windows на сегодняшний день.
Максимальная длина имени параметра:
Значения большого размера (больше 2048 байт) хранятся во внешних файлах, а в реестр заносится имя такого файла. Это способствует повышению эффективности использования реестра.
Максимальный размер параметра:
Ниже приводится назначение этих параметров.
REG_BINARY
Необработанные двоичные данные. Большинство сведений об аппаратных компонентах хранится в виде двоичных данных и выводится в редакторе реестра в шестнадцатеричном формате.
REG_DWORD
Данные, представленные целым числом (4 байта, 32 бита). Многие параметры служб и драйверов устройств имеют этот тип и отображаются в двоичном, шестнадцатеричном или десятичном форматах. Эквивалентами типа DWORD являются DWORD_LITTLE_ENDIAN (самый младший байт хранится в памяти в первом числе) и REG_DWORD_BIG_ENDIAN (самый младший байт хранится в памяти в последнем числе).
REG_EXPAND_SZ
Расширяемая строка данных. Эта строка представляет собой текст, содержащий переменную, которая может быть заменена при вызове со стороны приложения.
REG_MULTI_SZ
Многострочное поле. Значения, которые фактически представляют собой списки текстовых строк в формате, удобном для восприятия человеком, обычно имеют именно этот тип данных. Записи разделяются пробелами, запятыми или другими символами.
REG_SZ
Текстовая строка в формате, удобном для восприятия человеком. Значениям, представляющим собой описания компонентов, обычно присваивается именно этот тип данных. Имеет фиксированную длину.
REG_LINK
Символическая ссылка в формате Юникод.
REG_FULL_RESOURCE_DESCRIPTOR
Последовательность вложенных массивов. Служит для хранения списка ресурсов, которые используются физическим устройством. Обнаруженные данные система сохраняет в разделе \HardwareDescription. В окне редактора реестра эти данные отображаются в виде двоичного параметра в шестнадцатеричном формате
REG_RESOURCE_LIST
Последовательность вложенных массивов. Служит для хранения списка ресурсов, которые используются драйвером устройства или управляемым им физическим устройством. Обнаруженные данные система сохраняет в разделе \ResourceMap. В окне редактора реестра эти данные отображаются в виде двоичного параметра в шестнадцатеричном формате
REG_RESOURCE_REQUIREMENTS_LIST
Последовательность вложенных массивов. Служит для хранения списка драйверов аппаратных ресурсов, которые могут быть использованы определенным драйвером устройства или управляемым им физическим устройством. Часть этого списка система записывает в раздел \ResourceMap. Данные определяются системой. В окне редактора реестра они отображаются в виде двоичного параметра в шестнадцатеричном формате
REG_QWORD
Данные, представленные в виде 64-разрядного целого. Начиная с Windows 2000, такие данные отображаются в окне редактора реестра в виде двоичного параметра
REG_NONE
Данные, не имеющие определенного типа. Такие данные записываются в реестр системой или приложением. В окне редактора реестра отображаются в виде двоичного параметра в шестнадцатеричном формате
Windows реестра для продвинутых пользователей
В этой статье описывается Windows реестр и содержится информация о том, как изменить и создать его обратно.
Применяется к: Windows 10 — все выпуски, Windows Server 2012 R2
Исходный номер КБ: 256986
Описание реестра
Словарь microsoft Computer Dictionary( Пятое издание) определяет реестр как:
Центральная иерархическая база данных, используемая в Windows 98, Windows CE, Windows NT и Windows 2000 г., используется для хранения сведений, необходимых для настройки системы для одного или более пользователей, приложений и аппаратных устройств.
Реестр содержит сведения, Windows постоянно ссылаются во время работы, такие как профили для каждого пользователя, установленные на компьютере приложения и типы документов, которые каждый может создать, параметры листов свойств для папок и значков приложений, оборудование, которое существует в системе, и используемые порты.
Ульй реестра | Поддержка файлов |
---|---|
HKEY_LOCAL_MACHINE\SAM | Sam, Sam.log, Sam.sav |
HKEY_LOCAL_MACHINE\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 Millennium Edition файлы реестра называются Classes.dat, User.dat и System.dat.
Функции безопасности Windows доступ администратора к клавишам реестра.
В следующей таблице перечислены предопределяные ключи, используемые системой. Максимальный размер имени ключа — 255 символов.
В следующей таблице перечислены типы данных, которые в настоящее время определены и используются Windows. Максимальный размер имени значения:
Длинные значения (более 2048 bytes) должны храниться в качестве файлов с именами файлов, хранимыми в реестре. Это помогает реестру работать эффективно. Максимальный размер значения:
Существует ограничение в 64K для общего размера всех значений ключа.
Имя | Тип данных | Описание |
---|---|---|
Двоичное значение | REG_BINARY | Необработанные двоичные данные. Большинство сведений о компонентах оборудования хранятся в виде двоичных данных и отображаются в редакторе реестра в гексадецимальной форме. |
Значение DWORD | REG_DWORD | Данные представляются числом длиной 4 bytes (32-bit integer). Многие параметры для драйверов и служб устройств являются этим типом и отображаются в редакторе реестра в двоичном, hexadecimal или десятичном формате. Соответствующие значения DWORD_LITTLE_ENDIAN (наименее значительный byte находится на самом низком адресе) и REG_DWORD_BIG_ENDIAN (наименее значительный byte находится на самом высоком адресе). |
Расширяемое значение строки | REG_EXPAND_SZ | Строка данных переменной длины. Этот тип данных включает переменные, которые решаются при помощи данных программы или службы. |
Многострочный параметр | REG_MULTI_SZ | Несколько строк. Значения, содержащие списки или несколько значений в форме, которую люди могут прочитать, обычно являются этим типом. Записи разделены пробелами, запятой или другими метками. |
Значение строки | REG_SZ | Текстовая строка фиксированной длины. |
Двоичное значение | REG_RESOURCE_LIST | Серия вложенных массивов, предназначенных для хранения списка ресурсов, который используется драйвером аппаратного устройства или одним из физических устройств, которые он контролирует. Эти данные обнаруживаются и пишутся в дереве \ResourceMap системой и отображаются в редакторе реестра в hexadecimal формате как двоичное значение. |
Двоичное значение | REG_RESOURCE_REQUIREMENTS_LIST | Серия вложенных массивов, предназначенных для хранения списка возможных аппаратных ресурсов драйвера или одного из физических устройств, которые он контролирует. Система записывает подмножество этого списка в дереве \ResourceMap. Эти данные обнаруживаются системой и отображаются в редакторе реестра в hexadecimal формате как двоичное значение. |
Двоичное значение | REG_FULL_RESOURCE_DESCRIPTOR | Серия вложенных массивов, предназначенных для хранения списка ресурсов, используемого физическим аппаратным устройством. Эти данные обнаруживаются и пишутся в дереве \HardwareDescription системой и отображаются в редакторе реестра в hexadecimal формате как двоичное значение. |
Нет | REG_NONE | Данные без определенного типа. Эти данные записаны в реестр системой или приложениями и отображаются в редакторе реестра в hexadecimal формате как двоичное значение |
Ссылка | REG_LINK | Строка Unicode, именуемая символической ссылкой. |
Значение QWORD | REG_QWORD | Данные, представленные числом, которое представляет собой 64-битный набор. Эти данные отображаются в редакторе реестра как двоичное значение и были представлены Windows 2000 году. |
Back up the registry
Перед изменением реестра экспортируйте ключи из реестра, который планируется изменить, или закапируйте весь реестр. Если возникает проблема, вы можете следовать шагам в разделе Восстановление реестра, чтобы восстановить реестр в прежнем состоянии. Чтобы создать резервную копию всего реестра, используйте утилиту Резервное копирование для резервного копирования состояния системы. Состояние системы включает реестр, базу данных регистрации класса COM+ и файлы загрузки. Дополнительные сведения об использовании утилиты Резервного копирования для резервного копирования состояния системы см. в следующих статьях:
Изменение реестра
Чтобы изменить данные реестра, программа должна использовать функции реестра, определенные в функциях реестра.
Администраторы могут изменять реестр с помощью редактора реестра (Regedit.exe или Regedt32.exe), файлов групповой политики, системной политики, реестра (.reg) или запуска сценариев, таких как файлы скриптов VisualBasic.
Использование пользовательского Windows интерфейса
Рекомендуется использовать интерфейс Windows для изменения параметров системы, а не вручную изменять реестр. Однако редактирование реестра иногда может быть оптимальным методом для решения проблемы продукта. Если проблема задокументирована в базе знаний Майкрософт, будет доступна статья с пошагированными инструкциями по редактированию реестра для этой проблемы. Мы рекомендуем выполнять эти инструкции точно.
Использование редактора реестра
При неправильном изменении реестра с использованием редактора реестра или другого способа могут случиться серьезные проблемы. Для решения этих проблем может потребоваться переустановка операционной системы. Компания Microsoft не может гарантировать, что эти проблемы могут быть решены. Вносите изменения в реестр на ваш страх и риск.
Вы можете использовать редактор реестра для следующих действий:
Область навигации редактора реестра отображает папки. Каждая папка представляет предопределяемую клавишу на локальном компьютере. При доступе к реестру удаленного компьютера отображаются только два предопределённых ключа: HKEY_USERS и HKEY_LOCAL_MACHINE.
Использование групповой политики
На консоли управления Майкрософт (MMC) размещены административные средства, которые можно использовать для администрирования сетей, компьютеров, служб и других компонентов системы. Оснастка MMC групповой политики позволяет администраторам определять параметры политики, применяемые к компьютерам или пользователям. Групповую политику можно реализовать на локальных компьютерах с помощью локальной оснастки MMC групповой политики Gpedit.msc. Можно реализовать групповую политику в Active Directory с помощью оснастки пользователей и компьютеров Active Directory MMC. Дополнительные сведения об использовании групповой политики см. в разделе Справка в соответствующей оснастке MMC групповой политики.
Использование файла Записи регистрации (.reg)
Использование Windows скрипта
Хост Windows скриптов позволяет запускать VBScript и JScript непосредственно в операционной системе. Вы можете создать VBScript и JScript, которые используют Windows для удаления, чтения и записи ключей и значений реестра. Дополнительные сведения об этих методах можно получить на следующих веб-сайтах Майкрософт:
Использование Windows инструментов управления
Windows Инструментарий управления (WMI) является компонентом операционной системы Microsoft Windows и является microsoft реализация Web-Based Enterprise управления (WBEM). WBEM — это отраслевая инициатива по разработке стандартной технологии для доступа к сведениям об управлении в корпоративной среде. С помощью WMI можно автоматизировать административные задачи (например, редактирование реестра) в корпоративной среде. WMI можно использовать в языках скриптов, на Windows которые обрабатывают объекты Microsoft ActiveX. Вы также можете использовать утилиту WMI Command-Line (Wmic.exe) для изменения Windows реестра.
Дополнительные сведения о утилите WMI Command-Line см. в описании утилиты командной строки управления Windows (WMI) (Wmic.exe).
Используйте средство реестра консоли для Windows
Для редактирования реестра можно использовать средство реестра консоли Windows (Reg.exe). Для получения помощи с Reg.exe введите в reg /? командной подсказке, а затем нажмите кнопку ОК.
Восстановление реестра
Чтобы восстановить реестр, используйте соответствующий метод.
Метод 1. Восстановление ключей реестра
Чтобы восстановить подкайки реестра, которые вы экспортировали, дважды щелкните файл Registration Entries (.reg), сохраненный в разделе Subkeys реестра экспорта. Или можно восстановить весь реестр из резервного копирования. Дополнительные сведения о восстановлении всего реестра см. в разделе Method 2: Restore the whole registry section later in this article.
Метод 2. Восстановление всего реестра
Чтобы восстановить весь реестр, восстановим состояние системы из резервного копирования. Дополнительные сведения о восстановлении состояния системы из резервного копирования см. в материалах Как использовать резервное копирование для защиты данных и восстановления файлов и папок на компьютере в Windows XP и Windows Vista.
При копировании состояния системы также создаются обновленные копии файлов реестра в %SystemRoot%\Repair папке.
Ссылки
Дополнительные сведения можно получить на следующих веб-сайтах:
Каталог Windows серверов тестовых продуктов — это ссылка на продукты, протестированные на совместимость Windows Server.
Data Protection Manager (DPM) является ключевым членом семейства продуктов microsoft System Center управления и предназначена для того, чтобы помочь ИТ-специалистам управлять своей Windows средой. DPM — это новый стандарт для Windows резервного копирования и восстановления и обеспечивает непрерывную защиту данных для приложений и файлового сервера Майкрософт, которые используют бесшовно интегрированные дисковые и ленточные носитли. Дополнительные сведения о том, как создать реестр и восстановить его, см. в дополнительных сведениях о том, как создать и восстановить реестр в Windows XP и Windows Vista.
Каково назначение основных разделов реестра Windows
Вступление
В данной статье будут рассмотрены основные ветки реестра Windows, а также их назначение. Список корневых разделов можно увидеть ниже:
Типы данных в реестре
В реестре могут храниться данные семи типов:
При добавлении параметров в реестр нужно обязательно использовать тот тип данных, который указан в источнике, откуда взята информация о необходимости добавить параметр. Если тип данных не будет соответствовать тому, который ожидает найти приложение в указанном месте, то последствия могут быть непредсказуемыми.
HKEY_LOCAL_MACHINE (HKLM)
HKLM\Hardware
В разделе HKLM\Hardware хранится информация об устройствах, обнаруженных в компьютере. Все параметры этого раздела хранятся не на жестком диске, а в оперативной памяти. Когда компьютер распознает запуск устройства, он нумерует найденное устройство, исследуя шину и отдельные классы устройств (например, порты или клавиатуру). В этом разделе имеются три основных подраздела:
Могут быть и дополнительные подразделы, в зависимости от конфигурации компьютера. Например, компьютеры с поддержкой интерфейса управления питанием (ACPI), будут иметь подраздел ACPI, содержащий информацию о конкретных возможностях ACPI на этом компьютере.
HKLM\SAM
В разделе HKLM\SAM хранятся локальные учетные записи или группы, созданные на компьютере. Раздел скрыт.
HKLM\Security
В разделе HKLM\Security содержится всевозможная информация, относящаяся к защите. Формат не документирован. Используется для кэширования верительных данных для входа в систему, настроек политики и разделяемых секретных данных сервера. Подраздел Security\SAM содержит копию большинства данных из HKLM\SAM
HKLM\Software
HKLM\System\CurrentControlSet
Последним действием фазы загрузки Windows является обновление реестра, которое должно зафиксировать набор служб и управляющих настроек, применявшийся при последней успешной загрузке. CurrentControlSet всегда указывает на набор управляющих настроек, используемых системой в текущий момент. В HKLM\System есть много подразделов ControlSetXXX, каждый из которых описывает набор управляющих настроек, существовавших в какой-либо момент времени, независимо от того, была ли загрузка успешной или нет. CurrentControlSet является указателем на последний набор управляющих настроек, при котором загрузка была успешной. Поскольку трудно определить сразу, какая из загрузок была успешной, то операционная система и приложения пользуются указателем CurrentControlSet.
В разделе, описывающем набор управляющих настроек, среди прочих, имеются четыре следующих раздела:
HKEY_USERS (HKU)
HKEY_CURRENT_CONFIG (HKCC)
HKEY_CURRENT_USER (HKCU)
Раздел HKEY_CURRENT_USER (HKCU) указывает на профиль текущего пользователя (вошедшего в данный момент в систему) внутри HKU. Microsoft требует, чтобы приложения хранили все предпочтения пользователей в подразделах под HKCU. Например, HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Paint содержит личные настройки пользователей программы Paint.