Remin project notes Some early notes from the initial PoC of the Remin project (Replicated MinWin), an attempt to revive bare metal Nano Server. notes kbdclass parameters (tick) advapi32legacy/kernel32legacy (tick-todo) conhost (tick) shcore (tick) forwarders (add to PATH? - nope!, tick-todo) coniosrv (tick-todo) sorting key set to kernel32legacy (tick-todo) (System\ControlSet001\Control\Nls\Sorting\Ids entries, System\ControlSet001\Control\Nls\Sorting\Versions (Default) -> "00060300", 000603xx -> "kernel32legacy.dll") System\ControlSet001\Control\Nls\CodePage\ACP: "65001" System\ControlSet001\Control\Nls\CodePage\OEMCP: "65001" figure out how to add full servicing components on top of the nucleus image windows\globalization\sorting\sortdefault.nls install order: minimal-drivers before nanoserver-edition hack wcp.dll (to remove hash check - just return true)/cbscore.dll (driverinstalled - is it needed?) control\session manager\subsystems\windows (tick-todo) System\ControlSet001\Control\WinInit -> Headless: 0x1 (WCM config?) System\ControlSet001\Control\ConKbd -> Headless: 0x0, UseBGFX: 0x1 (add WCM config/regkeys to custom thing or so) force usermanager to not be triggered(? if needed) system\setup: SystemSetupInProgress -> 0x0, OOBEInProgress -> 0x0, SetupType -> 0x0 (tick-todo) software\microsoft\windows nt\currentversion\winlogon (tick-todo): ForceUnlockLogon: 0x01 FirstUserAccount: "LocalSystem" Shell: "cmd.exe" ShellInfrastructure: "" UserMgrLaunchShell: 0x01 UserMgrRestartShellOnCrash: 0x01 packages: Microsoft-Windows-ServicingStack-OneCore-Package(!!!! first!! will error out :/) Microsoft-Windows-Servicing-Core-Package(!) Microsoft-Windows-ServicingStack-OneCore-Package(again.) Microsoft-Windows-ServicingStack-onecoreadmin-Package (or one msft package will fail) // CORRECT ORDER /PackagePath:I:\tmp\packageshit\Microsoft-Windows-Foundation-Group-merged-Package /PackagePath:I:\tmp\packageshit\en-US\Microsoft-Windows-Foundation-Group-merged-Package /PackagePath:I:\tmp\packageshit\Microsoft-Windows-BootEnvironment-BootManagers-Package /PackagePath:I:\tmp\packageshit\en-US\Microsoft-Windows-BootEnvironment-BootManagers-Package /PackagePath:I:\tmp\packageshit\Microsoft-OneCore-Common-DriverClasses-Core-Package /PackagePath:I:\tmp\packageshit\en-US\Microsoft-OneCore-Common-DriverClasses-Core-Package /PackagePath:I:\tmp\packageshit\Microsoft-Windows-Server-Minimal-Drivers-Package /PackagePath:I:\tmp\packageshit\en-US\Microsoft-Windows-Server-Minimal-Drivers-Package /PackagePath:I:\tmp\packageshit\Microsoft-Windows-CoreSystem-merged-Package /PackagePath:I:\tmp\packageshit\en-US\Microsoft-Windows-CoreSystem-merged-Package /PackagePath:I:\tmp\packageshit\Microsoft-OneCore-Wer-merged-Package /PackagePath:I:\tmp\packageshit\en-US\Microsoft-OneCore-Wer-merged-Package /PackagePath:I:\tmp\packageshit\Microsoft-OneCore-Console-Host-Package /PackagePath:I:\tmp\packageshit\en-US\Microsoft-OneCore-Console-Host-Package /PackagePath:I:\tmp\packageshit\Microsoft-Windows-Online-Setup-State-Full-Package /PackagePath:I:\tmp\packageshit\en-US\Microsoft-Windows-Online-Setup-State-Full-Package /PackagePath:I:\tmp\packageshit\Microsoft-OneCore-CoreSystem-Core-Package /PackagePath:I:\tmp\packageshit\en-US\Microsoft-OneCore-CoreSystem-Core-Package /PackagePath:I:\tmp\packageshit\Microsoft-NanoServer-Edition-Core-Package /PackagePath:I:\tmp\packageshit\en-US\Microsoft-NanoServer-Edition-Core-Package Microsoft-Windows-Foundation-Group-merged-Package en-US\Microsoft-Windows-Foundation-Group-merged-Package Microsoft-Windows-BootEnvironment-BootManagers-Package en-US\Microsoft-Windows-BootEnvironment-BootManagers-Package Microsoft-Windows-Common-DriverClasses-Package en-US\Microsoft-Windows-Common-DriverClasses-Package Microsoft-Windows-Server-Minimal-Drivers-Package en-US\Microsoft-Windows-Server-Minimal-Drivers-Package Microsoft-Windows-ServerCore-Drivers-Package en-US\Microsoft-Windows-ServerCore-Drivers-Package Microsoft-Windows-CoreSystem-merged-Package en-US\Microsoft-Windows-CoreSystem-merged-Package Microsoft-OneCore-Wer-merged-Package en-US\Microsoft-OneCore-Wer-merged-Package Microsoft-Windows-Online-Setup-State-Full-Package en-US\Microsoft-Windows-Online-Setup-State-Full-Package Microsoft-OneCore-CoreSystem-Core-Package en-US\Microsoft-OneCore-CoreSystem-Core-Package Microsoft-OneCore-EnterpriseNetworking-Package en-US\Microsoft-OneCore-EnterpriseNetworking-Package Microsoft-OneCore-Pnp-Full-Package en-US\Microsoft-OneCore-Pnp-Full-Package Microsoft-Windows-Network-Security-Core-Package en-US\Microsoft-Windows-Network-Security-Core-Package Microsoft-Windows-CoreSystem-RemoteFS-Package en-US\Microsoft-Windows-CoreSystem-RemoteFS-Package Microsoft-Windows-RemoteFS-Legacy-Package Microsoft-OneCore-Console-Host-Package en-US\Microsoft-OneCore-Console-Host-Package Microsoft-NanoServer-Edition-Core-Package en-US\Microsoft-NanoServer-Edition-Core-Package Remin-SKU-Foundation-Package en-US\Remin-SKU-Foundation-Package custom deployment with: Microsoft-System-User-Service Microsoft-System-User-Ext Microsoft-System-User-Component Microsoft-Windows-WppRecorderUm Microsoft-Windows-WDF-Usermode Library Microsoft-Windows-DriverFrameworks-UserMode Microsoft-Windows-International-CodePage-Core Microsoft-Windows-StorPort-RegistrySettings Microsoft-Windows-StorPort Microsoft-Windows-Smss Microsoft-Windows-Smss-BootExecute Microsoft-Windows-Winsrv Microsoft-Windows-DeltaCompressionEngine Microsoft-Windows-Autochk from list above, also add: Microsoft-OneCore-Console-Host-Package Microsoft-Windows-Online-Setup-State-Full-Package and to deployment: Microsoft.Windows.Hardware.Devices.ClassInstaller.KEYBOARD-DriverClass (done) Microsoft-Windows-SHCore (done) Product-onecore__Microsoft-Windows-International-Core-SortingVersion-Default (remake it with new version/file, done) Microsoft-Windows-CoreSystem-LegacyPack-Base (remake, kernel32legacy, done) Microsoft-Windows-CoreSystem-BootableSKU-MergedComponents (remake, advapi32legacy, done) Microsoft-OneCore-ReverseForwarders (remake, add OCFW_Enabled, done) Microsoft-Windows-CoreSystem-BootableSKU-BootableCoreSystem-Minkernel (remake, conkbd, rename conkbd lol) (tick) Microsoft-Windows-CoreSystem-State-SM-SYSTEM (remake, also rename conkbd) (tick) ((Microsoft-Windows-Online-Setup-State-Full-Deployment )) Microsoft-Windows-CoreSystem-BootableSKU-BootableCoreSystem-Mincore (remake) (for ForceUnlockLogon/UserMgrLaunchShell/..) (tick) a package with ACP/OEMCP (tick) set WCM config (dism/unattend.xml with Apply-Unattend and offlineServicing): Microsoft-Windows-Wininit/Headless=1 Microsoft-Windows-Online-Setup-State-Full-Deployment subpackages for SetupType/such add cat: Microsoft-OneCore-CoreSystem-BootableSKU-merged-Package~31bf3856ad364e35~amd64~~10.0.18945.1001.cat Microsoft-OneCore-BootableSKU-merged-Package~31bf3856ad364e35~amd64~~10.0.18945.1001.cat notes servicing.exe copy /y I:\tmp\image-repro\wcp.dll V:\Windows\winsxs\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_10.0.18945.1001_none_c944f4cc2876ca60\wcp.dll copy /y "I:\tmp\insider_tmps\tmp6\files\windows\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-OneCore-CoreSystem-BootableSKU-merged-Package~31bf3856ad364e35~amd64~~10.0.18945.1001.cat" "V:\Windows\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}" copy /y "I:\tmp\insider_tmps\tmp6\files\windows\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-OneCore-BootableSKU-merged-Package~31bf3856ad364e35~amd64~~10.0.18945.1001.cat" "V:\Windows\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}" DISM ADD dism /image:V:\ /add-package /packagepath:"I:\tmp\packageshit\Microsoft-Windows-ServicingStack-OneCore-Package.cab" dism /image:V:\ /add-package /packagepath:"I:\tmp\packageshit\Microsoft-Windows-Servicing-Core-Package.cab" dism /image:V:\ /add-package /packagepath:"I:\tmp\packageshit\Microsoft-Windows-ServicingStack-OneCore-Package.cab" dism /image:V:\ /add-package /packagepath:"I:\tmp\packageshit\Microsoft-Windows-ServicingStack-OneCoreadmin-Package.cab" BIG ADD dism /image:V:\ /add-package /PackagePath:I:\tmp\packageshit\Microsoft-Windows-Foundation-Group-merged-Package.cab /PackagePath:I:\tmp\packageshit\en-US\Microsoft-Windows-Foundation-Group-merged-Package.cab /PackagePath:I:\tmp\packageshit\Microsoft-Windows-BootEnvironment-BootManagers-Package.cab /PackagePath:I:\tmp\packageshit\en-US\Microsoft-Windows-BootEnvironment-BootManagers-Package.cab /PackagePath:I:\tmp\packageshit\Microsoft-Windows-Common-DriverClasses-Package.cab /PackagePath:I:\tmp\packageshit\en-US\Microsoft-Windows-Common-DriverClasses-Package.cab /PackagePath:I:\tmp\packageshit\Microsoft-Windows-Server-Minimal-Drivers-Package.cab /PackagePath:I:\tmp\packageshit\en-US\Microsoft-Windows-Server-Minimal-Drivers-Package.cab /PackagePath:I:\tmp\packageshit\Microsoft-Windows-ServerCore-Drivers-Package.cab /PackagePath:I:\tmp\packageshit\en-US\Microsoft-Windows-ServerCore-Drivers-Package.cab /PackagePath:I:\tmp\packageshit\Microsoft-Windows-CoreSystem-merged-Package.cab /PackagePath:I:\tmp\packageshit\en-US\Microsoft-Windows-CoreSystem-merged-Package.cab /PackagePath:I:\tmp\packageshit\Microsoft-OneCore-Wer-merged-Package.cab /PackagePath:I:\tmp\packageshit\en-US\Microsoft-OneCore-Wer-merged-Package.cab /PackagePath:I:\tmp\packageshit\Microsoft-Windows-Online-Setup-State-Full-Package.cab /PackagePath:I:\tmp\packageshit\en-US\Microsoft-Windows-Online-Setup-State-Full-Package.cab /PackagePath:I:\tmp\packageshit\Microsoft-OneCore-CoreSystem-Core-Package.cab /PackagePath:I:\tmp\packageshit\en-US\Microsoft-OneCore-CoreSystem-Core-Package.cab /PackagePath:I:\tmp\packageshit\Microsoft-OneCore-EnterpriseNetworking-Package.cab /PackagePath:I:\tmp\packageshit\en-US\Microsoft-OneCore-EnterpriseNetworking-Package.cab /PackagePath:I:\tmp\packageshit\Microsoft-OneCore-Pnp-Full-Package.cab /PackagePath:I:\tmp\packageshit\en-US\Microsoft-OneCore-Pnp-Full-Package.cab /PackagePath:I:\tmp\packageshit\Microsoft-Windows-Network-Security-Core-Package.cab /PackagePath:I:\tmp\packageshit\en-US\Microsoft-Windows-Network-Security-Core-Package.cab /PackagePath:I:\tmp\packageshit\Microsoft-Windows-CoreSystem-RemoteFS-Package.cab /PackagePath:I:\tmp\packageshit\en-US\Microsoft-Windows-CoreSystem-RemoteFS-Package.cab /PackagePath:I:\tmp\packageshit\Microsoft-Windows-RemoteFS-Legacy-Package.cab /PackagePath:I:\tmp\packageshit\Microsoft-OneCore-Console-Host-Package.cab /PackagePath:I:\tmp\packageshit\en-US\Microsoft-OneCore-Console-Host-Package.cab /PackagePath:I:\tmp\packageshit\Microsoft-NanoServer-Edition-Core-Package.cab /PackagePath:I:\tmp\packageshit\en-US\Microsoft-NanoServer-Edition-Core-Package.cab /PackagePath:I:\tmp\packageshit\Remin-SKU-Foundation-Package.cab /PackagePath:I:\tmp\packageshit\en-US\Remin-SKU-Foundation-Package.cab ADD PRODUCTOPTIONS AND OTHER REG FIXES (disable mpssvc, bfe, set subsystems, setup state, wininit, product policy) AS SYSTEM copy /y V:\windows\system32\boot\winload.efi V:\windows\system32 copy /y V:\windows\system32\boot\en-us\winload.efi.mui V:\windows\system32\en-us copy /y I:\tmp\insider_tmps\tmp6\files\windows\system32\nihost.exe V:\windows\system32 copy /y I:\tmp\insider_tmps\tmp6\files\windows\system32\nsrc.exe V:\windows\system32 copy /y I:\tmp\insider_tmps\tmp6\files\windows\system32\en-us\nihost.exe.mui V:\windows\system32\en-us copy /y I:\tmp\insider_tmps\tmp6\files\windows\system32\en-us\nsrc.exe.mui V:\windows\system32\en-us MAKE BOOTABLE bcdboot C:\windows /s X: /f UEFI /p /d bcdedit /store X:\efi\Microsoft\boot\bcd bcdedit /store X:\efi\Microsoft\boot\bcd /set {default} osdevice hd_partition=v: bcdedit /store X:\efi\Microsoft\boot\bcd /set {default} device hd_partition=v: bcdedit /store X:\efi\Microsoft\boot\bcd /set {default} testsigning on bcdedit /store X:\efi\Microsoft\boot\bcd /set {bootmgr} device hd_partition=x: bcdedit /store X:\efi\Microsoft\boot\bcd /set {default} debug off bcdedit /store X:\efi\Microsoft\boot\bcd /dbgsettings serial debugport:1 baudrate:115200 bcdedit /store X:\efi\Microsoft\boot\bcd /set {default} bootdebug off bcdedit /store X:\efi\Microsoft\boot\bcd /set {bootmgr} bootdebug off list TODO: CreatePolicyDatabaseOnFirstBoot (added) TODO: ADD APISETSCHEMA!! (added) TODO: NumberOfInitialSessions (added) fix session manager subsystems (how? unattend.xml not working :/ ) add SOFTWARE\Microsoft\Windows NT\CurrentVersion\Server\ServerLevels NanoServer for pwsh (added?) add mpr.dll and deps? (Microsoft-OneCore-EnterpriseNetworking-Package) add Microsoft-Windows-RemoteFS-Legacy-Package~31bf3856ad364e35~amd64~~10.0.18945.1001 (ok) add Microsoft-Windows-CoreSystem-RemoteFS-Package? (ok) set time zone (ok?) tcpip\parameters\hostname? (and domain/searchlist or dns will be broken - done) add pnp package (done?) specify workgroup in lsa primary domain policy (how? does this get provisioned at first boot if set properly?) fix firewall policy (post-install step, to disable mpssvc/bfe?) make pwsh package with hacks? I:\tmp\images-repro\disk.vhd @echo off xcopy /y /e components\*.manifest I:\tmp\wsrv\18945\windows\winsxs\manifests\ xcopy /y /e components\* I:\tmp\wsrv\18945\windows\winsxs\ xcopy /y /e packages\*.mum I:\tmp\wsrv\18945\Windows\servicing\Packages\ copy /y I:\tmp\wsrv\18945\windows\servicing\packages\Windows-Defender-Server-Core-Group-Package~31bf3856ad364e35~amd64~en-US~10.0.18945.1001.cat I:\tmp\wsrv\18945\windows\servicing\packages\Remin-SKU-Foundation-Package.cat copy /y I:\tmp\wsrv\18945\windows\servicing\packages\Windows-Defender-Server-Core-Group-Package~31bf3856ad364e35~amd64~en-US~10.0.18945.1001.cat I:\tmp\wsrv\18945\windows\servicing\packages\Remin-SKU-Foundation-Package-en-US.cat copy /y amd64_microsoft-windows-servicingstack_31bf3856ad364e35_10.0.18945.1001_none_c944f4cc2876ca60.manifest I:\tmp\ss-18945\manifest.txt copy /y amd64_microsoft-windows-d..ing-management-core_31bf3856ad364e35_10.0.18945.1001_none_eb19b9888beb6b30.manifest I:\tmp\ss-18945\dism-core.manifest copy /y amd64_microsoft-windows-d..gement-winproviders_31bf3856ad364e35_10.0.18945.1001_none_77334d1b06186fc7.manifest I:\tmp\ss-18945\dism-providers.manifest copy /y amd64_microsoft-windows-d..ervicing-management_31bf3856ad364e35_10.0.18945.1001_none_1e8f369b6ed8bb42.manifest I:\tmp\ss-18945\dism.manifest copy /y amd64_microsoft-windows-d..cing-management-api_31bf3856ad364e35_10.0.18945.1001_none_66a76be4c078727f.manifest I:\tmp\ss-18945\dism-api.manifest copy /y amd64_microsoft-windows-pantherengine_31bf3856ad364e35_10.0.18945.1001_none_6df70314070307d0.manifest I:\tmp\ss-18945\panther.manifest copy /y amd64_microsoft-windows-packagemanager_31bf3856ad364e35_10.0.18945.1001_none_acbd579f547095a3.manifest I:\tmp\ss-18945\pkgmgr.manifest xcopy /y /e I:\tmp\wsrv\18945\windows\winsxs\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_10.0.18945.1001_none_c944f4cc2876ca60\* I:\tmp\ss-18945\ xcopy /y /e I:\tmp\wsrv\18945\windows\winsxs\amd64_microsoft-windows-d..ing-management-core_31bf3856ad364e35_10.0.18945.1001_none_eb19b9888beb6b30\* I:\tmp\ss-18945\ xcopy /y /e I:\tmp\wsrv\18945\windows\winsxs\amd64_microsoft-windows-d..gement-winproviders_31bf3856ad364e35_10.0.18945.1001_none_77334d1b06186fc7\* I:\tmp\ss-18945\ xcopy /y /e I:\tmp\wsrv\18945\windows\winsxs\amd64_microsoft-windows-d..ervicing-management_31bf3856ad364e35_10.0.18945.1001_none_1e8f369b6ed8bb42\* I:\tmp\ss-18945\ xcopy /y /e I:\tmp\wsrv\18945\windows\winsxs\amd64_microsoft-windows-d..cing-management-api_31bf3856ad364e35_10.0.18945.1001_none_66a76be4c078727f\* I:\tmp\ss-18945\ xcopy /y /e I:\tmp\wsrv\18945\windows\winsxs\amd64_microsoft-windows-pantherengine_31bf3856ad364e35_10.0.18945.1001_none_6df70314070307d0\* I:\tmp\ss-18945\ xcopy /y /e I:\tmp\wsrv\18945\windows\winsxs\amd64_microsoft-windows-packagemanager_31bf3856ad364e35_10.0.18945.1001_none_acbd579f547095a3\* I:\tmp\ss-18945\ :: REMOVE EVENTS FROM DISM.MANIFEST!