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!