Search notes:

Registry: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems

Debug

Although referenced by Required, the value of Debug is empty: it is not needed anymore since Windows XP.

Kmode

Kmode stores the filename of the kernel component of the Windows subsystem: \Systemroot\System32\win32k.sys

Optional

Optional lists the subsystems that are loaded when required.

Posix

The value of Posix is %SystemRoot%\system32\psxss.exe, but this executable does not exist (at least not on my Windows box). This is apparently the case because Windows originally supported the POSIX and OS/2 subsystems, which both are no longer provided.
Yet, with build 2016, Microsoft introduced the Linux subsystem (beta), aka WSL. It allows to run native Ubuntu user mode console binaries in the bash shell in Windows 10.

Required

The value in Required lists the subsystems that load when Windows boots up (see also value of Optional).
The items in this string are names of other values under this registry key.
These subsystems are started by smss.exe (the session manager).
On some machines (most?), the value is Debug Windows
TODO: Why is the console subsystem not listed?

Windows

Used for the Windows subsystem.
The value of Windows might be something like
%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,20480,768 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ServerDll=sxssrv,4 ProfileControl=Off MaxRequestThreads=16

Index