From f89c48515633b768d8b9eac55f5f72e7417e691c Mon Sep 17 00:00:00 2001 From: Kroese Date: Mon, 29 Jan 2024 09:12:32 +0100 Subject: [PATCH] feat: Add Windows Server 2008 support (#130) --- assets/win2008r2.xml | 288 +++++++++++++++++++++++++++++++++++++++++++ readme.md | 3 +- src/install.sh | 4 +- 3 files changed, 292 insertions(+), 3 deletions(-) create mode 100644 assets/win2008r2.xml diff --git a/assets/win2008r2.xml b/assets/win2008r2.xml new file mode 100644 index 0000000..921be8c --- /dev/null +++ b/assets/win2008r2.xml @@ -0,0 +1,288 @@ + + + + + + en-US + + 0409:00000409 + en-US + en-US + en-US + + + + OnError + + 0 + true + + + 1 + Primary + 100 + + + 2 + Primary + true + + + + + NTFS + + 1 + true + 1 + 0x27 + + + true + NTFS + + C + 2 + 2 + + + + + + + + + 1 + /IMAGE/INDEX + + + + 0 + 2 + + false + + + + true + Never + + + false + Never + + + true + Docker + Windows for Docker + + + false + + false + + + + + + D:\viostor\2k8R2\amd64 + + + D:\NetKVM\2k8R2\amd64 + + + D:\Balloon\2k8R2\amd64 + + + D:\pvpanic\2k8R2\amd64 + + + D:\qemupciserial\2k8R2\amd64 + + + D:\qxldod\2k8R2\amd64 + + + D:\vioinput\2k8R2\amd64 + + + D:\viorng\2k8R2\amd64 + + + D:\vioscsi\2k8R2\amd64 + + + D:\vioserial\2k8R2\amd64 + + + + + + + false + + + + + true + + + 1 + + + + + true + + + * + + Dockur + Windows for Docker + + + + 1 + + + true + true + https://google.com + about:blank + + + true + true + https://google.com + about:blank + + + 0 + + + 1 + + + 0409:00000409 + en-US + en-US + en-US + + + false + + + 0 + + + + + true + Remote Desktop + all + + + + + + + + + + Docker + Administrators + + + true</PlainText> + </Password> + </LocalAccount> + </LocalAccounts> + <AdministratorPassword> + <Value>password</Value> + <PlainText>true</PlainText> + </AdministratorPassword> + </UserAccounts> + <AutoLogon> + <Username>Docker</Username> + <Enabled>true</Enabled> + <LogonCount>1</LogonCount> + <Password> + <Value /> + <PlainText>true</PlainText> + </Password> + </AutoLogon> + <OOBE> + <HideEULAPage>true</HideEULAPage> + <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> + <NetworkLocation>Other</NetworkLocation> + <ProtectYourPC>3</ProtectYourPC> + <SkipUserOOBE>true</SkipUserOOBE> + <SkipMachineOOBE>true</SkipMachineOOBE> + </OOBE> + <RegisteredOrganization>Dockur</RegisteredOrganization> + <RegisteredOwner>Windows for Docker</RegisteredOwner> + <FirstLogonCommands> + <SynchronousCommand wcm:action="add"> + <Order>1</Order> + <CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoLogonCount /t REG_DWORD /d 0 /f</CommandLine> + <Description>Set AutoLogonCount to 0</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>2</Order> + <CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine> + <Description>Allow RDP login with blank password</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>3</Order> + <CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine> + <Description>Password Never Expires</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>4</Order> + <CommandLine>cmd /C POWERCFG -H OFF</CommandLine> + <Description>Disable Hibernation</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>5</Order> + <CommandLine>cmd /C POWERCFG -X -monitor-timeout-ac 0</CommandLine> + <Description>Disable monitor blanking</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>6</Order> + <CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff" /f</CommandLine> + <Description>Disable Network Discovery popup</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>7</Order> + <CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NetworkLocationWizard" /v "HideWizard" /t REG_DWORD /d 1 /f</CommandLine> + <Description>Disable Network Discovery popup</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>8</Order> + <CommandLine>reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v "HideFirstRunExperience" /t REG_DWORD /d 1 /f</CommandLine> + <Description>Disable first-run experience in Edge</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>9</Order> + <CommandLine>reg.exe add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f</CommandLine> + <Description>Show file extensions in Explorer</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>10</Order> + <CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateFileSizePercent" /t REG_DWORD /d 0 /f</CommandLine> + <Description>Zero Hibernation File</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>11</Order> + <CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Power" /v "HibernateEnabled" /t REG_DWORD /d 0 /f</CommandLine> + <Description>Disable Hibernation Mode</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>12</Order> + <CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\NewNetworks" /v NetworkList /t REG_MULTI_SZ /d "" /f</CommandLine> + <Description>Disable Network Discovery popup</Description> + </SynchronousCommand> + </FirstLogonCommands> + </component> + </settings> +</unattend> diff --git a/readme.md b/readme.md index 7ae53bc..d66c058 100644 --- a/readme.md +++ b/readme.md @@ -83,7 +83,8 @@ docker run -it --rm -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-ti | `win22` | Windows Server 2022 | Microsoft | Fast | 4.7 GB | | `win19` | Windows Server 2019 | Microsoft | Fast | 5.3 GB | | `win16` | Windows Server 2016 | Microsoft | Fast | 6.5 GB | - | `w12r2` | Windows Server 2012 | Microsoft | Fast | 4.3 GB | + | `2012` | Windows Server 2012 R2| Microsoft | Fast | 4.3 GB | + | `2008` | Windows Server 2008 R2 | Microsoft | Fast | 3.0 GB | |||||| | `core11` | Tiny 11 Core | Archive.org | Slow | 2.1 GB | | `tiny11` | Tiny 11 | Archive.org | Slow | 3.8 GB | diff --git a/src/install.sh b/src/install.sh index d9d8a0a..19f99c9 100644 --- a/src/install.sh +++ b/src/install.sh @@ -454,7 +454,7 @@ detectImage() { dsc=$(printVersion "$DETECTED") [ -z "$dsc" ] && dsc="$DETECTED" - warn "got $desc, but no matching XML file exists, $FB." + warn "got $dsc, but no matching XML file exists, $FB." return 0 fi @@ -508,7 +508,7 @@ prepareImage() { local iso="$1" local dir="$2" - if [[ "${BOOT_MODE,,}" == "windows" ]]; then + if [[ "${BOOT_MODE,,}" == "windows" ]] && [[ "${DETECTED,,}" != "win2008"* ]]; then if [[ "${DETECTED,,}" != "win7x64"* ]] && [[ "${DETECTED,,}" != "winvistax64"* ]]; then if [ -f "$dir/$ETFS" ] && [ -f "$dir/$EFISYS" ]; then