Initial commit: Packer + QEMU/KVM Windows 11 minimal VM

Fully unattended Windows 11 Pro build using Autounattend.xml, swtpm
for TPM 2.0 emulation, and VirtIO drivers. Five PowerShell provisioners
strip bloatware, telemetry, unused services, and apply performance tuning
for a resource-constrained host. Output is a compressed QCOW2 image.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-17 19:31:18 -05:00
commit e4741ccc96
12 changed files with 980 additions and 0 deletions

31
scripts/05-cleanup.ps1 Normal file
View File

@@ -0,0 +1,31 @@
#Requires -RunAsAdministrator
# Windows Update cache
Stop-Service wuauserv -Force -ErrorAction SilentlyContinue
Remove-Item "C:\Windows\SoftwareDistribution\Download\*" -Recurse -Force -ErrorAction SilentlyContinue
Start-Service wuauserv -ErrorAction SilentlyContinue
# Temp folders
Remove-Item "$env:TEMP\*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "C:\Windows\Temp\*" -Recurse -Force -ErrorAction SilentlyContinue
# Windows Error Reporting archives
Remove-Item "C:\ProgramData\Microsoft\Windows\WER\*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "C:\Windows\Minidump\*" -Force -ErrorAction SilentlyContinue
Remove-Item "C:\Windows\MEMORY.DMP" -Force -ErrorAction SilentlyContinue
# Prefetch (small, but consistent)
Remove-Item "C:\Windows\Prefetch\*" -Force -ErrorAction SilentlyContinue
# Event logs
Get-EventLog -LogName * -ErrorAction SilentlyContinue | ForEach-Object {
Clear-EventLog -LogName $_.Log -ErrorAction SilentlyContinue
}
# DISM: remove superseded Windows component store entries
DISM /Online /Cleanup-Image /StartComponentCleanup /ResetBase
# Compact OS: reduces on-disk footprint using XPRESS4K compression
Compact.exe /CompactOS:Always
Write-Output "Cleanup complete."