From 078e5ccf959e422a475f5871471b189a1273563e Mon Sep 17 00:00:00 2001 From: Kroese Date: Mon, 15 Jan 2024 15:52:04 +0100 Subject: [PATCH 01/63] feat: Unattended installation --- assets/win11x64.xml | 239 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 239 insertions(+) create mode 100644 assets/win11x64.xml diff --git a/assets/win11x64.xml b/assets/win11x64.xml new file mode 100644 index 000000000..402132d56 --- /dev/null +++ b/assets/win11x64.xml @@ -0,0 +1,239 @@ + + + + + + + en-US + + 0409:00000409 + en-US + en-US + en-US + + + + + + 0 + 3 + + + + + + VK7JG-NPHTM-C97JM-9MPGT-3V66T + + true + + + + 1 + cmd.exe /c ">>"X:\diskpart.txt" echo SELECT DISK=0" + + + 2 + cmd.exe /c ">>"X:\diskpart.txt" echo CLEAN" + + + 3 + cmd.exe /c ">>"X:\diskpart.txt" echo CONVERT GPT" + + + 4 + cmd.exe /c ">>"X:\diskpart.txt" echo CREATE PARTITION EFI SIZE=300" + + + 5 + cmd.exe /c ">>"X:\diskpart.txt" echo FORMAT QUICK FS=FAT32 LABEL="System"" + + + 6 + cmd.exe /c ">>"X:\diskpart.txt" echo CREATE PARTITION MSR SIZE=16" + + + 7 + cmd.exe /c ">>"X:\diskpart.txt" echo CREATE PARTITION PRIMARY" + + + 8 + cmd.exe /c ">>"X:\diskpart.txt" echo FORMAT QUICK FS=NTFS LABEL="Windows"" + + + 9 + cmd.exe /c ">>"X:\diskpart.log" diskpart.exe /s "X:\diskpart.txt"" + + + 10 + reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassTPMCheck /t REG_DWORD /d 1 /f + + + 11 + reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassSecureBootCheck /t REG_DWORD /d 1 /f + + + 12 + reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassStorageCheck /t REG_DWORD /d 1 /f + + + 13 + reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassCPUCheck /t REG_DWORD /d 1 /f + + + 14 + reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassRAMCheck /t REG_DWORD /d 1 /f + + + 15 + reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassDiskCheck /t REG_DWORD /d 1 /f + + + + + + + + + + 1 + reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f + + + 2 + netsh.exe advfirewall firewall set rule group="Remote Desktop" new enable=Yes + + + 3 + reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f + + + 4 + fsutil.exe behavior set disableLastAccess 1 + + + 5 + reg.exe load "HKU\mount" "C:\Users\Default\NTUSER.DAT" + + + 6 + reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "ContentDeliveryAllowed" /t REG_DWORD /d 0 /f + + + 7 + reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "FeatureManagementEnabled" /t REG_DWORD /d 0 /f + + + 8 + reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "OEMPreInstalledAppsEnabled" /t REG_DWORD /d 0 /f + + + 9 + reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEnabled" /t REG_DWORD /d 0 /f + + + 10 + reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEverEnabled" /t REG_DWORD /d 0 /f + + + 11 + reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SilentInstalledAppsEnabled" /t REG_DWORD /d 0 /f + + + 12 + reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SoftLandingEnabled" /t REG_DWORD /d 0 /f + + + 13 + reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContentEnabled" /t REG_DWORD /d 0 /f + + + 14 + reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-310093Enabled" /t REG_DWORD /d 0 /f + + + 15 + reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338387Enabled" /t REG_DWORD /d 0 /f + + + 16 + reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338388Enabled" /t REG_DWORD /d 0 /f + + + 17 + reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338389Enabled" /t REG_DWORD /d 0 /f + + + 18 + reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338393Enabled" /t REG_DWORD /d 0 /f + + + 19 + reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-353698Enabled" /t REG_DWORD /d 0 /f + + + 20 + reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SystemPaneSuggestionsEnabled" /t REG_DWORD /d 0 /f + + + 21 + reg.exe unload "HKU\mount" + + + 22 + reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 0 /f + + + + + Docker + + + + + + + 0409:00000409 + en-US + en-US + en-US + + + + + + Docker + Administrators + + + true</PlainText> + </Password> + </LocalAccount> + </LocalAccounts> + </UserAccounts> + <AutoLogon> + <Username>Docker</Username> + <Enabled>true</Enabled> + <LogonCount>1</LogonCount> + <Password> + <Value/> + <PlainText>true</PlainText> + </Password> + </AutoLogon> + <OOBE> + <ProtectYourPC>3</ProtectYourPC> + <HideEULAPage>true</HideEULAPage> + <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> + </OOBE> + <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> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>2</Order> + <CommandLine>powershell.exe -NoProfile -Command "Disable-ComputerRestore -Drive 'C:';"</CommandLine> + </SynchronousCommand> + </FirstLogonCommands> + </component> + </settings> +</unattend> From aa40aec5862668215adde93939f7ed4e4626b8ea Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 16:01:35 +0100 Subject: [PATCH 02/63] feat: Add VirtIO drivers --- assets/win11x64.xml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/assets/win11x64.xml b/assets/win11x64.xml index 402132d56..6ecddec2b 100644 --- a/assets/win11x64.xml +++ b/assets/win11x64.xml @@ -89,6 +89,16 @@ </RunSynchronousCommand> </RunSynchronous> </component> + <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <DriverPaths> + <PathAndCredentials wcm:action="add" wcm:keyValue="1"> + <Path>D:\NetKVM\w11\amd64\</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="3"> + <Path>D:\w11\amd64\</Path> + </PathAndCredentials> + </DriverPaths> + </component> </settings> <settings pass="generalize"/> <settings pass="specialize"> @@ -233,6 +243,10 @@ <Order>2</Order> <CommandLine>powershell.exe -NoProfile -Command "Disable-ComputerRestore -Drive 'C:';"</CommandLine> </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>3</Order> + <CommandLine>D:\virtio-win-gt-x64.msi</CommandLine> + </SynchronousCommand> </FirstLogonCommands> </component> </settings> From 02d6ca55da478c532c963c9467056b00d9304ece Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 16:08:22 +0100 Subject: [PATCH 03/63] feat: Unattended installation --- src/install.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/install.sh b/src/install.sh index 20f6960d9..c33a5c6b6 100644 --- a/src/install.sh +++ b/src/install.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -Eeuo pipefail +: "${ATTENDED:="N"}" : "${VERSION:="win11x64"}" ARGUMENTS="-chardev socket,id=chrtpm,path=/tmp/emulated_tpm/swtpm-sock $ARGUMENTS" @@ -36,6 +37,11 @@ info "Customizing ISO to remove keypress requirement during boot..." DIR="$TMP/unpack" 7z x "$TMP/$BASE" -o"$DIR" + +if [ -f "/run/assets/$VERSION.xml" ]; then + cp "/run/assets/$VERSION.xml" "$DIR/Unattend.xml" +fi + genisoimage -b boot/etfsboot.com -no-emul-boot -c BOOT.CAT -iso-level 4 -J -l -D -N -joliet-long -relaxed-filenames -v -V "$VERSION" -udf -boot-info-table -eltorito-alt-boot -eltorito-boot efi/microsoft/boot/efisys_noprompt.bin -no-emul-boot -o "$TMP/$BASE.tmp" -allow-limited-size "$DIR" mv "$TMP/$BASE.tmp" "$STORAGE/$BASE" From d0faea2b0846976e59ae94b49a05c3206380abab Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 16:09:16 +0100 Subject: [PATCH 04/63] feat: Unattended installation --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index 632a2cf4d..b7a46d4a4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,6 +15,7 @@ RUN apt-get update \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* COPY ./src /run/ +COPY ./assets /run/assets ADD https://raw.githubusercontent.com/ElliotKillick/Mido/main/Mido.sh /run/mido.sh ADD https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso /run/drivers.iso From b4b69f3f9c42508d7e7c29ab74c3c73750ea28ee Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 18:22:36 +0100 Subject: [PATCH 05/63] feat: Unattended installation --- assets/win11x64.xml | 131 ++++++++++++++++++++++---------------------- 1 file changed, 66 insertions(+), 65 deletions(-) diff --git a/assets/win11x64.xml b/assets/win11x64.xml index 6ecddec2b..06e85f1c8 100644 --- a/assets/win11x64.xml +++ b/assets/win11x64.xml @@ -12,12 +12,75 @@ <UserLocale>en-US</UserLocale> </component> <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <DiskConfiguration> + <Disk wcm:action="add"> + <DiskID>0</DiskID> + <WillWipeDisk>true</WillWipeDisk> + <CreatePartitions> + <!-- Windows RE Tools partition --> + <CreatePartition wcm:action="add"> + <Order>1</Order> + <Type>Primary</Type> + <Size>300</Size> + </CreatePartition> + <!-- System partition (ESP) --> + <CreatePartition wcm:action="add"> + <Order>2</Order> + <Type>EFI</Type> + <Size>100</Size> + </CreatePartition> + <!-- Microsoft reserved partition (MSR) --> + <CreatePartition wcm:action="add"> + <Order>3</Order> + <Type>MSR</Type> + <Size>128</Size> + </CreatePartition> + <!-- Windows partition --> + <CreatePartition wcm:action="add"> + <Order>4</Order> + <Type>Primary</Type> + <Extend>true</Extend> + </CreatePartition> + </CreatePartitions> + <ModifyPartitions> + <!-- Windows RE Tools partition --> + <ModifyPartition wcm:action="add"> + <Order>1</Order> + <PartitionID>1</PartitionID> + <Label>WINRE</Label> + <Format>NTFS</Format> + <TypeID>DE94BBA4-06D1-4D40-A16A-BFD50179D6AC</TypeID> + </ModifyPartition> + <!-- System partition (ESP) --> + <ModifyPartition wcm:action="add"> + <Order>2</Order> + <PartitionID>2</PartitionID> + <Label>System</Label> + <Format>FAT32</Format> + </ModifyPartition> + <!-- MSR partition does not need to be modified --> + <ModifyPartition wcm:action="add"> + <Order>3</Order> + <PartitionID>3</PartitionID> + </ModifyPartition> + <!-- Windows partition --> + <ModifyPartition wcm:action="add"> + <Order>4</Order> + <PartitionID>4</PartitionID> + <Label>Windows</Label> + <Letter>C</Letter> + <Format>NTFS</Format> + </ModifyPartition> + </ModifyPartitions> + </Disk> + </DiskConfiguration> <ImageInstall> <OSImage> <InstallTo> <DiskID>0</DiskID> - <PartitionID>3</PartitionID> + <PartitionID>4</PartitionID> </InstallTo> + <InstallToAvailablePartition>false</InstallToAvailablePartition> </OSImage> </ImageInstall> <UserData> @@ -26,76 +89,14 @@ </ProductKey> <AcceptEula>true</AcceptEula> </UserData> - <RunSynchronous> - <RunSynchronousCommand wcm:action="add"> - <Order>1</Order> - <Path>cmd.exe /c "&gt;&gt;"X:\diskpart.txt" echo SELECT DISK=0"</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>2</Order> - <Path>cmd.exe /c "&gt;&gt;"X:\diskpart.txt" echo CLEAN"</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>3</Order> - <Path>cmd.exe /c "&gt;&gt;"X:\diskpart.txt" echo CONVERT GPT"</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>4</Order> - <Path>cmd.exe /c "&gt;&gt;"X:\diskpart.txt" echo CREATE PARTITION EFI SIZE=300"</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>5</Order> - <Path>cmd.exe /c "&gt;&gt;"X:\diskpart.txt" echo FORMAT QUICK FS=FAT32 LABEL="System""</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>6</Order> - <Path>cmd.exe /c "&gt;&gt;"X:\diskpart.txt" echo CREATE PARTITION MSR SIZE=16"</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>7</Order> - <Path>cmd.exe /c "&gt;&gt;"X:\diskpart.txt" echo CREATE PARTITION PRIMARY"</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>8</Order> - <Path>cmd.exe /c "&gt;&gt;"X:\diskpart.txt" echo FORMAT QUICK FS=NTFS LABEL="Windows""</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>9</Order> - <Path>cmd.exe /c "&gt;&gt;"X:\diskpart.log" diskpart.exe /s "X:\diskpart.txt""</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>10</Order> - <Path>reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassTPMCheck /t REG_DWORD /d 1 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>11</Order> - <Path>reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassSecureBootCheck /t REG_DWORD /d 1 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>12</Order> - <Path>reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassStorageCheck /t REG_DWORD /d 1 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>13</Order> - <Path>reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassCPUCheck /t REG_DWORD /d 1 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>14</Order> - <Path>reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassRAMCheck /t REG_DWORD /d 1 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>15</Order> - <Path>reg.exe add "HKLM\SYSTEM\Setup\LabConfig" /v BypassDiskCheck /t REG_DWORD /d 1 /f</Path> - </RunSynchronousCommand> - </RunSynchronous> </component> - <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <DriverPaths> <PathAndCredentials wcm:action="add" wcm:keyValue="1"> <Path>D:\NetKVM\w11\amd64\</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="3"> - <Path>D:\w11\amd64\</Path> + <Path>D:\vioscsi\w11\amd64\</Path> </PathAndCredentials> </DriverPaths> </component> From dabe0116c542083abfed9a031d92dc1527b3ac1f Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 18:27:22 +0100 Subject: [PATCH 06/63] feat: Unattended installation --- src/install.sh | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/install.sh b/src/install.sh index c33a5c6b6..282465f29 100644 --- a/src/install.sh +++ b/src/install.sh @@ -33,16 +33,23 @@ if [ ! -f "$TMP/$BASE" ]; then fi -info "Customizing ISO to remove keypress requirement during boot..." +info "Preparing ISO image for installation..." DIR="$TMP/unpack" 7z x "$TMP/$BASE" -o"$DIR" -if [ -f "/run/assets/$VERSION.xml" ]; then - cp "/run/assets/$VERSION.xml" "$DIR/Unattend.xml" +if [[ "$ATTENDED" != [Yy1]* ]]; then + if [ -f "/run/assets/$VERSION.xml" ]; then + + wimlib-imagex update $DIR/sources/boot.wim 2 \ + --command "add /run/assets/$VERSION.xml /autounattend.xml" + + fi fi -genisoimage -b boot/etfsboot.com -no-emul-boot -c BOOT.CAT -iso-level 4 -J -l -D -N -joliet-long -relaxed-filenames -v -V "$VERSION" -udf -boot-info-table -eltorito-alt-boot -eltorito-boot efi/microsoft/boot/efisys_noprompt.bin -no-emul-boot -o "$TMP/$BASE.tmp" -allow-limited-size "$DIR" +genisoimage -b boot/etfsboot.com -no-emul-boot -c BOOT.CAT -iso-level 4 -J -l -D -N -joliet-long -relaxed-filenames \ + -v -V "$VERSION" -udf -boot-info-table -eltorito-alt-boot -eltorito-boot efi/microsoft/boot/efisys_noprompt.bin \ + -no-emul-boot -o "$TMP/$BASE.tmp" -allow-limited-size "$DIR" mv "$TMP/$BASE.tmp" "$STORAGE/$BASE" rm -rf "$TMP" From f88f77c0ab15265611335518fc8fb304133643fb Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 18:28:16 +0100 Subject: [PATCH 07/63] feat: Unattended installation --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index b7a46d4a4..2c3646319 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,6 +9,7 @@ RUN apt-get update \ curl \ novnc \ swtpm \ + wimtools \ p7zip-full \ genisoimage \ && apt-get clean \ From 41769cafc0245b6296d303d5085124f8479075b0 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 19:11:43 +0100 Subject: [PATCH 08/63] docs: Unattended installation --- readme.md | 65 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 45 insertions(+), 20 deletions(-) diff --git a/readme.md b/readme.md index bd9bd846f..4e2ef2dd4 100644 --- a/readme.md +++ b/readme.md @@ -50,29 +50,21 @@ docker run -it --rm -e "VERSION=win11x64" -p 8006:8006 --device=/dev/kvm --cap-a ## FAQ - * ### How do I perform the installation? + * ### How does it work? - - Start the container and wait until the ISO download is completed. If needed, you can view this progress in the Docker log. Wait until you see the message ```BdsDxe: starting Boot```. - - - Connect to port 8006 of the container in your web browser. - - - Start the installation by clicking ```Install now```. On the next screen, press 'OK' when prompted to ```Load driver``` and select the ```VirtIO SCSI``` driver from the list that matches your Windows version. So for Windows 11, select ```D:\amd64\w11\vioscsi.inf``` and click 'Next'. - - - Accept the license agreement and select your preferred Windows edition, like Home or Pro. - - - Choose ```Custom: Install Windows only (advanced)```, and click ```Load driver``` on the next screen. Select 'Browse' and navigate to the ```D:\NetKVM\w11\amd64``` folder, and click 'OK'. Select the ```VirtIO Ethernet Adapter``` from the list and click 'Next'. - - - Select 'Drive 0' and click 'Next'. + Very simple! These are the steps: + + - Start the container and get some coffee, it will start downloading the ISO. - - Wait until Windows finishes copying files and completes the installation. + - Connect to port 8006 of the container in your web browser and wait untill you see the screen. - - Once you see your desktop, open File Explorer and navigate to the CD-ROM drive (D:). Double-click on ```virtio-win-gt-x64``` and proceed to install the VirtIO drivers. + - Sit back and relax while all the magic happens, the whole installation will be performed fully automatic. - - Now your Windows installation is ready for use. Enjoy it, and don't forget to star this repo! + - Once you see your desktop, your Windows installation is ready for use. Enjoy it, and don't forget to star this repo! * ### How do I specify the Windows version? - You can modify the `VERSION` environment variable to specify the version of Windows you want to download: + You can modify the `VERSION` environment variable in order to specify the version of Windows you want to download: ```yaml environment: @@ -88,11 +80,9 @@ docker run -it --rm -e "VERSION=win11x64" -p 8006:8006 --device=/dev/kvm --cap-a - ```win2019-eval``` (Windows Server 2019) - ```win2016-eval``` (Windows Server 2016) - * ### How can I view the screen? - - The container includes a web-based viewer, so you can visit [http://localhost:8006/](http://localhost:8006/) using any web browser to view the screen and interact with Windows via the keyboard or mouse. + * ### How can I use a custom ISO file? - This is mainly for use during installation, as afterwards you can use Remote Desktop, TeamViewer or any other software you prefer. + You can supply your own ISO file by naming it ```custom.iso``` and placing it in the ```/storage``` folder. * ### How do I increase the amount of CPU or RAM? @@ -139,6 +129,41 @@ docker run -it --rm -e "VERSION=win11x64" -p 8006:8006 --device=/dev/kvm --cap-a If you receive an error from `kvm-ok` indicating that KVM acceleration can't be used, check the virtualization settings in the BIOS. + * ### How can I view the screen? + + The container includes a web-based viewer, so you can visit [http://localhost:8006/](http://localhost:8006/) using any web browser to view the screen and interact with Windows via the keyboard or mouse. + + This is mainly for use during installation, as afterwards you can use Remote Desktop, TeamViewer or any other software you prefer. + + * ### How do I perform a manual installation? + + If you prefer to perform the installation manually in order to customize some options, add the following environment variable: + + ```yaml + environment: + ATTENDED: "Y" + ``` + + Then follow these steps: + + - Start the container and wait until the ISO download is completed. If needed, you can view this progress in the Docker log. Wait until you see the message ```BdsDxe: starting Boot```. + + - Connect to port 8006 of the container in your web browser, you will see the Windows installation screen. + + - Start the installation by clicking ```Install now```. On the next screen, press 'OK' when prompted to ```Load driver``` and select the ```VirtIO SCSI``` driver from the list that matches your Windows version. So for Windows 11, select ```D:\amd64\w11\vioscsi.inf``` and click 'Next'. + + - Accept the license agreement and select your preferred Windows edition, like Home or Pro. + + - Choose ```Custom: Install Windows only (advanced)```, and click ```Load driver``` on the next screen. Select 'Browse' and navigate to the ```D:\NetKVM\w11\amd64``` folder, and click 'OK'. Select the ```VirtIO Ethernet Adapter``` from the list and click 'Next'. + + - Select 'Drive 0' and click 'Next'. + + - Wait until Windows finishes copying files and completes the installation. + + - Once you see your desktop, open File Explorer and navigate to the CD-ROM drive (D:). Double-click on ```virtio-win-gt-x64``` and proceed to install the VirtIO drivers. + + - Now your Windows installation is ready for use. Enjoy it, and don't forget to star this repo! + * ### Is this project legal? Yes, this project contains only open-source code and does not distribute any copyrighted material. Neither does it try to circumvent any copyright protection measures. So under all applicable laws, this project would be considered legal. From 29a545dd8fe337d3d40f7a7dd118b501c7ca2279 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 20:14:05 +0100 Subject: [PATCH 09/63] feat: Add Virtio drivers --- assets/win11x64.xml | 44 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/assets/win11x64.xml b/assets/win11x64.xml index 06e85f1c8..25da1c873 100644 --- a/assets/win11x64.xml +++ b/assets/win11x64.xml @@ -93,10 +93,34 @@ <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <DriverPaths> <PathAndCredentials wcm:action="add" wcm:keyValue="1"> - <Path>D:\NetKVM\w11\amd64\</Path> + <Path>D:\viostor\w11\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="2"> + <Path>D:\NetKVM\w11\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="3"> - <Path>D:\vioscsi\w11\amd64\</Path> + <Path>D:\Balloon\w11\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="4"> + <Path>D:\pvpanic\w11\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="5"> + <Path>D:\qemupciserial\w11\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="6"> + <Path>D:\qxldod\w11\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="7"> + <Path>D:\vioinput\w11\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="8"> + <Path>D:\viorng\w11\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="9"> + <Path>D:\vioscsi\w11\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="10"> + <Path>D:\vioserial\w11\amd64</Path> </PathAndCredentials> </DriverPaths> </component> @@ -196,7 +220,7 @@ </RunSynchronous> </component> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> - <ComputerName>Docker</ComputerName> + <ComputerName>Container</ComputerName> </component> </settings> <settings pass="auditSystem"/> @@ -220,6 +244,10 @@ </Password> </LocalAccount> </LocalAccounts> + <AdministratorPassword> + <Value>password</Value> + <PlainText>true</PlainText> + </AdministratorPassword> </UserAccounts> <AutoLogon> <Username>Docker</Username> @@ -243,10 +271,18 @@ <SynchronousCommand wcm:action="add"> <Order>2</Order> <CommandLine>powershell.exe -NoProfile -Command "Disable-ComputerRestore -Drive 'C:';"</CommandLine> + <Description>Disable System Restore</Description> </SynchronousCommand> <SynchronousCommand wcm:action="add"> <Order>3</Order> - <CommandLine>D:\virtio-win-gt-x64.msi</CommandLine> + <RequiresUserInput>false</RequiresUserInput> + <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>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> + <Description>Install VirtIO drivers</Description> </SynchronousCommand> </FirstLogonCommands> </component> From 8f19c3127de5340cbde22412452263e1226a77f6 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 20:25:08 +0100 Subject: [PATCH 10/63] feat: Add Windows 10 config --- assets/{win11x64.xml => win10x64.xml} | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) rename assets/{win11x64.xml => win10x64.xml} (96%) diff --git a/assets/win11x64.xml b/assets/win10x64.xml similarity index 96% rename from assets/win11x64.xml rename to assets/win10x64.xml index 25da1c873..a1e2d5378 100644 --- a/assets/win11x64.xml +++ b/assets/win10x64.xml @@ -93,34 +93,34 @@ <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <DriverPaths> <PathAndCredentials wcm:action="add" wcm:keyValue="1"> - <Path>D:\viostor\w11\amd64</Path> + <Path>D:\viostor\w10\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="2"> - <Path>D:\NetKVM\w11\amd64</Path> + <Path>D:\NetKVM\w10\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="3"> - <Path>D:\Balloon\w11\amd64</Path> + <Path>D:\Balloon\w10\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="4"> - <Path>D:\pvpanic\w11\amd64</Path> + <Path>D:\pvpanic\w10\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="5"> - <Path>D:\qemupciserial\w11\amd64</Path> + <Path>D:\qemupciserial\w10\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="6"> - <Path>D:\qxldod\w11\amd64</Path> + <Path>D:\qxldod\w10\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="7"> - <Path>D:\vioinput\w11\amd64</Path> + <Path>D:\vioinput\w10\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="8"> - <Path>D:\viorng\w11\amd64</Path> + <Path>D:\viorng\w10\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="9"> - <Path>D:\vioscsi\w11\amd64</Path> + <Path>D:\vioscsi\w10\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="10"> - <Path>D:\vioserial\w11\amd64</Path> + <Path>D:\vioserial\w10\amd64</Path> </PathAndCredentials> </DriverPaths> </component> From dfee627f1bdafd620c1328617b27838ff04bc10e Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 20:26:45 +0100 Subject: [PATCH 11/63] feat: Add Windows 11 config --- assets/win11x64.xml | 290 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 290 insertions(+) create mode 100644 assets/win11x64.xml diff --git a/assets/win11x64.xml b/assets/win11x64.xml new file mode 100644 index 000000000..25da1c873 --- /dev/null +++ b/assets/win11x64.xml @@ -0,0 +1,290 @@ +<?xml version="1.0"?> +<unattend xmlns="urn:schemas-microsoft-com:unattend" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"> + <settings pass="offlineServicing"/> + <settings pass="windowsPE"> + <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <SetupUILanguage> + <UILanguage>en-US</UILanguage> + </SetupUILanguage> + <InputLocale>0409:00000409</InputLocale> + <SystemLocale>en-US</SystemLocale> + <UILanguage>en-US</UILanguage> + <UserLocale>en-US</UserLocale> + </component> + <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <DiskConfiguration> + <Disk wcm:action="add"> + <DiskID>0</DiskID> + <WillWipeDisk>true</WillWipeDisk> + <CreatePartitions> + <!-- Windows RE Tools partition --> + <CreatePartition wcm:action="add"> + <Order>1</Order> + <Type>Primary</Type> + <Size>300</Size> + </CreatePartition> + <!-- System partition (ESP) --> + <CreatePartition wcm:action="add"> + <Order>2</Order> + <Type>EFI</Type> + <Size>100</Size> + </CreatePartition> + <!-- Microsoft reserved partition (MSR) --> + <CreatePartition wcm:action="add"> + <Order>3</Order> + <Type>MSR</Type> + <Size>128</Size> + </CreatePartition> + <!-- Windows partition --> + <CreatePartition wcm:action="add"> + <Order>4</Order> + <Type>Primary</Type> + <Extend>true</Extend> + </CreatePartition> + </CreatePartitions> + <ModifyPartitions> + <!-- Windows RE Tools partition --> + <ModifyPartition wcm:action="add"> + <Order>1</Order> + <PartitionID>1</PartitionID> + <Label>WINRE</Label> + <Format>NTFS</Format> + <TypeID>DE94BBA4-06D1-4D40-A16A-BFD50179D6AC</TypeID> + </ModifyPartition> + <!-- System partition (ESP) --> + <ModifyPartition wcm:action="add"> + <Order>2</Order> + <PartitionID>2</PartitionID> + <Label>System</Label> + <Format>FAT32</Format> + </ModifyPartition> + <!-- MSR partition does not need to be modified --> + <ModifyPartition wcm:action="add"> + <Order>3</Order> + <PartitionID>3</PartitionID> + </ModifyPartition> + <!-- Windows partition --> + <ModifyPartition wcm:action="add"> + <Order>4</Order> + <PartitionID>4</PartitionID> + <Label>Windows</Label> + <Letter>C</Letter> + <Format>NTFS</Format> + </ModifyPartition> + </ModifyPartitions> + </Disk> + </DiskConfiguration> + <ImageInstall> + <OSImage> + <InstallTo> + <DiskID>0</DiskID> + <PartitionID>4</PartitionID> + </InstallTo> + <InstallToAvailablePartition>false</InstallToAvailablePartition> + </OSImage> + </ImageInstall> + <UserData> + <ProductKey> + <Key>VK7JG-NPHTM-C97JM-9MPGT-3V66T</Key> + </ProductKey> + <AcceptEula>true</AcceptEula> + </UserData> + </component> + <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <DriverPaths> + <PathAndCredentials wcm:action="add" wcm:keyValue="1"> + <Path>D:\viostor\w11\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="2"> + <Path>D:\NetKVM\w11\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="3"> + <Path>D:\Balloon\w11\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="4"> + <Path>D:\pvpanic\w11\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="5"> + <Path>D:\qemupciserial\w11\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="6"> + <Path>D:\qxldod\w11\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="7"> + <Path>D:\vioinput\w11\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="8"> + <Path>D:\viorng\w11\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="9"> + <Path>D:\vioscsi\w11\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="10"> + <Path>D:\vioserial\w11\amd64</Path> + </PathAndCredentials> + </DriverPaths> + </component> + </settings> + <settings pass="generalize"/> + <settings pass="specialize"> + <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <RunSynchronous> + <RunSynchronousCommand wcm:action="add"> + <Order>1</Order> + <Path>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>2</Order> + <Path>netsh.exe advfirewall firewall set rule group="Remote Desktop" new enable=Yes</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>3</Order> + <Path>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>4</Order> + <Path>fsutil.exe behavior set disableLastAccess 1</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>5</Order> + <Path>reg.exe load "HKU\mount" "C:\Users\Default\NTUSER.DAT"</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>6</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "ContentDeliveryAllowed" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>7</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "FeatureManagementEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>8</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "OEMPreInstalledAppsEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>9</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>10</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEverEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>11</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SilentInstalledAppsEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>12</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SoftLandingEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>13</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContentEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>14</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-310093Enabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>15</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338387Enabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>16</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338388Enabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>17</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338389Enabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>18</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338393Enabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>19</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-353698Enabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>20</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SystemPaneSuggestionsEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>21</Order> + <Path>reg.exe unload "HKU\mount"</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>22</Order> + <Path>reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + </RunSynchronous> + </component> + <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <ComputerName>Container</ComputerName> + </component> + </settings> + <settings pass="auditSystem"/> + <settings pass="auditUser"/> + <settings pass="oobeSystem"> + <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <InputLocale>0409:00000409</InputLocale> + <SystemLocale>en-US</SystemLocale> + <UILanguage>en-US</UILanguage> + <UserLocale>en-US</UserLocale> + </component> + <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <UserAccounts> + <LocalAccounts> + <LocalAccount wcm:action="add"> + <Name>Docker</Name> + <Group>Administrators</Group> + <Password> + <Value/> + <PlainText>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> + <ProtectYourPC>3</ProtectYourPC> + <HideEULAPage>true</HideEULAPage> + <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> + </OOBE> + <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> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>2</Order> + <CommandLine>powershell.exe -NoProfile -Command "Disable-ComputerRestore -Drive 'C:';"</CommandLine> + <Description>Disable System Restore</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>3</Order> + <RequiresUserInput>false</RequiresUserInput> + <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>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> + <Description>Install VirtIO drivers</Description> + </SynchronousCommand> + </FirstLogonCommands> + </component> + </settings> +</unattend> From 6828ad9692f40fafe172131c986d0ea916358e6e Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 20:27:38 +0100 Subject: [PATCH 12/63] feat: Add Windows 8.1 config --- assets/win81x64.xml | 290 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 290 insertions(+) create mode 100644 assets/win81x64.xml diff --git a/assets/win81x64.xml b/assets/win81x64.xml new file mode 100644 index 000000000..a1e2d5378 --- /dev/null +++ b/assets/win81x64.xml @@ -0,0 +1,290 @@ +<?xml version="1.0"?> +<unattend xmlns="urn:schemas-microsoft-com:unattend" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"> + <settings pass="offlineServicing"/> + <settings pass="windowsPE"> + <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <SetupUILanguage> + <UILanguage>en-US</UILanguage> + </SetupUILanguage> + <InputLocale>0409:00000409</InputLocale> + <SystemLocale>en-US</SystemLocale> + <UILanguage>en-US</UILanguage> + <UserLocale>en-US</UserLocale> + </component> + <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <DiskConfiguration> + <Disk wcm:action="add"> + <DiskID>0</DiskID> + <WillWipeDisk>true</WillWipeDisk> + <CreatePartitions> + <!-- Windows RE Tools partition --> + <CreatePartition wcm:action="add"> + <Order>1</Order> + <Type>Primary</Type> + <Size>300</Size> + </CreatePartition> + <!-- System partition (ESP) --> + <CreatePartition wcm:action="add"> + <Order>2</Order> + <Type>EFI</Type> + <Size>100</Size> + </CreatePartition> + <!-- Microsoft reserved partition (MSR) --> + <CreatePartition wcm:action="add"> + <Order>3</Order> + <Type>MSR</Type> + <Size>128</Size> + </CreatePartition> + <!-- Windows partition --> + <CreatePartition wcm:action="add"> + <Order>4</Order> + <Type>Primary</Type> + <Extend>true</Extend> + </CreatePartition> + </CreatePartitions> + <ModifyPartitions> + <!-- Windows RE Tools partition --> + <ModifyPartition wcm:action="add"> + <Order>1</Order> + <PartitionID>1</PartitionID> + <Label>WINRE</Label> + <Format>NTFS</Format> + <TypeID>DE94BBA4-06D1-4D40-A16A-BFD50179D6AC</TypeID> + </ModifyPartition> + <!-- System partition (ESP) --> + <ModifyPartition wcm:action="add"> + <Order>2</Order> + <PartitionID>2</PartitionID> + <Label>System</Label> + <Format>FAT32</Format> + </ModifyPartition> + <!-- MSR partition does not need to be modified --> + <ModifyPartition wcm:action="add"> + <Order>3</Order> + <PartitionID>3</PartitionID> + </ModifyPartition> + <!-- Windows partition --> + <ModifyPartition wcm:action="add"> + <Order>4</Order> + <PartitionID>4</PartitionID> + <Label>Windows</Label> + <Letter>C</Letter> + <Format>NTFS</Format> + </ModifyPartition> + </ModifyPartitions> + </Disk> + </DiskConfiguration> + <ImageInstall> + <OSImage> + <InstallTo> + <DiskID>0</DiskID> + <PartitionID>4</PartitionID> + </InstallTo> + <InstallToAvailablePartition>false</InstallToAvailablePartition> + </OSImage> + </ImageInstall> + <UserData> + <ProductKey> + <Key>VK7JG-NPHTM-C97JM-9MPGT-3V66T</Key> + </ProductKey> + <AcceptEula>true</AcceptEula> + </UserData> + </component> + <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <DriverPaths> + <PathAndCredentials wcm:action="add" wcm:keyValue="1"> + <Path>D:\viostor\w10\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="2"> + <Path>D:\NetKVM\w10\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="3"> + <Path>D:\Balloon\w10\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="4"> + <Path>D:\pvpanic\w10\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="5"> + <Path>D:\qemupciserial\w10\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="6"> + <Path>D:\qxldod\w10\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="7"> + <Path>D:\vioinput\w10\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="8"> + <Path>D:\viorng\w10\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="9"> + <Path>D:\vioscsi\w10\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="10"> + <Path>D:\vioserial\w10\amd64</Path> + </PathAndCredentials> + </DriverPaths> + </component> + </settings> + <settings pass="generalize"/> + <settings pass="specialize"> + <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <RunSynchronous> + <RunSynchronousCommand wcm:action="add"> + <Order>1</Order> + <Path>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>2</Order> + <Path>netsh.exe advfirewall firewall set rule group="Remote Desktop" new enable=Yes</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>3</Order> + <Path>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>4</Order> + <Path>fsutil.exe behavior set disableLastAccess 1</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>5</Order> + <Path>reg.exe load "HKU\mount" "C:\Users\Default\NTUSER.DAT"</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>6</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "ContentDeliveryAllowed" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>7</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "FeatureManagementEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>8</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "OEMPreInstalledAppsEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>9</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>10</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEverEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>11</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SilentInstalledAppsEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>12</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SoftLandingEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>13</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContentEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>14</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-310093Enabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>15</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338387Enabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>16</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338388Enabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>17</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338389Enabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>18</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338393Enabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>19</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-353698Enabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>20</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SystemPaneSuggestionsEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>21</Order> + <Path>reg.exe unload "HKU\mount"</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>22</Order> + <Path>reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + </RunSynchronous> + </component> + <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <ComputerName>Container</ComputerName> + </component> + </settings> + <settings pass="auditSystem"/> + <settings pass="auditUser"/> + <settings pass="oobeSystem"> + <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <InputLocale>0409:00000409</InputLocale> + <SystemLocale>en-US</SystemLocale> + <UILanguage>en-US</UILanguage> + <UserLocale>en-US</UserLocale> + </component> + <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <UserAccounts> + <LocalAccounts> + <LocalAccount wcm:action="add"> + <Name>Docker</Name> + <Group>Administrators</Group> + <Password> + <Value/> + <PlainText>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> + <ProtectYourPC>3</ProtectYourPC> + <HideEULAPage>true</HideEULAPage> + <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> + </OOBE> + <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> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>2</Order> + <CommandLine>powershell.exe -NoProfile -Command "Disable-ComputerRestore -Drive 'C:';"</CommandLine> + <Description>Disable System Restore</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>3</Order> + <RequiresUserInput>false</RequiresUserInput> + <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>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> + <Description>Install VirtIO drivers</Description> + </SynchronousCommand> + </FirstLogonCommands> + </component> + </settings> +</unattend> From 8a01437975591fc9796486dcddb78911c76bf001 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 20:45:34 +0100 Subject: [PATCH 13/63] feat: Windows 8.1 config --- assets/win81x64.xml | 159 ++++++++++++-------------------------------- 1 file changed, 41 insertions(+), 118 deletions(-) diff --git a/assets/win81x64.xml b/assets/win81x64.xml index a1e2d5378..be9080e85 100644 --- a/assets/win81x64.xml +++ b/assets/win81x64.xml @@ -49,7 +49,6 @@ <PartitionID>1</PartitionID> <Label>WINRE</Label> <Format>NTFS</Format> - <TypeID>DE94BBA4-06D1-4D40-A16A-BFD50179D6AC</TypeID> </ModifyPartition> <!-- System partition (ESP) --> <ModifyPartition wcm:action="add"> @@ -85,163 +84,81 @@ </ImageInstall> <UserData> <ProductKey> - <Key>VK7JG-NPHTM-C97JM-9MPGT-3V66T</Key> + <Key/> + <WillShowUI>Never</WillShowUI> </ProductKey> <AcceptEula>true</AcceptEula> + <FullName>Docker</FullName> + <Organization/> </UserData> + <EnableFirewall>false</EnableFirewall> </component> <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <DriverPaths> <PathAndCredentials wcm:action="add" wcm:keyValue="1"> - <Path>D:\viostor\w10\amd64</Path> + <Path>D:\viostor\w8.1\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="2"> - <Path>D:\NetKVM\w10\amd64</Path> + <Path>D:\NetKVM\w8.1\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="3"> - <Path>D:\Balloon\w10\amd64</Path> + <Path>D:\Balloon\w8.1\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="4"> - <Path>D:\pvpanic\w10\amd64</Path> + <Path>D:\pvpanic\w8.1\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="5"> - <Path>D:\qemupciserial\w10\amd64</Path> + <Path>D:\qemupciserial\w8.1\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="6"> - <Path>D:\qxldod\w10\amd64</Path> + <Path>D:\qxldod\w8.1\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="7"> - <Path>D:\vioinput\w10\amd64</Path> + <Path>D:\vioinput\w8.1\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="8"> - <Path>D:\viorng\w10\amd64</Path> + <Path>D:\viorng\w8.1\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="9"> - <Path>D:\vioscsi\w10\amd64</Path> + <Path>D:\vioscsi\w8.1\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="10"> - <Path>D:\vioserial\w10\amd64</Path> + <Path>D:\vioserial\w8.1\amd64</Path> </PathAndCredentials> </DriverPaths> </component> </settings> - <settings pass="generalize"/> <settings pass="specialize"> - <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> - <RunSynchronous> - <RunSynchronousCommand wcm:action="add"> - <Order>1</Order> - <Path>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>2</Order> - <Path>netsh.exe advfirewall firewall set rule group="Remote Desktop" new enable=Yes</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>3</Order> - <Path>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>4</Order> - <Path>fsutil.exe behavior set disableLastAccess 1</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>5</Order> - <Path>reg.exe load "HKU\mount" "C:\Users\Default\NTUSER.DAT"</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>6</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "ContentDeliveryAllowed" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>7</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "FeatureManagementEnabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>8</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "OEMPreInstalledAppsEnabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>9</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEnabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>10</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEverEnabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>11</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SilentInstalledAppsEnabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>12</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SoftLandingEnabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>13</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContentEnabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>14</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-310093Enabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>15</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338387Enabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>16</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338388Enabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>17</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338389Enabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>18</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338393Enabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>19</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-353698Enabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>20</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SystemPaneSuggestionsEnabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>21</Order> - <Path>reg.exe unload "HKU\mount"</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>22</Order> - <Path>reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - </RunSynchronous> - </component> - <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> - <ComputerName>Container</ComputerName> - </component> - </settings> - <settings pass="auditSystem"/> - <settings pass="auditUser"/> - <settings pass="oobeSystem"> <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <InputLocale>0409:00000409</InputLocale> <SystemLocale>en-US</SystemLocale> <UILanguage>en-US</UILanguage> <UserLocale>en-US</UserLocale> </component> + <component name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <SkipAutoActivation>true</SkipAutoActivation> + </component> + <component name="Microsoft-Windows-SQMApi" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <CEIPEnabled>0</CEIPEnabled> + </component> + <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <ComputerName>Container</ComputerName> + <ProductKey>GCRJD-8NW9H-F2CDX-CCM8D-9D6T9</ProductKey> + </component> + </settings> + <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <UserAccounts> <LocalAccounts> <LocalAccount wcm:action="add"> - <Name>Docker</Name> - <Group>Administrators</Group> <Password> <Value/> <PlainText>true</PlainText> </Password> + <Description/> + <DisplayName>Docker</DisplayName> + <Group>Administrators</Group> + <Name>Docker</Name> </LocalAccount> </LocalAccounts> <AdministratorPassword> @@ -250,19 +167,25 @@ </AdministratorPassword> </UserAccounts> <AutoLogon> - <Username>Docker</Username> - <Enabled>true</Enabled> - <LogonCount>1</LogonCount> <Password> <Value/> <PlainText>true</PlainText> </Password> + <Enabled>true</Enabled> + <Username>Docker</Username> </AutoLogon> <OOBE> - <ProtectYourPC>3</ProtectYourPC> <HideEULAPage>true</HideEULAPage> + <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen> + <HideOnlineAccountScreens>true</HideOnlineAccountScreens> <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> + <NetworkLocation>Home</NetworkLocation> + <ProtectYourPC>1</ProtectYourPC> + <SkipUserOOBE>true</SkipUserOOBE> + <SkipMachineOOBE>true</SkipMachineOOBE> </OOBE> + <RegisteredOrganization/> + <RegisteredOwner>Docker</RegisteredOwner> <FirstLogonCommands> <SynchronousCommand wcm:action="add"> <Order>1</Order> From 4e140b0255a63abc4942f977394794751488a221 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 20:50:04 +0100 Subject: [PATCH 14/63] feat: Windows 7 config --- assets/win7x64-ultimate.xml | 213 ++++++++++++++++++++++++++++++++++++ 1 file changed, 213 insertions(+) create mode 100644 assets/win7x64-ultimate.xml diff --git a/assets/win7x64-ultimate.xml b/assets/win7x64-ultimate.xml new file mode 100644 index 000000000..064be5b06 --- /dev/null +++ b/assets/win7x64-ultimate.xml @@ -0,0 +1,213 @@ +<?xml version="1.0"?> +<unattend xmlns="urn:schemas-microsoft-com:unattend" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"> + <settings pass="offlineServicing"/> + <settings pass="windowsPE"> + <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <SetupUILanguage> + <UILanguage>en-US</UILanguage> + </SetupUILanguage> + <InputLocale>0409:00000409</InputLocale> + <SystemLocale>en-US</SystemLocale> + <UILanguage>en-US</UILanguage> + <UserLocale>en-US</UserLocale> + </component> + <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <DiskConfiguration> + <Disk wcm:action="add"> + <DiskID>0</DiskID> + <WillWipeDisk>true</WillWipeDisk> + <CreatePartitions> + <!-- Windows RE Tools partition --> + <CreatePartition wcm:action="add"> + <Order>1</Order> + <Type>Primary</Type> + <Size>300</Size> + </CreatePartition> + <!-- System partition (ESP) --> + <CreatePartition wcm:action="add"> + <Order>2</Order> + <Type>EFI</Type> + <Size>100</Size> + </CreatePartition> + <!-- Microsoft reserved partition (MSR) --> + <CreatePartition wcm:action="add"> + <Order>3</Order> + <Type>MSR</Type> + <Size>128</Size> + </CreatePartition> + <!-- Windows partition --> + <CreatePartition wcm:action="add"> + <Order>4</Order> + <Type>Primary</Type> + <Extend>true</Extend> + </CreatePartition> + </CreatePartitions> + <ModifyPartitions> + <!-- Windows RE Tools partition --> + <ModifyPartition wcm:action="add"> + <Order>1</Order> + <PartitionID>1</PartitionID> + <Label>WINRE</Label> + <Format>NTFS</Format> + </ModifyPartition> + <!-- System partition (ESP) --> + <ModifyPartition wcm:action="add"> + <Order>2</Order> + <PartitionID>2</PartitionID> + <Label>System</Label> + <Format>FAT32</Format> + </ModifyPartition> + <!-- MSR partition does not need to be modified --> + <ModifyPartition wcm:action="add"> + <Order>3</Order> + <PartitionID>3</PartitionID> + </ModifyPartition> + <!-- Windows partition --> + <ModifyPartition wcm:action="add"> + <Order>4</Order> + <PartitionID>4</PartitionID> + <Label>Windows</Label> + <Letter>C</Letter> + <Format>NTFS</Format> + </ModifyPartition> + </ModifyPartitions> + </Disk> + </DiskConfiguration> + <ImageInstall> + <OSImage> + <InstallTo> + <DiskID>0</DiskID> + <PartitionID>4</PartitionID> + </InstallTo> + <InstallToAvailablePartition>false</InstallToAvailablePartition> + </OSImage> + </ImageInstall> + <UserData> + <ProductKey> + <Key/> + <WillShowUI>Never</WillShowUI> + </ProductKey> + <AcceptEula>true</AcceptEula> + <FullName>Docker</FullName> + <Organization/> + </UserData> + <EnableFirewall>false</EnableFirewall> + </component> + <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <DriverPaths> + <PathAndCredentials wcm:action="add" wcm:keyValue="1"> + <Path>D:\viostor\w7\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="2"> + <Path>D:\NetKVM\w7\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="3"> + <Path>D:\Balloon\w7\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="4"> + <Path>D:\pvpanic\w7\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="5"> + <Path>D:\qemupciserial\w7\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="6"> + <Path>D:\qxldod\w7\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="7"> + <Path>D:\vioinput\w7\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="8"> + <Path>D:\viorng\w7\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="9"> + <Path>D:\vioscsi\w7\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="10"> + <Path>D:\vioserial\w7\amd64</Path> + </PathAndCredentials> + </DriverPaths> + </component> + </settings> + <settings pass="specialize"> + <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <InputLocale>0409:00000409</InputLocale> + <SystemLocale>en-US</SystemLocale> + <UILanguage>en-US</UILanguage> + <UserLocale>en-US</UserLocale> + </component> + <component name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <SkipAutoActivation>true</SkipAutoActivation> + </component> + <component name="Microsoft-Windows-SQMApi" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <CEIPEnabled>0</CEIPEnabled> + </component> + <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <ComputerName>Container</ComputerName> + <ProductKey>GCRJD-8NW9H-F2CDX-CCM8D-9D6T9</ProductKey> + </component> + </settings> + <settings pass="oobeSystem"> + <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <UserAccounts> + <LocalAccounts> + <LocalAccount wcm:action="add"> + <Password> + <Value/> + <PlainText>true</PlainText> + </Password> + <Description/> + <DisplayName>Docker</DisplayName> + <Group>Administrators</Group> + <Name>Docker</Name> + </LocalAccount> + </LocalAccounts> + <AdministratorPassword> + <Value>password</Value> + <PlainText>true</PlainText> + </AdministratorPassword> + </UserAccounts> + <AutoLogon> + <Password> + <Value/> + <PlainText>true</PlainText> + </Password> + <Enabled>true</Enabled> + <Username>Docker</Username> + </AutoLogon> + <OOBE> + <HideEULAPage>true</HideEULAPage> + <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen> + <HideOnlineAccountScreens>true</HideOnlineAccountScreens> + <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> + <NetworkLocation>Home</NetworkLocation> + <ProtectYourPC>1</ProtectYourPC> + <SkipUserOOBE>true</SkipUserOOBE> + <SkipMachineOOBE>true</SkipMachineOOBE> + </OOBE> + <RegisteredOrganization/> + <RegisteredOwner>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> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>2</Order> + <CommandLine>powershell.exe -NoProfile -Command "Disable-ComputerRestore -Drive 'C:';"</CommandLine> + <Description>Disable System Restore</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>3</Order> + <RequiresUserInput>false</RequiresUserInput> + <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>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> + <Description>Install VirtIO drivers</Description> + </SynchronousCommand> + </FirstLogonCommands> + </component> + </settings> +</unattend> From 7c671ae7b41a56f8a0c99a3347a5d09ef6b17311 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 21:01:08 +0100 Subject: [PATCH 15/63] feat: Windows Server 2022 config --- assets/win2022-eval.xml | 290 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 290 insertions(+) create mode 100644 assets/win2022-eval.xml diff --git a/assets/win2022-eval.xml b/assets/win2022-eval.xml new file mode 100644 index 000000000..32192db68 --- /dev/null +++ b/assets/win2022-eval.xml @@ -0,0 +1,290 @@ +<?xml version="1.0"?> +<unattend xmlns="urn:schemas-microsoft-com:unattend" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"> + <settings pass="offlineServicing"/> + <settings pass="windowsPE"> + <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <SetupUILanguage> + <UILanguage>en-US</UILanguage> + </SetupUILanguage> + <InputLocale>0409:00000409</InputLocale> + <SystemLocale>en-US</SystemLocale> + <UILanguage>en-US</UILanguage> + <UserLocale>en-US</UserLocale> + </component> + <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <DiskConfiguration> + <Disk wcm:action="add"> + <DiskID>0</DiskID> + <WillWipeDisk>true</WillWipeDisk> + <CreatePartitions> + <!-- Windows RE Tools partition --> + <CreatePartition wcm:action="add"> + <Order>1</Order> + <Type>Primary</Type> + <Size>300</Size> + </CreatePartition> + <!-- System partition (ESP) --> + <CreatePartition wcm:action="add"> + <Order>2</Order> + <Type>EFI</Type> + <Size>100</Size> + </CreatePartition> + <!-- Microsoft reserved partition (MSR) --> + <CreatePartition wcm:action="add"> + <Order>3</Order> + <Type>MSR</Type> + <Size>128</Size> + </CreatePartition> + <!-- Windows partition --> + <CreatePartition wcm:action="add"> + <Order>4</Order> + <Type>Primary</Type> + <Extend>true</Extend> + </CreatePartition> + </CreatePartitions> + <ModifyPartitions> + <!-- Windows RE Tools partition --> + <ModifyPartition wcm:action="add"> + <Order>1</Order> + <PartitionID>1</PartitionID> + <Label>WINRE</Label> + <Format>NTFS</Format> + <TypeID>DE94BBA4-06D1-4D40-A16A-BFD50179D6AC</TypeID> + </ModifyPartition> + <!-- System partition (ESP) --> + <ModifyPartition wcm:action="add"> + <Order>2</Order> + <PartitionID>2</PartitionID> + <Label>System</Label> + <Format>FAT32</Format> + </ModifyPartition> + <!-- MSR partition does not need to be modified --> + <ModifyPartition wcm:action="add"> + <Order>3</Order> + <PartitionID>3</PartitionID> + </ModifyPartition> + <!-- Windows partition --> + <ModifyPartition wcm:action="add"> + <Order>4</Order> + <PartitionID>4</PartitionID> + <Label>Windows</Label> + <Letter>C</Letter> + <Format>NTFS</Format> + </ModifyPartition> + </ModifyPartitions> + </Disk> + </DiskConfiguration> + <ImageInstall> + <OSImage> + <InstallTo> + <DiskID>0</DiskID> + <PartitionID>4</PartitionID> + </InstallTo> + <InstallToAvailablePartition>false</InstallToAvailablePartition> + </OSImage> + </ImageInstall> + <UserData> + <ProductKey> + <Key>VK7JG-NPHTM-C97JM-9MPGT-3V66T</Key> + </ProductKey> + <AcceptEula>true</AcceptEula> + </UserData> + </component> + <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <DriverPaths> + <PathAndCredentials wcm:action="add" wcm:keyValue="1"> + <Path>D:\viostor\2k22\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="2"> + <Path>D:\NetKVM\2k22\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="3"> + <Path>D:\Balloon\2k22\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="4"> + <Path>D:\pvpanic\2k22\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="5"> + <Path>D:\qemupciserial\2k22\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="6"> + <Path>D:\qxldod\2k22\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="7"> + <Path>D:\vioinput\2k22\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="8"> + <Path>D:\viorng\2k22\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="9"> + <Path>D:\vioscsi\2k22\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="10"> + <Path>D:\vioserial\2k22\amd64</Path> + </PathAndCredentials> + </DriverPaths> + </component> + </settings> + <settings pass="generalize"/> + <settings pass="specialize"> + <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <RunSynchronous> + <RunSynchronousCommand wcm:action="add"> + <Order>1</Order> + <Path>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>2</Order> + <Path>netsh.exe advfirewall firewall set rule group="Remote Desktop" new enable=Yes</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>3</Order> + <Path>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>4</Order> + <Path>fsutil.exe behavior set disableLastAccess 1</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>5</Order> + <Path>reg.exe load "HKU\mount" "C:\Users\Default\NTUSER.DAT"</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>6</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "ContentDeliveryAllowed" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>7</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "FeatureManagementEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>8</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "OEMPreInstalledAppsEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>9</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>10</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEverEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>11</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SilentInstalledAppsEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>12</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SoftLandingEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>13</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContentEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>14</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-310093Enabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>15</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338387Enabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>16</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338388Enabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>17</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338389Enabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>18</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338393Enabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>19</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-353698Enabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>20</Order> + <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SystemPaneSuggestionsEnabled" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>21</Order> + <Path>reg.exe unload "HKU\mount"</Path> + </RunSynchronousCommand> + <RunSynchronousCommand wcm:action="add"> + <Order>22</Order> + <Path>reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 0 /f</Path> + </RunSynchronousCommand> + </RunSynchronous> + </component> + <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <ComputerName>Container</ComputerName> + </component> + </settings> + <settings pass="auditSystem"/> + <settings pass="auditUser"/> + <settings pass="oobeSystem"> + <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <InputLocale>0409:00000409</InputLocale> + <SystemLocale>en-US</SystemLocale> + <UILanguage>en-US</UILanguage> + <UserLocale>en-US</UserLocale> + </component> + <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <UserAccounts> + <LocalAccounts> + <LocalAccount wcm:action="add"> + <Name>Docker</Name> + <Group>Administrators</Group> + <Password> + <Value/> + <PlainText>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> + <ProtectYourPC>3</ProtectYourPC> + <HideEULAPage>true</HideEULAPage> + <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> + </OOBE> + <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> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>2</Order> + <CommandLine>powershell.exe -NoProfile -Command "Disable-ComputerRestore -Drive 'C:';"</CommandLine> + <Description>Disable System Restore</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>3</Order> + <RequiresUserInput>false</RequiresUserInput> + <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>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> + <Description>Install VirtIO drivers</Description> + </SynchronousCommand> + </FirstLogonCommands> + </component> + </settings> +</unattend> From 7bb80c21b142fafab73e30bbd3bbd1e734a5eec9 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 21:17:38 +0100 Subject: [PATCH 16/63] feat: Windows Server 2022 config --- assets/win2022-eval.xml | 204 +++++++++++----------------------------- 1 file changed, 53 insertions(+), 151 deletions(-) diff --git a/assets/win2022-eval.xml b/assets/win2022-eval.xml index 32192db68..3ebe90b22 100644 --- a/assets/win2022-eval.xml +++ b/assets/win2022-eval.xml @@ -1,6 +1,5 @@ -<?xml version="1.0"?> -<unattend xmlns="urn:schemas-microsoft-com:unattend" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"> - <settings pass="offlineServicing"/> +<?xml version="1.0" encoding="utf-8"?> +<unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="windowsPE"> <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <SetupUILanguage> @@ -9,86 +8,61 @@ <InputLocale>0409:00000409</InputLocale> <SystemLocale>en-US</SystemLocale> <UILanguage>en-US</UILanguage> + <UILanguageFallback>en-US</UILanguageFallback> <UserLocale>en-US</UserLocale> </component> <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> - <DiskConfiguration> + <DiskConfiguration> <Disk wcm:action="add"> - <DiskID>0</DiskID> - <WillWipeDisk>true</WillWipeDisk> <CreatePartitions> - <!-- Windows RE Tools partition --> <CreatePartition wcm:action="add"> <Order>1</Order> + <Size>350</Size> <Type>Primary</Type> - <Size>300</Size> </CreatePartition> - <!-- System partition (ESP) --> <CreatePartition wcm:action="add"> <Order>2</Order> - <Type>EFI</Type> - <Size>100</Size> - </CreatePartition> - <!-- Microsoft reserved partition (MSR) --> - <CreatePartition wcm:action="add"> - <Order>3</Order> - <Type>MSR</Type> - <Size>128</Size> - </CreatePartition> - <!-- Windows partition --> - <CreatePartition wcm:action="add"> - <Order>4</Order> - <Type>Primary</Type> <Extend>true</Extend> + <Type>Primary</Type> </CreatePartition> </CreatePartitions> <ModifyPartitions> - <!-- Windows RE Tools partition --> <ModifyPartition wcm:action="add"> + <Format>NTFS</Format> + <Label>System</Label> <Order>1</Order> <PartitionID>1</PartitionID> - <Label>WINRE</Label> - <Format>NTFS</Format> - <TypeID>DE94BBA4-06D1-4D40-A16A-BFD50179D6AC</TypeID> + <TypeID>0x27</TypeID> </ModifyPartition> - <!-- System partition (ESP) --> <ModifyPartition wcm:action="add"> <Order>2</Order> <PartitionID>2</PartitionID> - <Label>System</Label> - <Format>FAT32</Format> - </ModifyPartition> - <!-- MSR partition does not need to be modified --> - <ModifyPartition wcm:action="add"> - <Order>3</Order> - <PartitionID>3</PartitionID> - </ModifyPartition> - <!-- Windows partition --> - <ModifyPartition wcm:action="add"> - <Order>4</Order> - <PartitionID>4</PartitionID> - <Label>Windows</Label> <Letter>C</Letter> + <Label>Windows</Label> <Format>NTFS</Format> </ModifyPartition> </ModifyPartitions> + <DiskID>0</DiskID> + <WillWipeDisk>true</WillWipeDisk> </Disk> </DiskConfiguration> <ImageInstall> <OSImage> <InstallTo> <DiskID>0</DiskID> - <PartitionID>4</PartitionID> + <PartitionID>2</PartitionID> </InstallTo> - <InstallToAvailablePartition>false</InstallToAvailablePartition> </OSImage> </ImageInstall> <UserData> + <AcceptEula>true</AcceptEula> + <FullName>Docker</FullName> + <Organization>Organization</Organization> <ProductKey> - <Key>VK7JG-NPHTM-C97JM-9MPGT-3V66T</Key> + <Key>N2KJX-J94YW-TQVFB-DG9YT-724CC</Key> </ProductKey> - <AcceptEula>true</AcceptEula> </UserData> + <EnableFirewall>false</EnableFirewall> </component> <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <DriverPaths> @@ -125,123 +99,44 @@ </DriverPaths> </component> </settings> - <settings pass="generalize"/> - <settings pass="specialize"> - <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> - <RunSynchronous> - <RunSynchronousCommand wcm:action="add"> - <Order>1</Order> - <Path>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>2</Order> - <Path>netsh.exe advfirewall firewall set rule group="Remote Desktop" new enable=Yes</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>3</Order> - <Path>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>4</Order> - <Path>fsutil.exe behavior set disableLastAccess 1</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>5</Order> - <Path>reg.exe load "HKU\mount" "C:\Users\Default\NTUSER.DAT"</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>6</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "ContentDeliveryAllowed" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>7</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "FeatureManagementEnabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>8</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "OEMPreInstalledAppsEnabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>9</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEnabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>10</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "PreInstalledAppsEverEnabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>11</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SilentInstalledAppsEnabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>12</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SoftLandingEnabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>13</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContentEnabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>14</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-310093Enabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>15</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338387Enabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>16</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338388Enabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>17</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338389Enabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>18</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-338393Enabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>19</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SubscribedContent-353698Enabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>20</Order> - <Path>reg.exe add "HKU\mount\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /v "SystemPaneSuggestionsEnabled" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>21</Order> - <Path>reg.exe unload "HKU\mount"</Path> - </RunSynchronousCommand> - <RunSynchronousCommand wcm:action="add"> - <Order>22</Order> - <Path>reg.exe add "HKLM\Software\Policies\Microsoft\Windows\CloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 0 /f</Path> - </RunSynchronousCommand> - </RunSynchronous> + <settings pass="offlineServicing"> + <component name="Microsoft-Windows-LUA-Settings" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <EnableLUA>false</EnableLUA> </component> - <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> - <ComputerName>Container</ComputerName> + </settings> + <settings pass="generalize"> + <component name="Microsoft-Windows-Security-SPP" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <SkipRearm>1</SkipRearm> </component> </settings> - <settings pass="auditSystem"/> - <settings pass="auditUser"/> - <settings pass="oobeSystem"> + <settings pass="specialize"> <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <InputLocale>0409:00000409</InputLocale> <SystemLocale>en-US</SystemLocale> <UILanguage>en-US</UILanguage> + <UILanguageFallback>en-US</UILanguageFallback> <UserLocale>en-US</UserLocale> </component> + <component name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <SkipAutoActivation>true</SkipAutoActivation> + </component> + <component name="Microsoft-Windows-SQMApi" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <CEIPEnabled>0</CEIPEnabled> + </component> + <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <ComputerName>Container</ComputerName> + <ProductKey>N2KJX-J94YW-TQVFB-DG9YT-724CC</ProductKey> + </component> + </settings> + <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <UserAccounts> <LocalAccounts> <LocalAccount wcm:action="add"> - <Name>Docker</Name> + <Description>Docker</Description> + <DisplayName>Docker</DisplayName> <Group>Administrators</Group> - <Password> - <Value/> - <PlainText>true</PlainText> - </Password> + <Name>Docker</Name> </LocalAccount> </LocalAccounts> <AdministratorPassword> @@ -250,19 +145,26 @@ </AdministratorPassword> </UserAccounts> <AutoLogon> - <Username>Docker</Username> - <Enabled>true</Enabled> - <LogonCount>1</LogonCount> <Password> <Value/> <PlainText>true</PlainText> </Password> + <Enabled>true</Enabled> + <Username>Docker</Username> </AutoLogon> <OOBE> - <ProtectYourPC>3</ProtectYourPC> <HideEULAPage>true</HideEULAPage> + <HideLocalAccountScreen>true</HideLocalAccountScreen> + <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen> + <HideOnlineAccountScreens>true</HideOnlineAccountScreens> <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> + <NetworkLocation>Home</NetworkLocation> + <ProtectYourPC>1</ProtectYourPC> + <SkipMachineOOBE>true</SkipMachineOOBE> + <SkipUserOOBE>true</SkipUserOOBE> </OOBE> + <RegisteredOrganization>Organization</RegisteredOrganization> + <RegisteredOwner>Owner</RegisteredOwner> <FirstLogonCommands> <SynchronousCommand wcm:action="add"> <Order>1</Order> From 328ebf3b72b93b6af836529a4c3e07ef729c656b Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 21:19:06 +0100 Subject: [PATCH 17/63] feat: Windows 2019 config --- assets/win2019-eval.xml | 192 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 192 insertions(+) create mode 100644 assets/win2019-eval.xml diff --git a/assets/win2019-eval.xml b/assets/win2019-eval.xml new file mode 100644 index 000000000..e2cf0a913 --- /dev/null +++ b/assets/win2019-eval.xml @@ -0,0 +1,192 @@ +<?xml version="1.0" encoding="utf-8"?> +<unattend xmlns="urn:schemas-microsoft-com:unattend"> + <settings pass="windowsPE"> + <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <SetupUILanguage> + <UILanguage>en-US</UILanguage> + </SetupUILanguage> + <InputLocale>0409:00000409</InputLocale> + <SystemLocale>en-US</SystemLocale> + <UILanguage>en-US</UILanguage> + <UILanguageFallback>en-US</UILanguageFallback> + <UserLocale>en-US</UserLocale> + </component> + <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <DiskConfiguration> + <Disk wcm:action="add"> + <CreatePartitions> + <CreatePartition wcm:action="add"> + <Order>1</Order> + <Size>350</Size> + <Type>Primary</Type> + </CreatePartition> + <CreatePartition wcm:action="add"> + <Order>2</Order> + <Extend>true</Extend> + <Type>Primary</Type> + </CreatePartition> + </CreatePartitions> + <ModifyPartitions> + <ModifyPartition wcm:action="add"> + <Format>NTFS</Format> + <Label>System</Label> + <Order>1</Order> + <PartitionID>1</PartitionID> + <TypeID>0x27</TypeID> + </ModifyPartition> + <ModifyPartition wcm:action="add"> + <Order>2</Order> + <PartitionID>2</PartitionID> + <Letter>C</Letter> + <Label>Windows</Label> + <Format>NTFS</Format> + </ModifyPartition> + </ModifyPartitions> + <DiskID>0</DiskID> + <WillWipeDisk>true</WillWipeDisk> + </Disk> + </DiskConfiguration> + <ImageInstall> + <OSImage> + <InstallTo> + <DiskID>0</DiskID> + <PartitionID>2</PartitionID> + </InstallTo> + </OSImage> + </ImageInstall> + <UserData> + <AcceptEula>true</AcceptEula> + <FullName>Docker</FullName> + <Organization>Organization</Organization> + <ProductKey> + <Key>N2KJX-J94YW-TQVFB-DG9YT-724CC</Key> + </ProductKey> + </UserData> + <EnableFirewall>false</EnableFirewall> + </component> + <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <DriverPaths> + <PathAndCredentials wcm:action="add" wcm:keyValue="1"> + <Path>D:\viostor\2k19\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="2"> + <Path>D:\NetKVM\2k19\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="3"> + <Path>D:\Balloon\2k19\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="4"> + <Path>D:\pvpanic\2k19\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="5"> + <Path>D:\qemupciserial\2k19\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="6"> + <Path>D:\qxldod\2k19\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="7"> + <Path>D:\vioinput\2k19\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="8"> + <Path>D:\viorng\2k19\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="9"> + <Path>D:\vioscsi\2k19\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="10"> + <Path>D:\vioserial\2k19\amd64</Path> + </PathAndCredentials> + </DriverPaths> + </component> + </settings> + <settings pass="offlineServicing"> + <component name="Microsoft-Windows-LUA-Settings" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <EnableLUA>false</EnableLUA> + </component> + </settings> + <settings pass="generalize"> + <component name="Microsoft-Windows-Security-SPP" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <SkipRearm>1</SkipRearm> + </component> + </settings> + <settings pass="specialize"> + <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <InputLocale>0409:00000409</InputLocale> + <SystemLocale>en-US</SystemLocale> + <UILanguage>en-US</UILanguage> + <UILanguageFallback>en-US</UILanguageFallback> + <UserLocale>en-US</UserLocale> + </component> + <component name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <SkipAutoActivation>true</SkipAutoActivation> + </component> + <component name="Microsoft-Windows-SQMApi" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <CEIPEnabled>0</CEIPEnabled> + </component> + <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <ComputerName>Container</ComputerName> + <ProductKey>N2KJX-J94YW-TQVFB-DG9YT-724CC</ProductKey> + </component> + </settings> + <settings pass="oobeSystem"> + <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <UserAccounts> + <LocalAccounts> + <LocalAccount wcm:action="add"> + <Description>Docker</Description> + <DisplayName>Docker</DisplayName> + <Group>Administrators</Group> + <Name>Docker</Name> + </LocalAccount> + </LocalAccounts> + <AdministratorPassword> + <Value>password</Value> + <PlainText>true</PlainText> + </AdministratorPassword> + </UserAccounts> + <AutoLogon> + <Password> + <Value/> + <PlainText>true</PlainText> + </Password> + <Enabled>true</Enabled> + <Username>Docker</Username> + </AutoLogon> + <OOBE> + <HideEULAPage>true</HideEULAPage> + <HideLocalAccountScreen>true</HideLocalAccountScreen> + <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen> + <HideOnlineAccountScreens>true</HideOnlineAccountScreens> + <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> + <NetworkLocation>Home</NetworkLocation> + <ProtectYourPC>1</ProtectYourPC> + <SkipMachineOOBE>true</SkipMachineOOBE> + <SkipUserOOBE>true</SkipUserOOBE> + </OOBE> + <RegisteredOrganization>Organization</RegisteredOrganization> + <RegisteredOwner>Owner</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> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>2</Order> + <CommandLine>powershell.exe -NoProfile -Command "Disable-ComputerRestore -Drive 'C:';"</CommandLine> + <Description>Disable System Restore</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>3</Order> + <RequiresUserInput>false</RequiresUserInput> + <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>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> + <Description>Install VirtIO drivers</Description> + </SynchronousCommand> + </FirstLogonCommands> + </component> + </settings> +</unattend> From 66cc1d0f212fa5c7a936ff9c204d976fd57de1f3 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 21:20:32 +0100 Subject: [PATCH 18/63] feat: Windows Server 2016 config --- assets/win2016-eval.xml | 192 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 192 insertions(+) create mode 100644 assets/win2016-eval.xml diff --git a/assets/win2016-eval.xml b/assets/win2016-eval.xml new file mode 100644 index 000000000..44b43591b --- /dev/null +++ b/assets/win2016-eval.xml @@ -0,0 +1,192 @@ +<?xml version="1.0" encoding="utf-8"?> +<unattend xmlns="urn:schemas-microsoft-com:unattend"> + <settings pass="windowsPE"> + <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <SetupUILanguage> + <UILanguage>en-US</UILanguage> + </SetupUILanguage> + <InputLocale>0409:00000409</InputLocale> + <SystemLocale>en-US</SystemLocale> + <UILanguage>en-US</UILanguage> + <UILanguageFallback>en-US</UILanguageFallback> + <UserLocale>en-US</UserLocale> + </component> + <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <DiskConfiguration> + <Disk wcm:action="add"> + <CreatePartitions> + <CreatePartition wcm:action="add"> + <Order>1</Order> + <Size>350</Size> + <Type>Primary</Type> + </CreatePartition> + <CreatePartition wcm:action="add"> + <Order>2</Order> + <Extend>true</Extend> + <Type>Primary</Type> + </CreatePartition> + </CreatePartitions> + <ModifyPartitions> + <ModifyPartition wcm:action="add"> + <Format>NTFS</Format> + <Label>System</Label> + <Order>1</Order> + <PartitionID>1</PartitionID> + <TypeID>0x27</TypeID> + </ModifyPartition> + <ModifyPartition wcm:action="add"> + <Order>2</Order> + <PartitionID>2</PartitionID> + <Letter>C</Letter> + <Label>Windows</Label> + <Format>NTFS</Format> + </ModifyPartition> + </ModifyPartitions> + <DiskID>0</DiskID> + <WillWipeDisk>true</WillWipeDisk> + </Disk> + </DiskConfiguration> + <ImageInstall> + <OSImage> + <InstallTo> + <DiskID>0</DiskID> + <PartitionID>2</PartitionID> + </InstallTo> + </OSImage> + </ImageInstall> + <UserData> + <AcceptEula>true</AcceptEula> + <FullName>Docker</FullName> + <Organization>Organization</Organization> + <ProductKey> + <Key>N2KJX-J94YW-TQVFB-DG9YT-724CC</Key> + </ProductKey> + </UserData> + <EnableFirewall>false</EnableFirewall> + </component> + <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <DriverPaths> + <PathAndCredentials wcm:action="add" wcm:keyValue="1"> + <Path>D:\viostor\2k16\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="2"> + <Path>D:\NetKVM\2k16\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="3"> + <Path>D:\Balloon\2k16\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="4"> + <Path>D:\pvpanic\2k16\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="5"> + <Path>D:\qemupciserial\2k16\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="6"> + <Path>D:\qxldod\2k16\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="7"> + <Path>D:\vioinput\2k16\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="8"> + <Path>D:\viorng\2k16\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="9"> + <Path>D:\vioscsi\2k16\amd64</Path> + </PathAndCredentials> + <PathAndCredentials wcm:action="add" wcm:keyValue="10"> + <Path>D:\vioserial\2k16\amd64</Path> + </PathAndCredentials> + </DriverPaths> + </component> + </settings> + <settings pass="offlineServicing"> + <component name="Microsoft-Windows-LUA-Settings" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <EnableLUA>false</EnableLUA> + </component> + </settings> + <settings pass="generalize"> + <component name="Microsoft-Windows-Security-SPP" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <SkipRearm>1</SkipRearm> + </component> + </settings> + <settings pass="specialize"> + <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <InputLocale>0409:00000409</InputLocale> + <SystemLocale>en-US</SystemLocale> + <UILanguage>en-US</UILanguage> + <UILanguageFallback>en-US</UILanguageFallback> + <UserLocale>en-US</UserLocale> + </component> + <component name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <SkipAutoActivation>true</SkipAutoActivation> + </component> + <component name="Microsoft-Windows-SQMApi" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <CEIPEnabled>0</CEIPEnabled> + </component> + <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <ComputerName>Container</ComputerName> + <ProductKey>N2KJX-J94YW-TQVFB-DG9YT-724CC</ProductKey> + </component> + </settings> + <settings pass="oobeSystem"> + <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <UserAccounts> + <LocalAccounts> + <LocalAccount wcm:action="add"> + <Description>Docker</Description> + <DisplayName>Docker</DisplayName> + <Group>Administrators</Group> + <Name>Docker</Name> + </LocalAccount> + </LocalAccounts> + <AdministratorPassword> + <Value>password</Value> + <PlainText>true</PlainText> + </AdministratorPassword> + </UserAccounts> + <AutoLogon> + <Password> + <Value/> + <PlainText>true</PlainText> + </Password> + <Enabled>true</Enabled> + <Username>Docker</Username> + </AutoLogon> + <OOBE> + <HideEULAPage>true</HideEULAPage> + <HideLocalAccountScreen>true</HideLocalAccountScreen> + <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen> + <HideOnlineAccountScreens>true</HideOnlineAccountScreens> + <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> + <NetworkLocation>Home</NetworkLocation> + <ProtectYourPC>1</ProtectYourPC> + <SkipMachineOOBE>true</SkipMachineOOBE> + <SkipUserOOBE>true</SkipUserOOBE> + </OOBE> + <RegisteredOrganization>Organization</RegisteredOrganization> + <RegisteredOwner>Owner</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> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>2</Order> + <CommandLine>powershell.exe -NoProfile -Command "Disable-ComputerRestore -Drive 'C:';"</CommandLine> + <Description>Disable System Restore</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>3</Order> + <RequiresUserInput>false</RequiresUserInput> + <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>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> + <Description>Install VirtIO drivers</Description> + </SynchronousCommand> + </FirstLogonCommands> + </component> + </settings> +</unattend> From dbad5570c8ca5bef800b42a76f8ce78c347ec810 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 21:24:03 +0100 Subject: [PATCH 19/63] docs: Manual installation --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 4e2ef2dd4..07a83ace2 100644 --- a/readme.md +++ b/readme.md @@ -82,7 +82,7 @@ docker run -it --rm -e "VERSION=win11x64" -p 8006:8006 --device=/dev/kvm --cap-a * ### How can I use a custom ISO file? - You can supply your own ISO file by naming it ```custom.iso``` and placing it in the ```/storage``` folder. + You can supply your own ISO file by naming it ```custom.iso``` and placing it in the ```/storage``` folder. Then follow the same steps as for [manual installation](https://github.com/dockur/windows/tree/dev?tab=readme-ov-file#how-do-i-perform-a-manual-installation). * ### How do I increase the amount of CPU or RAM? From 32615a4792d34ddd69d3288894c1020488b59938 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 21:28:50 +0100 Subject: [PATCH 20/63] feat: Windows 2016 configuration --- assets/win2016-eval.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/win2016-eval.xml b/assets/win2016-eval.xml index 44b43591b..99670d459 100644 --- a/assets/win2016-eval.xml +++ b/assets/win2016-eval.xml @@ -125,7 +125,7 @@ </component> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <ComputerName>Container</ComputerName> - <ProductKey>N2KJX-J94YW-TQVFB-DG9YT-724CC</ProductKey> + <ProductKey>WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY</ProductKey> </component> </settings> <settings pass="oobeSystem"> From 8817a98faa609fb2ae8728b58c17da37da6ce9b6 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 21:30:27 +0100 Subject: [PATCH 21/63] feat: Windows Server 2022 configuration --- assets/win2022-eval.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/win2022-eval.xml b/assets/win2022-eval.xml index 3ebe90b22..393c0a52f 100644 --- a/assets/win2022-eval.xml +++ b/assets/win2022-eval.xml @@ -59,7 +59,7 @@ <FullName>Docker</FullName> <Organization>Organization</Organization> <ProductKey> - <Key>N2KJX-J94YW-TQVFB-DG9YT-724CC</Key> + <Key>VDYBN-27WPP-V4HQT-9VMD4-VMK7H</Key> </ProductKey> </UserData> <EnableFirewall>false</EnableFirewall> From 67bdfd81bd98eb668c296bfd1e3087336627ec75 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 21:32:34 +0100 Subject: [PATCH 22/63] feat: Windows Server 2019 configuration --- assets/win2019-eval.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/win2019-eval.xml b/assets/win2019-eval.xml index e2cf0a913..4a3c3a68a 100644 --- a/assets/win2019-eval.xml +++ b/assets/win2019-eval.xml @@ -59,7 +59,7 @@ <FullName>Docker</FullName> <Organization>Organization</Organization> <ProductKey> - <Key>N2KJX-J94YW-TQVFB-DG9YT-724CC</Key> + <Key>N69G4-B89J2-4G8F4-WWYCC-J464C</Key> </ProductKey> </UserData> <EnableFirewall>false</EnableFirewall> From bc9fef655d7b96b23e391dc3f52a678a023df9f9 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 21:46:28 +0100 Subject: [PATCH 23/63] feat: Win22 config --- assets/win2022-eval.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/win2022-eval.xml b/assets/win2022-eval.xml index 393c0a52f..a9f9389bf 100644 --- a/assets/win2022-eval.xml +++ b/assets/win2022-eval.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<unattend xmlns="urn:schemas-microsoft-com:unattend"> +<unattend xmlns="urn:schemas-microsoft-com:unattend" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"> <settings pass="windowsPE"> <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <SetupUILanguage> From 5cb72c7c1a5aaea787f33673805ed4509bd93843 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 21:46:46 +0100 Subject: [PATCH 24/63] Win16 config --- assets/win2016-eval.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/win2016-eval.xml b/assets/win2016-eval.xml index 99670d459..d29352ecb 100644 --- a/assets/win2016-eval.xml +++ b/assets/win2016-eval.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<unattend xmlns="urn:schemas-microsoft-com:unattend"> +<unattend xmlns="urn:schemas-microsoft-com:unattend" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"> <settings pass="windowsPE"> <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <SetupUILanguage> From 3c7f39f7877053990dba9bf50d1a90dcc54f36b1 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 21:47:03 +0100 Subject: [PATCH 25/63] Win19 config --- assets/win2019-eval.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/win2019-eval.xml b/assets/win2019-eval.xml index 4a3c3a68a..31ce564c5 100644 --- a/assets/win2019-eval.xml +++ b/assets/win2019-eval.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<unattend xmlns="urn:schemas-microsoft-com:unattend"> +<unattend xmlns="urn:schemas-microsoft-com:unattend" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"> <settings pass="windowsPE"> <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <SetupUILanguage> From 2cbaeb4044d9458db3de2a90d2fc375f95bb967f Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:13:44 +0100 Subject: [PATCH 26/63] feat: Win22 config --- assets/win2022-eval.xml | 62 +++++++++++++++++++++++++++++++---------- 1 file changed, 48 insertions(+), 14 deletions(-) diff --git a/assets/win2022-eval.xml b/assets/win2022-eval.xml index a9f9389bf..c6505a0c9 100644 --- a/assets/win2022-eval.xml +++ b/assets/win2022-eval.xml @@ -14,53 +14,87 @@ <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <DiskConfiguration> <Disk wcm:action="add"> + <DiskID>0</DiskID> + <WillWipeDisk>true</WillWipeDisk> <CreatePartitions> + <!-- Windows RE Tools partition --> <CreatePartition wcm:action="add"> <Order>1</Order> - <Size>350</Size> <Type>Primary</Type> + <Size>300</Size> </CreatePartition> + <!-- System partition (ESP) --> <CreatePartition wcm:action="add"> <Order>2</Order> - <Extend>true</Extend> + <Type>EFI</Type> + <Size>100</Size> + </CreatePartition> + <!-- Microsoft reserved partition (MSR) --> + <CreatePartition wcm:action="add"> + <Order>3</Order> + <Type>MSR</Type> + <Size>128</Size> + </CreatePartition> + <!-- Windows partition --> + <CreatePartition wcm:action="add"> + <Order>4</Order> <Type>Primary</Type> + <Extend>true</Extend> </CreatePartition> </CreatePartitions> <ModifyPartitions> + <!-- Windows RE Tools partition --> <ModifyPartition wcm:action="add"> - <Format>NTFS</Format> - <Label>System</Label> <Order>1</Order> <PartitionID>1</PartitionID> - <TypeID>0x27</TypeID> + <Label>WINRE</Label> + <Format>NTFS</Format> + <TypeID>DE94BBA4-06D1-4D40-A16A-BFD50179D6AC</TypeID> </ModifyPartition> + <!-- System partition (ESP) --> <ModifyPartition wcm:action="add"> <Order>2</Order> <PartitionID>2</PartitionID> - <Letter>C</Letter> + <Label>System</Label> + <Format>FAT32</Format> + </ModifyPartition> + <!-- MSR partition does not need to be modified --> + <ModifyPartition wcm:action="add"> + <Order>3</Order> + <PartitionID>3</PartitionID> + </ModifyPartition> + <!-- Windows partition --> + <ModifyPartition wcm:action="add"> + <Order>4</Order> + <PartitionID>4</PartitionID> <Label>Windows</Label> + <Letter>C</Letter> <Format>NTFS</Format> </ModifyPartition> </ModifyPartitions> - <DiskID>0</DiskID> - <WillWipeDisk>true</WillWipeDisk> </Disk> </DiskConfiguration> <ImageInstall> <OSImage> + <InstallFrom> + <MetaData wcm:action="add"> + <Key>/IMAGE/NAME</Key> + <Value>Windows Server 2022 SERVERSTANDARD</Value> + </MetaData> + </InstallFrom> <InstallTo> <DiskID>0</DiskID> - <PartitionID>2</PartitionID> + <PartitionID>4</PartitionID> </InstallTo> + <WillShowUI>OnError</WillShowUI> + <InstallToAvailablePartition>false</InstallToAvailablePartition> </OSImage> </ImageInstall> <UserData> <AcceptEula>true</AcceptEula> <FullName>Docker</FullName> <Organization>Organization</Organization> - <ProductKey> - <Key>VDYBN-27WPP-V4HQT-9VMD4-VMK7H</Key> - </ProductKey> + <ProductKey/> </UserData> <EnableFirewall>false</EnableFirewall> </component> @@ -125,7 +159,7 @@ </component> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <ComputerName>Container</ComputerName> - <ProductKey>N2KJX-J94YW-TQVFB-DG9YT-724CC</ProductKey> + <ProductKey/> </component> </settings> <settings pass="oobeSystem"> @@ -180,7 +214,7 @@ <RequiresUserInput>false</RequiresUserInput> <CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine> <Description>Password Never Expires</Description> - </SynchronousCommand> + </SynchronousCommand> <SynchronousCommand wcm:action="add"> <Order>4</Order> <CommandLine>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> From 27e4e6f65217fcd967ca0ce08bff38d724f6c678 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:14:28 +0100 Subject: [PATCH 27/63] feat: Win22 config --- assets/win2022-eval.xml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/assets/win2022-eval.xml b/assets/win2022-eval.xml index c6505a0c9..884a4503e 100644 --- a/assets/win2022-eval.xml +++ b/assets/win2022-eval.xml @@ -101,34 +101,34 @@ <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <DriverPaths> <PathAndCredentials wcm:action="add" wcm:keyValue="1"> - <Path>D:\viostor\2k22\amd64</Path> + <Path>D:\viostor\2k22\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="2"> - <Path>D:\NetKVM\2k22\amd64</Path> + <Path>D:\NetKVM\2k22\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="3"> - <Path>D:\Balloon\2k22\amd64</Path> + <Path>D:\Balloon\2k22\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="4"> - <Path>D:\pvpanic\2k22\amd64</Path> + <Path>D:\pvpanic\2k22\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="5"> - <Path>D:\qemupciserial\2k22\amd64</Path> + <Path>D:\qemupciserial\2k22\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="6"> - <Path>D:\qxldod\2k22\amd64</Path> + <Path>D:\qxldod\2k22\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="7"> - <Path>D:\vioinput\2k22\amd64</Path> + <Path>D:\vioinput\2k22\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="8"> - <Path>D:\viorng\2k22\amd64</Path> + <Path>D:\viorng\2k22\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="9"> - <Path>D:\vioscsi\2k22\amd64</Path> + <Path>D:\vioscsi\2k22\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="10"> - <Path>D:\vioserial\2k22\amd64</Path> + <Path>D:\vioserial\2k22\amd64</Path> </PathAndCredentials> </DriverPaths> </component> From 313823d5c19f7efee8b0ff4b02983a2e9d0bfa9a Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:16:45 +0100 Subject: [PATCH 28/63] feat: Win16 config --- assets/win2016-eval.xml | 62 +++++++++++++++++++++++++++++++---------- 1 file changed, 48 insertions(+), 14 deletions(-) diff --git a/assets/win2016-eval.xml b/assets/win2016-eval.xml index d29352ecb..658fe845f 100644 --- a/assets/win2016-eval.xml +++ b/assets/win2016-eval.xml @@ -14,53 +14,87 @@ <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <DiskConfiguration> <Disk wcm:action="add"> + <DiskID>0</DiskID> + <WillWipeDisk>true</WillWipeDisk> <CreatePartitions> + <!-- Windows RE Tools partition --> <CreatePartition wcm:action="add"> <Order>1</Order> - <Size>350</Size> <Type>Primary</Type> + <Size>300</Size> </CreatePartition> + <!-- System partition (ESP) --> <CreatePartition wcm:action="add"> <Order>2</Order> - <Extend>true</Extend> + <Type>EFI</Type> + <Size>100</Size> + </CreatePartition> + <!-- Microsoft reserved partition (MSR) --> + <CreatePartition wcm:action="add"> + <Order>3</Order> + <Type>MSR</Type> + <Size>128</Size> + </CreatePartition> + <!-- Windows partition --> + <CreatePartition wcm:action="add"> + <Order>4</Order> <Type>Primary</Type> + <Extend>true</Extend> </CreatePartition> </CreatePartitions> <ModifyPartitions> + <!-- Windows RE Tools partition --> <ModifyPartition wcm:action="add"> - <Format>NTFS</Format> - <Label>System</Label> <Order>1</Order> <PartitionID>1</PartitionID> - <TypeID>0x27</TypeID> + <Label>WINRE</Label> + <Format>NTFS</Format> + <TypeID>DE94BBA4-06D1-4D40-A16A-BFD50179D6AC</TypeID> </ModifyPartition> + <!-- System partition (ESP) --> <ModifyPartition wcm:action="add"> <Order>2</Order> <PartitionID>2</PartitionID> - <Letter>C</Letter> + <Label>System</Label> + <Format>FAT32</Format> + </ModifyPartition> + <!-- MSR partition does not need to be modified --> + <ModifyPartition wcm:action="add"> + <Order>3</Order> + <PartitionID>3</PartitionID> + </ModifyPartition> + <!-- Windows partition --> + <ModifyPartition wcm:action="add"> + <Order>4</Order> + <PartitionID>4</PartitionID> <Label>Windows</Label> + <Letter>C</Letter> <Format>NTFS</Format> </ModifyPartition> </ModifyPartitions> - <DiskID>0</DiskID> - <WillWipeDisk>true</WillWipeDisk> </Disk> </DiskConfiguration> <ImageInstall> <OSImage> + <InstallFrom> + <MetaData wcm:action="add"> + <Key>/IMAGE/NAME</Key> + <Value>Windows Server 2016 SERVERSTANDARD</Value> + </MetaData> + </InstallFrom> <InstallTo> <DiskID>0</DiskID> - <PartitionID>2</PartitionID> + <PartitionID>4</PartitionID> </InstallTo> + <WillShowUI>OnError</WillShowUI> + <InstallToAvailablePartition>false</InstallToAvailablePartition> </OSImage> </ImageInstall> <UserData> <AcceptEula>true</AcceptEula> <FullName>Docker</FullName> <Organization>Organization</Organization> - <ProductKey> - <Key>N2KJX-J94YW-TQVFB-DG9YT-724CC</Key> - </ProductKey> + <ProductKey/> </UserData> <EnableFirewall>false</EnableFirewall> </component> @@ -125,7 +159,7 @@ </component> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <ComputerName>Container</ComputerName> - <ProductKey>WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY</ProductKey> + <ProductKey/> </component> </settings> <settings pass="oobeSystem"> @@ -180,7 +214,7 @@ <RequiresUserInput>false</RequiresUserInput> <CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine> <Description>Password Never Expires</Description> - </SynchronousCommand> + </SynchronousCommand> <SynchronousCommand wcm:action="add"> <Order>4</Order> <CommandLine>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> From bd8187c5305a5022933baf616081b2166fb29966 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:17:43 +0100 Subject: [PATCH 29/63] feat: Win19 config --- assets/win2019-eval.xml | 62 +++++++++++++++++++++++++++++++---------- 1 file changed, 48 insertions(+), 14 deletions(-) diff --git a/assets/win2019-eval.xml b/assets/win2019-eval.xml index 31ce564c5..b43b3cc53 100644 --- a/assets/win2019-eval.xml +++ b/assets/win2019-eval.xml @@ -14,53 +14,87 @@ <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <DiskConfiguration> <Disk wcm:action="add"> + <DiskID>0</DiskID> + <WillWipeDisk>true</WillWipeDisk> <CreatePartitions> + <!-- Windows RE Tools partition --> <CreatePartition wcm:action="add"> <Order>1</Order> - <Size>350</Size> <Type>Primary</Type> + <Size>300</Size> </CreatePartition> + <!-- System partition (ESP) --> <CreatePartition wcm:action="add"> <Order>2</Order> - <Extend>true</Extend> + <Type>EFI</Type> + <Size>100</Size> + </CreatePartition> + <!-- Microsoft reserved partition (MSR) --> + <CreatePartition wcm:action="add"> + <Order>3</Order> + <Type>MSR</Type> + <Size>128</Size> + </CreatePartition> + <!-- Windows partition --> + <CreatePartition wcm:action="add"> + <Order>4</Order> <Type>Primary</Type> + <Extend>true</Extend> </CreatePartition> </CreatePartitions> <ModifyPartitions> + <!-- Windows RE Tools partition --> <ModifyPartition wcm:action="add"> - <Format>NTFS</Format> - <Label>System</Label> <Order>1</Order> <PartitionID>1</PartitionID> - <TypeID>0x27</TypeID> + <Label>WINRE</Label> + <Format>NTFS</Format> + <TypeID>DE94BBA4-06D1-4D40-A16A-BFD50179D6AC</TypeID> </ModifyPartition> + <!-- System partition (ESP) --> <ModifyPartition wcm:action="add"> <Order>2</Order> <PartitionID>2</PartitionID> - <Letter>C</Letter> + <Label>System</Label> + <Format>FAT32</Format> + </ModifyPartition> + <!-- MSR partition does not need to be modified --> + <ModifyPartition wcm:action="add"> + <Order>3</Order> + <PartitionID>3</PartitionID> + </ModifyPartition> + <!-- Windows partition --> + <ModifyPartition wcm:action="add"> + <Order>4</Order> + <PartitionID>4</PartitionID> <Label>Windows</Label> + <Letter>C</Letter> <Format>NTFS</Format> </ModifyPartition> </ModifyPartitions> - <DiskID>0</DiskID> - <WillWipeDisk>true</WillWipeDisk> </Disk> </DiskConfiguration> <ImageInstall> <OSImage> + <InstallFrom> + <MetaData wcm:action="add"> + <Key>/IMAGE/NAME</Key> + <Value>Windows Server 2019 SERVERSTANDARD</Value> + </MetaData> + </InstallFrom> <InstallTo> <DiskID>0</DiskID> - <PartitionID>2</PartitionID> + <PartitionID>4</PartitionID> </InstallTo> + <WillShowUI>OnError</WillShowUI> + <InstallToAvailablePartition>false</InstallToAvailablePartition> </OSImage> </ImageInstall> <UserData> <AcceptEula>true</AcceptEula> <FullName>Docker</FullName> <Organization>Organization</Organization> - <ProductKey> - <Key>N69G4-B89J2-4G8F4-WWYCC-J464C</Key> - </ProductKey> + <ProductKey/> </UserData> <EnableFirewall>false</EnableFirewall> </component> @@ -125,7 +159,7 @@ </component> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <ComputerName>Container</ComputerName> - <ProductKey>N2KJX-J94YW-TQVFB-DG9YT-724CC</ProductKey> + <ProductKey/> </component> </settings> <settings pass="oobeSystem"> @@ -180,7 +214,7 @@ <RequiresUserInput>false</RequiresUserInput> <CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine> <Description>Password Never Expires</Description> - </SynchronousCommand> + </SynchronousCommand> <SynchronousCommand wcm:action="add"> <Order>4</Order> <CommandLine>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> From df2bae4c1e6dca2f7c01dc278e7431346a39fff9 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:19:14 +0100 Subject: [PATCH 30/63] feat: Win8 config --- assets/win81x64.xml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/assets/win81x64.xml b/assets/win81x64.xml index be9080e85..12e384fee 100644 --- a/assets/win81x64.xml +++ b/assets/win81x64.xml @@ -12,7 +12,7 @@ <UserLocale>en-US</UserLocale> </component> <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> - <DiskConfiguration> + <DiskConfiguration> <Disk wcm:action="add"> <DiskID>0</DiskID> <WillWipeDisk>true</WillWipeDisk> @@ -96,34 +96,34 @@ <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <DriverPaths> <PathAndCredentials wcm:action="add" wcm:keyValue="1"> - <Path>D:\viostor\w8.1\amd64</Path> + <Path>D:\viostor\w8.1\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="2"> - <Path>D:\NetKVM\w8.1\amd64</Path> + <Path>D:\NetKVM\w8.1\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="3"> - <Path>D:\Balloon\w8.1\amd64</Path> + <Path>D:\Balloon\w8.1\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="4"> - <Path>D:\pvpanic\w8.1\amd64</Path> + <Path>D:\pvpanic\w8.1\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="5"> - <Path>D:\qemupciserial\w8.1\amd64</Path> + <Path>D:\qemupciserial\w8.1\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="6"> - <Path>D:\qxldod\w8.1\amd64</Path> + <Path>D:\qxldod\w8.1\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="7"> - <Path>D:\vioinput\w8.1\amd64</Path> + <Path>D:\vioinput\w8.1\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="8"> - <Path>D:\viorng\w8.1\amd64</Path> + <Path>D:\viorng\w8.1\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="9"> - <Path>D:\vioscsi\w8.1\amd64</Path> + <Path>D:\vioscsi\w8.1\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="10"> - <Path>D:\vioserial\w8.1\amd64</Path> + <Path>D:\vioserial\w8.1\amd64</Path> </PathAndCredentials> </DriverPaths> </component> @@ -201,7 +201,7 @@ <RequiresUserInput>false</RequiresUserInput> <CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine> <Description>Password Never Expires</Description> - </SynchronousCommand> + </SynchronousCommand> <SynchronousCommand wcm:action="add"> <Order>4</Order> <CommandLine>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> From 384bec82ed6dd0d35ec6c636f1e8026cada2d6c4 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:21:50 +0100 Subject: [PATCH 31/63] feat: Win7 config --- assets/win7x64-ultimate.xml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/assets/win7x64-ultimate.xml b/assets/win7x64-ultimate.xml index 064be5b06..1481522e1 100644 --- a/assets/win7x64-ultimate.xml +++ b/assets/win7x64-ultimate.xml @@ -12,7 +12,7 @@ <UserLocale>en-US</UserLocale> </component> <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> - <DiskConfiguration> + <DiskConfiguration> <Disk wcm:action="add"> <DiskID>0</DiskID> <WillWipeDisk>true</WillWipeDisk> @@ -96,34 +96,34 @@ <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <DriverPaths> <PathAndCredentials wcm:action="add" wcm:keyValue="1"> - <Path>D:\viostor\w7\amd64</Path> + <Path>D:\viostor\w7\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="2"> - <Path>D:\NetKVM\w7\amd64</Path> + <Path>D:\NetKVM\w7\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="3"> - <Path>D:\Balloon\w7\amd64</Path> + <Path>D:\Balloon\w7\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="4"> - <Path>D:\pvpanic\w7\amd64</Path> + <Path>D:\pvpanic\w7\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="5"> - <Path>D:\qemupciserial\w7\amd64</Path> + <Path>D:\qemupciserial\w7\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="6"> - <Path>D:\qxldod\w7\amd64</Path> + <Path>D:\qxldod\w7\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="7"> - <Path>D:\vioinput\w7\amd64</Path> + <Path>D:\vioinput\w7\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="8"> - <Path>D:\viorng\w7\amd64</Path> + <Path>D:\viorng\w7\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="9"> - <Path>D:\vioscsi\w7\amd64</Path> + <Path>D:\vioscsi\w7\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="10"> - <Path>D:\vioserial\w7\amd64</Path> + <Path>D:\vioserial\w7\amd64</Path> </PathAndCredentials> </DriverPaths> </component> @@ -143,7 +143,7 @@ </component> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <ComputerName>Container</ComputerName> - <ProductKey>GCRJD-8NW9H-F2CDX-CCM8D-9D6T9</ProductKey> + <ProductKey>D4F6K-QK3RD-TMVMJ-BBMRX-3MBMV</ProductKey> </component> </settings> <settings pass="oobeSystem"> @@ -201,7 +201,7 @@ <RequiresUserInput>false</RequiresUserInput> <CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine> <Description>Password Never Expires</Description> - </SynchronousCommand> + </SynchronousCommand> <SynchronousCommand wcm:action="add"> <Order>4</Order> <CommandLine>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> From a1878598a4ee1fe9cf3957d33671cb7087e35be2 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:22:32 +0100 Subject: [PATCH 32/63] feat: Win10 config --- assets/win10x64.xml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/assets/win10x64.xml b/assets/win10x64.xml index a1e2d5378..8a54bcbca 100644 --- a/assets/win10x64.xml +++ b/assets/win10x64.xml @@ -12,7 +12,7 @@ <UserLocale>en-US</UserLocale> </component> <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> - <DiskConfiguration> + <DiskConfiguration> <Disk wcm:action="add"> <DiskID>0</DiskID> <WillWipeDisk>true</WillWipeDisk> @@ -93,34 +93,34 @@ <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <DriverPaths> <PathAndCredentials wcm:action="add" wcm:keyValue="1"> - <Path>D:\viostor\w10\amd64</Path> + <Path>D:\viostor\w10\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="2"> - <Path>D:\NetKVM\w10\amd64</Path> + <Path>D:\NetKVM\w10\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="3"> - <Path>D:\Balloon\w10\amd64</Path> + <Path>D:\Balloon\w10\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="4"> - <Path>D:\pvpanic\w10\amd64</Path> + <Path>D:\pvpanic\w10\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="5"> - <Path>D:\qemupciserial\w10\amd64</Path> + <Path>D:\qemupciserial\w10\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="6"> - <Path>D:\qxldod\w10\amd64</Path> + <Path>D:\qxldod\w10\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="7"> - <Path>D:\vioinput\w10\amd64</Path> + <Path>D:\vioinput\w10\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="8"> - <Path>D:\viorng\w10\amd64</Path> + <Path>D:\viorng\w10\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="9"> - <Path>D:\vioscsi\w10\amd64</Path> + <Path>D:\vioscsi\w10\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="10"> - <Path>D:\vioserial\w10\amd64</Path> + <Path>D:\vioserial\w10\amd64</Path> </PathAndCredentials> </DriverPaths> </component> @@ -278,7 +278,7 @@ <RequiresUserInput>false</RequiresUserInput> <CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine> <Description>Password Never Expires</Description> - </SynchronousCommand> + </SynchronousCommand> <SynchronousCommand wcm:action="add"> <Order>4</Order> <CommandLine>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> From 40249307d860225974bbcf8f541cd2b7c649186c Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:23:10 +0100 Subject: [PATCH 33/63] feat: Win11 config --- assets/win11x64.xml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/assets/win11x64.xml b/assets/win11x64.xml index 25da1c873..1ac9be570 100644 --- a/assets/win11x64.xml +++ b/assets/win11x64.xml @@ -12,7 +12,7 @@ <UserLocale>en-US</UserLocale> </component> <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> - <DiskConfiguration> + <DiskConfiguration> <Disk wcm:action="add"> <DiskID>0</DiskID> <WillWipeDisk>true</WillWipeDisk> @@ -93,34 +93,34 @@ <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <DriverPaths> <PathAndCredentials wcm:action="add" wcm:keyValue="1"> - <Path>D:\viostor\w11\amd64</Path> + <Path>D:\viostor\w11\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="2"> - <Path>D:\NetKVM\w11\amd64</Path> + <Path>D:\NetKVM\w11\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="3"> - <Path>D:\Balloon\w11\amd64</Path> + <Path>D:\Balloon\w11\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="4"> - <Path>D:\pvpanic\w11\amd64</Path> + <Path>D:\pvpanic\w11\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="5"> - <Path>D:\qemupciserial\w11\amd64</Path> + <Path>D:\qemupciserial\w11\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="6"> - <Path>D:\qxldod\w11\amd64</Path> + <Path>D:\qxldod\w11\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="7"> - <Path>D:\vioinput\w11\amd64</Path> + <Path>D:\vioinput\w11\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="8"> - <Path>D:\viorng\w11\amd64</Path> + <Path>D:\viorng\w11\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="9"> - <Path>D:\vioscsi\w11\amd64</Path> + <Path>D:\vioscsi\w11\amd64</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="10"> - <Path>D:\vioserial\w11\amd64</Path> + <Path>D:\vioserial\w11\amd64</Path> </PathAndCredentials> </DriverPaths> </component> @@ -278,7 +278,7 @@ <RequiresUserInput>false</RequiresUserInput> <CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine> <Description>Password Never Expires</Description> - </SynchronousCommand> + </SynchronousCommand> <SynchronousCommand wcm:action="add"> <Order>4</Order> <CommandLine>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> From 05881f78ea5c39b6f7f0d62c2bc5c899db357d52 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:35:07 +0100 Subject: [PATCH 34/63] feat: Win11 config --- assets/win11x64.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/assets/win11x64.xml b/assets/win11x64.xml index 1ac9be570..c9b5f8366 100644 --- a/assets/win11x64.xml +++ b/assets/win11x64.xml @@ -89,6 +89,7 @@ </ProductKey> <AcceptEula>true</AcceptEula> </UserData> + <EnableFirewall>false</EnableFirewall> </component> <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <DriverPaths> From 3b68b89eff947e49a8f3158ae8990eac8be9d4b6 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:35:46 +0100 Subject: [PATCH 35/63] feat: Win10 config --- assets/win10x64.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/assets/win10x64.xml b/assets/win10x64.xml index 8a54bcbca..b1ffa3853 100644 --- a/assets/win10x64.xml +++ b/assets/win10x64.xml @@ -89,6 +89,7 @@ </ProductKey> <AcceptEula>true</AcceptEula> </UserData> + <EnableFirewall>false</EnableFirewall> </component> <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <DriverPaths> From 16753a26d65d54b5672bbb3e2d6318e8608d786a Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:39:53 +0100 Subject: [PATCH 36/63] feat: Win22 config --- assets/win2022-eval.xml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/assets/win2022-eval.xml b/assets/win2022-eval.xml index 884a4503e..1c6b08ffa 100644 --- a/assets/win2022-eval.xml +++ b/assets/win2022-eval.xml @@ -167,10 +167,12 @@ <UserAccounts> <LocalAccounts> <LocalAccount wcm:action="add"> - <Description>Docker</Description> - <DisplayName>Docker</DisplayName> - <Group>Administrators</Group> <Name>Docker</Name> + <Group>Administrators</Group> + <Password> + <Value/> + <PlainText>true</PlainText> + </Password> </LocalAccount> </LocalAccounts> <AdministratorPassword> @@ -179,12 +181,13 @@ </AdministratorPassword> </UserAccounts> <AutoLogon> + <Username>Docker</Username> + <Enabled>true</Enabled> + <LogonCount>1</LogonCount> <Password> <Value/> <PlainText>true</PlainText> </Password> - <Enabled>true</Enabled> - <Username>Docker</Username> </AutoLogon> <OOBE> <HideEULAPage>true</HideEULAPage> From 13e30cbb646c561c1215d0bb4444f29f1ea05d40 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:40:13 +0100 Subject: [PATCH 37/63] feat: Win16 config --- assets/win2016-eval.xml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/assets/win2016-eval.xml b/assets/win2016-eval.xml index 658fe845f..af1177a5a 100644 --- a/assets/win2016-eval.xml +++ b/assets/win2016-eval.xml @@ -167,10 +167,12 @@ <UserAccounts> <LocalAccounts> <LocalAccount wcm:action="add"> - <Description>Docker</Description> - <DisplayName>Docker</DisplayName> - <Group>Administrators</Group> <Name>Docker</Name> + <Group>Administrators</Group> + <Password> + <Value/> + <PlainText>true</PlainText> + </Password> </LocalAccount> </LocalAccounts> <AdministratorPassword> @@ -179,12 +181,13 @@ </AdministratorPassword> </UserAccounts> <AutoLogon> + <Username>Docker</Username> + <Enabled>true</Enabled> + <LogonCount>1</LogonCount> <Password> <Value/> <PlainText>true</PlainText> </Password> - <Enabled>true</Enabled> - <Username>Docker</Username> </AutoLogon> <OOBE> <HideEULAPage>true</HideEULAPage> From b5166970b4f29e5d68d47e814bb11a6e6a9c2fe7 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:40:40 +0100 Subject: [PATCH 38/63] feat: Win19 config --- assets/win2019-eval.xml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/assets/win2019-eval.xml b/assets/win2019-eval.xml index b43b3cc53..d02f8b60d 100644 --- a/assets/win2019-eval.xml +++ b/assets/win2019-eval.xml @@ -167,10 +167,12 @@ <UserAccounts> <LocalAccounts> <LocalAccount wcm:action="add"> - <Description>Docker</Description> - <DisplayName>Docker</DisplayName> - <Group>Administrators</Group> <Name>Docker</Name> + <Group>Administrators</Group> + <Password> + <Value/> + <PlainText>true</PlainText> + </Password> </LocalAccount> </LocalAccounts> <AdministratorPassword> @@ -179,12 +181,13 @@ </AdministratorPassword> </UserAccounts> <AutoLogon> + <Username>Docker</Username> + <Enabled>true</Enabled> + <LogonCount>1</LogonCount> <Password> <Value/> <PlainText>true</PlainText> </Password> - <Enabled>true</Enabled> - <Username>Docker</Username> </AutoLogon> <OOBE> <HideEULAPage>true</HideEULAPage> From e3e21090e0bd09f930d5f74ecef0b02b8493f896 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:41:16 +0100 Subject: [PATCH 39/63] feat: Win8 config --- assets/win81x64.xml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/assets/win81x64.xml b/assets/win81x64.xml index 12e384fee..7755f760e 100644 --- a/assets/win81x64.xml +++ b/assets/win81x64.xml @@ -151,14 +151,12 @@ <UserAccounts> <LocalAccounts> <LocalAccount wcm:action="add"> + <Name>Docker</Name> + <Group>Administrators</Group> <Password> <Value/> <PlainText>true</PlainText> </Password> - <Description/> - <DisplayName>Docker</DisplayName> - <Group>Administrators</Group> - <Name>Docker</Name> </LocalAccount> </LocalAccounts> <AdministratorPassword> @@ -167,12 +165,13 @@ </AdministratorPassword> </UserAccounts> <AutoLogon> + <Username>Docker</Username> + <Enabled>true</Enabled> + <LogonCount>1</LogonCount> <Password> <Value/> <PlainText>true</PlainText> </Password> - <Enabled>true</Enabled> - <Username>Docker</Username> </AutoLogon> <OOBE> <HideEULAPage>true</HideEULAPage> From f78c71649808eb76b4d8f23a6dc5a026adb74e61 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:41:48 +0100 Subject: [PATCH 40/63] feat: Win7 config --- assets/win7x64-ultimate.xml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/assets/win7x64-ultimate.xml b/assets/win7x64-ultimate.xml index 1481522e1..eab05a394 100644 --- a/assets/win7x64-ultimate.xml +++ b/assets/win7x64-ultimate.xml @@ -151,14 +151,12 @@ <UserAccounts> <LocalAccounts> <LocalAccount wcm:action="add"> + <Name>Docker</Name> + <Group>Administrators</Group> <Password> <Value/> <PlainText>true</PlainText> </Password> - <Description/> - <DisplayName>Docker</DisplayName> - <Group>Administrators</Group> - <Name>Docker</Name> </LocalAccount> </LocalAccounts> <AdministratorPassword> @@ -167,12 +165,13 @@ </AdministratorPassword> </UserAccounts> <AutoLogon> + <Username>Docker</Username> + <Enabled>true</Enabled> + <LogonCount>1</LogonCount> <Password> <Value/> <PlainText>true</PlainText> </Password> - <Enabled>true</Enabled> - <Username>Docker</Username> </AutoLogon> <OOBE> <HideEULAPage>true</HideEULAPage> From 977420320f077ed2e4ad93e02ad0ae0acb115aac Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:46:55 +0100 Subject: [PATCH 41/63] docs: Readme --- readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index 07a83ace2..c04609757 100644 --- a/readme.md +++ b/readme.md @@ -50,7 +50,7 @@ docker run -it --rm -e "VERSION=win11x64" -p 8006:8006 --device=/dev/kvm --cap-a ## FAQ - * ### How does it work? + * ### How do I use it? Very simple! These are the steps: @@ -80,7 +80,7 @@ docker run -it --rm -e "VERSION=win11x64" -p 8006:8006 --device=/dev/kvm --cap-a - ```win2019-eval``` (Windows Server 2019) - ```win2016-eval``` (Windows Server 2016) - * ### How can I use a custom ISO file? + * ### How do I use a custom ISO file? You can supply your own ISO file by naming it ```custom.iso``` and placing it in the ```/storage``` folder. Then follow the same steps as for [manual installation](https://github.com/dockur/windows/tree/dev?tab=readme-ov-file#how-do-i-perform-a-manual-installation). @@ -129,7 +129,7 @@ docker run -it --rm -e "VERSION=win11x64" -p 8006:8006 --device=/dev/kvm --cap-a If you receive an error from `kvm-ok` indicating that KVM acceleration can't be used, check the virtualization settings in the BIOS. - * ### How can I view the screen? + * ### How do I view the screen? The container includes a web-based viewer, so you can visit [http://localhost:8006/](http://localhost:8006/) using any web browser to view the screen and interact with Windows via the keyboard or mouse. From fd7ff7b597e6a34ab8626de5cf6dc651b9e96509 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:47:49 +0100 Subject: [PATCH 42/63] feat: Win22 config --- assets/win2022-eval.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/assets/win2022-eval.xml b/assets/win2022-eval.xml index 1c6b08ffa..ffc3b3d88 100644 --- a/assets/win2022-eval.xml +++ b/assets/win2022-eval.xml @@ -157,10 +157,6 @@ <component name="Microsoft-Windows-SQMApi" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <CEIPEnabled>0</CEIPEnabled> </component> - <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> - <ComputerName>Container</ComputerName> - <ProductKey/> - </component> </settings> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> From c58d029d7776824c212eb54a41e41c5458a78846 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:48:09 +0100 Subject: [PATCH 43/63] feat: Win19 config --- assets/win2019-eval.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/assets/win2019-eval.xml b/assets/win2019-eval.xml index d02f8b60d..f20f50288 100644 --- a/assets/win2019-eval.xml +++ b/assets/win2019-eval.xml @@ -157,10 +157,6 @@ <component name="Microsoft-Windows-SQMApi" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <CEIPEnabled>0</CEIPEnabled> </component> - <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> - <ComputerName>Container</ComputerName> - <ProductKey/> - </component> </settings> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> From 4f0aec597d3336ac8503acce13d79468157cf6de Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:48:28 +0100 Subject: [PATCH 44/63] feat: Win16 config --- assets/win2016-eval.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/assets/win2016-eval.xml b/assets/win2016-eval.xml index af1177a5a..0ed1264d7 100644 --- a/assets/win2016-eval.xml +++ b/assets/win2016-eval.xml @@ -157,10 +157,6 @@ <component name="Microsoft-Windows-SQMApi" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <CEIPEnabled>0</CEIPEnabled> </component> - <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> - <ComputerName>Container</ComputerName> - <ProductKey/> - </component> </settings> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> From 2011d4c2b2b9360f6102ea8e3ee697e5f896f56a Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:49:09 +0100 Subject: [PATCH 45/63] feat: Win8 config --- assets/win81x64.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/assets/win81x64.xml b/assets/win81x64.xml index 7755f760e..2aceb632e 100644 --- a/assets/win81x64.xml +++ b/assets/win81x64.xml @@ -141,10 +141,6 @@ <component name="Microsoft-Windows-SQMApi" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <CEIPEnabled>0</CEIPEnabled> </component> - <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> - <ComputerName>Container</ComputerName> - <ProductKey>GCRJD-8NW9H-F2CDX-CCM8D-9D6T9</ProductKey> - </component> </settings> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> From a976c1f0b995500cdf23e962deef447f27238078 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:49:29 +0100 Subject: [PATCH 46/63] feat: Win7 config --- assets/win7x64-ultimate.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/assets/win7x64-ultimate.xml b/assets/win7x64-ultimate.xml index eab05a394..a0273b1c6 100644 --- a/assets/win7x64-ultimate.xml +++ b/assets/win7x64-ultimate.xml @@ -141,10 +141,6 @@ <component name="Microsoft-Windows-SQMApi" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <CEIPEnabled>0</CEIPEnabled> </component> - <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> - <ComputerName>Container</ComputerName> - <ProductKey>D4F6K-QK3RD-TMVMJ-BBMRX-3MBMV</ProductKey> - </component> </settings> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> From 9f49889e6bac5b19040ca9b31f9002909cd046db Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:51:44 +0100 Subject: [PATCH 47/63] feat: Win8 config --- assets/win81x64.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/assets/win81x64.xml b/assets/win81x64.xml index 2aceb632e..da0d35cfb 100644 --- a/assets/win81x64.xml +++ b/assets/win81x64.xml @@ -69,6 +69,7 @@ <Label>Windows</Label> <Letter>C</Letter> <Format>NTFS</Format> + <TypeID>DE94BBA4-06D1-4D40-A16A-BFD50179D6AC</TypeID> </ModifyPartition> </ModifyPartitions> </Disk> From a7dc6e7797aed01d8fc2999956e7a7e8108940f4 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:52:00 +0100 Subject: [PATCH 48/63] feat: Win7 config --- assets/win7x64-ultimate.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/assets/win7x64-ultimate.xml b/assets/win7x64-ultimate.xml index a0273b1c6..a1c628b82 100644 --- a/assets/win7x64-ultimate.xml +++ b/assets/win7x64-ultimate.xml @@ -69,6 +69,7 @@ <Label>Windows</Label> <Letter>C</Letter> <Format>NTFS</Format> + <TypeID>DE94BBA4-06D1-4D40-A16A-BFD50179D6AC</TypeID> </ModifyPartition> </ModifyPartitions> </Disk> From 752bca26d907ef99d1ba1371723c7425c843b991 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:55:22 +0100 Subject: [PATCH 49/63] feat: Win11 config --- assets/win11x64.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/assets/win11x64.xml b/assets/win11x64.xml index c9b5f8366..79df3dffc 100644 --- a/assets/win11x64.xml +++ b/assets/win11x64.xml @@ -220,9 +220,6 @@ </RunSynchronousCommand> </RunSynchronous> </component> - <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> - <ComputerName>Container</ComputerName> - </component> </settings> <settings pass="auditSystem"/> <settings pass="auditUser"/> From e61b9b7bcc2d7860ab088873d5b62c5352d55567 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 22:55:42 +0100 Subject: [PATCH 50/63] feat: Win10 config --- assets/win10x64.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/assets/win10x64.xml b/assets/win10x64.xml index b1ffa3853..12a3bcf3f 100644 --- a/assets/win10x64.xml +++ b/assets/win10x64.xml @@ -220,9 +220,6 @@ </RunSynchronousCommand> </RunSynchronous> </component> - <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> - <ComputerName>Container</ComputerName> - </component> </settings> <settings pass="auditSystem"/> <settings pass="auditUser"/> From 93abaa7b3d959abae901731997db2dd4ea519b17 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 23:01:07 +0100 Subject: [PATCH 51/63] feat: Win22 config --- assets/win2022-eval.xml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/assets/win2022-eval.xml b/assets/win2022-eval.xml index ffc3b3d88..ac6f8e7d8 100644 --- a/assets/win2022-eval.xml +++ b/assets/win2022-eval.xml @@ -205,17 +205,12 @@ </SynchronousCommand> <SynchronousCommand wcm:action="add"> <Order>2</Order> - <CommandLine>powershell.exe -NoProfile -Command "Disable-ComputerRestore -Drive 'C:';"</CommandLine> - <Description>Disable System Restore</Description> - </SynchronousCommand> - <SynchronousCommand wcm:action="add"> - <Order>3</Order> <RequiresUserInput>false</RequiresUserInput> <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> + <Order>3</Order> <CommandLine>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> <Description>Install VirtIO drivers</Description> </SynchronousCommand> From ae1ac28507ed56835db6a0f277308e156b6400bb Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 23:01:39 +0100 Subject: [PATCH 52/63] feat: Win19 config --- assets/win2019-eval.xml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/assets/win2019-eval.xml b/assets/win2019-eval.xml index f20f50288..674a8d90c 100644 --- a/assets/win2019-eval.xml +++ b/assets/win2019-eval.xml @@ -205,17 +205,12 @@ </SynchronousCommand> <SynchronousCommand wcm:action="add"> <Order>2</Order> - <CommandLine>powershell.exe -NoProfile -Command "Disable-ComputerRestore -Drive 'C:';"</CommandLine> - <Description>Disable System Restore</Description> - </SynchronousCommand> - <SynchronousCommand wcm:action="add"> - <Order>3</Order> <RequiresUserInput>false</RequiresUserInput> <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> + <Order>3</Order> <CommandLine>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> <Description>Install VirtIO drivers</Description> </SynchronousCommand> From 739aec5a62a9ca628ccf52615088030b0f87168f Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 23:02:01 +0100 Subject: [PATCH 53/63] feat: Win16 config --- assets/win2016-eval.xml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/assets/win2016-eval.xml b/assets/win2016-eval.xml index 0ed1264d7..6be4a0175 100644 --- a/assets/win2016-eval.xml +++ b/assets/win2016-eval.xml @@ -205,17 +205,12 @@ </SynchronousCommand> <SynchronousCommand wcm:action="add"> <Order>2</Order> - <CommandLine>powershell.exe -NoProfile -Command "Disable-ComputerRestore -Drive 'C:';"</CommandLine> - <Description>Disable System Restore</Description> - </SynchronousCommand> - <SynchronousCommand wcm:action="add"> - <Order>3</Order> <RequiresUserInput>false</RequiresUserInput> <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> + <Order>3</Order> <CommandLine>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> <Description>Install VirtIO drivers</Description> </SynchronousCommand> From d5e3483ecf8fb3c5ccbcc9ee216a9803610c9bf3 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 23:02:31 +0100 Subject: [PATCH 54/63] feat: Win11 config --- assets/win11x64.xml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/assets/win11x64.xml b/assets/win11x64.xml index 79df3dffc..92e8b46cb 100644 --- a/assets/win11x64.xml +++ b/assets/win11x64.xml @@ -268,17 +268,12 @@ </SynchronousCommand> <SynchronousCommand wcm:action="add"> <Order>2</Order> - <CommandLine>powershell.exe -NoProfile -Command "Disable-ComputerRestore -Drive 'C:';"</CommandLine> - <Description>Disable System Restore</Description> - </SynchronousCommand> - <SynchronousCommand wcm:action="add"> - <Order>3</Order> <RequiresUserInput>false</RequiresUserInput> <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> + <Order>3</Order> <CommandLine>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> <Description>Install VirtIO drivers</Description> </SynchronousCommand> From 38b25116dab05b2e5e234ed0f9af49c4d4469998 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 23:02:51 +0100 Subject: [PATCH 55/63] feat: Win10 config --- assets/win10x64.xml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/assets/win10x64.xml b/assets/win10x64.xml index 12a3bcf3f..4485f3067 100644 --- a/assets/win10x64.xml +++ b/assets/win10x64.xml @@ -268,17 +268,12 @@ </SynchronousCommand> <SynchronousCommand wcm:action="add"> <Order>2</Order> - <CommandLine>powershell.exe -NoProfile -Command "Disable-ComputerRestore -Drive 'C:';"</CommandLine> - <Description>Disable System Restore</Description> - </SynchronousCommand> - <SynchronousCommand wcm:action="add"> - <Order>3</Order> <RequiresUserInput>false</RequiresUserInput> <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> + <Order>3</Order> <CommandLine>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> <Description>Install VirtIO drivers</Description> </SynchronousCommand> From e97f584bfffedd03664b3b89297355b0ee0be728 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 23:03:20 +0100 Subject: [PATCH 56/63] feat: Win7 config --- assets/win7x64-ultimate.xml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/assets/win7x64-ultimate.xml b/assets/win7x64-ultimate.xml index a1c628b82..db1242bef 100644 --- a/assets/win7x64-ultimate.xml +++ b/assets/win7x64-ultimate.xml @@ -189,17 +189,12 @@ </SynchronousCommand> <SynchronousCommand wcm:action="add"> <Order>2</Order> - <CommandLine>powershell.exe -NoProfile -Command "Disable-ComputerRestore -Drive 'C:';"</CommandLine> - <Description>Disable System Restore</Description> - </SynchronousCommand> - <SynchronousCommand wcm:action="add"> - <Order>3</Order> <RequiresUserInput>false</RequiresUserInput> <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> + <Order>3</Order> <CommandLine>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> <Description>Install VirtIO drivers</Description> </SynchronousCommand> From 0d314ad62eed422a0719988642db4d3179632b4e Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 23:03:49 +0100 Subject: [PATCH 57/63] feat: Win8 config --- assets/win81x64.xml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/assets/win81x64.xml b/assets/win81x64.xml index da0d35cfb..159860720 100644 --- a/assets/win81x64.xml +++ b/assets/win81x64.xml @@ -189,17 +189,12 @@ </SynchronousCommand> <SynchronousCommand wcm:action="add"> <Order>2</Order> - <CommandLine>powershell.exe -NoProfile -Command "Disable-ComputerRestore -Drive 'C:';"</CommandLine> - <Description>Disable System Restore</Description> - </SynchronousCommand> - <SynchronousCommand wcm:action="add"> - <Order>3</Order> <RequiresUserInput>false</RequiresUserInput> <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> + <Order>3</Order> <CommandLine>msiexec /i E:\virtio-win-gt-x64.msi /qb!</CommandLine> <Description>Install VirtIO drivers</Description> </SynchronousCommand> From ff2c816329811e6d129e861b6b9f029f2eb22c2a Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 23:16:26 +0100 Subject: [PATCH 58/63] feat: Win22 config --- assets/win2022-eval.xml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/assets/win2022-eval.xml b/assets/win2022-eval.xml index ac6f8e7d8..dd51baaa8 100644 --- a/assets/win2022-eval.xml +++ b/assets/win2022-eval.xml @@ -157,6 +157,27 @@ <component name="Microsoft-Windows-SQMApi" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <CEIPEnabled>0</CEIPEnabled> </component> + <component name="Microsoft-Windows-ServerManager-SvrMgrNc" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <DoNotOpenServerManagerAtLogon>true</DoNotOpenServerManagerAtLogon> + </component> + <component name="Microsoft-Windows-OutOfBoxExperience" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <DoNotOpenInitialConfigurationTasksAtLogon>true</DoNotOpenInitialConfigurationTasksAtLogon> + </component> + <component name="Microsoft-Windows-TerminalServices-LocalSessionManager" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <fDenyTSConnections>false</fDenyTSConnections> + </component> + <component name="Microsoft-Windows-TerminalServices-RDP-WinStationExtensions" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <UserAuthentication>0</UserAuthentication> + </component> + <component name="Networking-MPSSVC-Svc" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <FirewallGroups> + <FirewallGroup wcm:action="add" wcm:keyValue="RemoteDesktop"> + <Active>true</Active> + <Group>Remote Desktop</Group> + <Profile>all</Profile> + </FirewallGroup> + </FirewallGroups> + </component> </settings> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> From 8e86b24c6757cf54bf375b0fb3860d256d3a1d5e Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 23:16:49 +0100 Subject: [PATCH 59/63] feat: Win19 config --- assets/win2019-eval.xml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/assets/win2019-eval.xml b/assets/win2019-eval.xml index 674a8d90c..3353ef851 100644 --- a/assets/win2019-eval.xml +++ b/assets/win2019-eval.xml @@ -157,6 +157,27 @@ <component name="Microsoft-Windows-SQMApi" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <CEIPEnabled>0</CEIPEnabled> </component> + <component name="Microsoft-Windows-ServerManager-SvrMgrNc" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <DoNotOpenServerManagerAtLogon>true</DoNotOpenServerManagerAtLogon> + </component> + <component name="Microsoft-Windows-OutOfBoxExperience" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <DoNotOpenInitialConfigurationTasksAtLogon>true</DoNotOpenInitialConfigurationTasksAtLogon> + </component> + <component name="Microsoft-Windows-TerminalServices-LocalSessionManager" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <fDenyTSConnections>false</fDenyTSConnections> + </component> + <component name="Microsoft-Windows-TerminalServices-RDP-WinStationExtensions" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <UserAuthentication>0</UserAuthentication> + </component> + <component name="Networking-MPSSVC-Svc" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <FirewallGroups> + <FirewallGroup wcm:action="add" wcm:keyValue="RemoteDesktop"> + <Active>true</Active> + <Group>Remote Desktop</Group> + <Profile>all</Profile> + </FirewallGroup> + </FirewallGroups> + </component> </settings> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> From cf72fe401f82ee0864559b37464f8f7588a10138 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 23:17:12 +0100 Subject: [PATCH 60/63] feat: Win16 config --- assets/win2016-eval.xml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/assets/win2016-eval.xml b/assets/win2016-eval.xml index 6be4a0175..5798d0109 100644 --- a/assets/win2016-eval.xml +++ b/assets/win2016-eval.xml @@ -157,6 +157,27 @@ <component name="Microsoft-Windows-SQMApi" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <CEIPEnabled>0</CEIPEnabled> </component> + <component name="Microsoft-Windows-ServerManager-SvrMgrNc" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <DoNotOpenServerManagerAtLogon>true</DoNotOpenServerManagerAtLogon> + </component> + <component name="Microsoft-Windows-OutOfBoxExperience" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <DoNotOpenInitialConfigurationTasksAtLogon>true</DoNotOpenInitialConfigurationTasksAtLogon> + </component> + <component name="Microsoft-Windows-TerminalServices-LocalSessionManager" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <fDenyTSConnections>false</fDenyTSConnections> + </component> + <component name="Microsoft-Windows-TerminalServices-RDP-WinStationExtensions" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <UserAuthentication>0</UserAuthentication> + </component> + <component name="Networking-MPSSVC-Svc" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <FirewallGroups> + <FirewallGroup wcm:action="add" wcm:keyValue="RemoteDesktop"> + <Active>true</Active> + <Group>Remote Desktop</Group> + <Profile>all</Profile> + </FirewallGroup> + </FirewallGroups> + </component> </settings> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> From c1c36e91d8bef6e73b66d5189e5789cd20e774e1 Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 23:28:43 +0100 Subject: [PATCH 61/63] feat: Win8 config --- assets/win81x64.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/win81x64.xml b/assets/win81x64.xml index 159860720..9354c8022 100644 --- a/assets/win81x64.xml +++ b/assets/win81x64.xml @@ -85,7 +85,7 @@ </ImageInstall> <UserData> <ProductKey> - <Key/> + <Key>GCRJD-8NW9H-F2CDX-CCM8D-9D6T9</Key> <WillShowUI>Never</WillShowUI> </ProductKey> <AcceptEula>true</AcceptEula> From 53903a942b87c24100c5aa6d9666a9d524bff3fd Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 23:29:42 +0100 Subject: [PATCH 62/63] feat: Win7 config --- assets/win7x64-ultimate.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/win7x64-ultimate.xml b/assets/win7x64-ultimate.xml index db1242bef..d4a555e1a 100644 --- a/assets/win7x64-ultimate.xml +++ b/assets/win7x64-ultimate.xml @@ -85,7 +85,7 @@ </ImageInstall> <UserData> <ProductKey> - <Key/> + <Key>FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4</Key> <WillShowUI>Never</WillShowUI> </ProductKey> <AcceptEula>true</AcceptEula> From 633e6bfffe4b3988648a5df481d8540e7a618a4c Mon Sep 17 00:00:00 2001 From: Kroese <kroese@users.noreply.github.com> Date: Mon, 15 Jan 2024 23:45:03 +0100 Subject: [PATCH 63/63] feat: Unattended installation --- src/install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/install.sh b/src/install.sh index 282465f29..97265eb61 100644 --- a/src/install.sh +++ b/src/install.sh @@ -41,7 +41,7 @@ DIR="$TMP/unpack" if [[ "$ATTENDED" != [Yy1]* ]]; then if [ -f "/run/assets/$VERSION.xml" ]; then - wimlib-imagex update $DIR/sources/boot.wim 2 \ + wimlib-imagex update "$DIR/sources/boot.wim" 2 \ --command "add /run/assets/$VERSION.xml /autounattend.xml" fi