The registry

Use the registry to inspect and change Peios configuration. Start with the current value, look up its meaning, and check the program that consumes it after a change. A successful write alone does not show that the new setting is in use.

Start with a read #

These commands only read settings and documentation:

reg ls Machine/System/KMES -l
reg get Machine/System/KMES BufferCapacity -L
regman 'Machine\System\KMES' BufferCapacity
  • reg ls shows the values and their types.
  • reg get -L shows the effective value, its winning layer and sequence. It does not list all the entries hidden by that winner.
  • regman explains the expected type, default, valid range and when the setting applies. It reads installed documentation, not live state.

If you do not know the path, try regman -k buffer. Find where a setting lives maps common locations. You can also browse with Registry Editor. The editor shows the same manual beside each key and value.

Make one controlled change #

  1. Read the setting's regman entry. Check Type, Valid and Applies, including any restart or reboot requirement.
  2. Record the old value and winning layer. For recovery that must retain permissions and layer entries, take a backup.
  3. Choose the destination layer deliberately. A write needs permission on both the key and the layer; higher-precedence policy can keep a local write from becoming effective.
  4. Change the value with its explicit type, then read it back.
  5. Check the consuming component's status and events after the documented application point. It may reject the stored value and retain an earlier one.

Change a setting and verify it walks through this sequence. For the desktop controls, use Registry Editor; for all command options, use reg.

Know what you are addressing #

PartOperator meaning
HiveA top-level namespace. Machine holds system-wide configuration; Users holds users' keys.
KeyA container with its own permissions, such as Machine\System\KMES.
ValueA named, typed setting inside that key, such as BufferCapacity.

CurrentUser is an alias for the caller's own Users\<SID> key. Paths are case-insensitive; quote backslash paths in a shell or use forward slashes with reg. The value name is a separate argument, not part of the key path. See Keys, values, and types.

If the result is unexpected #

SymptomCheck next
The write fails with access deniedKey rights and layer rights; parent access is not enough.
The old value still winsLayer precedence and write order.
The new value is stored but behavior is unchangedConsumer validation and application timing.
A deleted value reappearsDeletion removes one layer's entry.
A write times out or the source failsRead state back before retrying.
A change needs to be undoneLayer recovery or backup and restore.

When you need implementation detail #

Applications and tools reach the registry through the kernel's Layered Configuration Subsystem (LCS). Userspace sources persist its data; loregd supplies the default registryd role. You do not edit their backing databases to change a setting.

The source operations guide covers availability and trust. The kernel LCS TRM covers the data model, syscall ABI, watch implementation and source protocol.

Edit this page