Running Windows 11 and Server 2025 with macOS Virtualization.framework
a day ago
- The author wanted throwaway Windows VMs for local CI and testing on Mac, and used tart (based on Apple's Virtualization.framework) to achieve it, despite Windows not being officially supported.
- Windows boot required a private Apple API (PMU emulation) uncovered by Claude, a 7 KB UEFI framebuffer driver, skipping Windows Setup by building custom install media, and virtio drivers for disk, network, and display.
- Performance benchmarks on M4 Pro: CPU near native (90-94% of host), disk write speed lower (0.9-2.2 GB/s vs host 5.5-6.0 GB/s) due to virtio-win storage driver and NTFS.
- Unattended install takes 12 min for Windows 11, under 4 min for Windows Server 2025; cold boot to SSH takes 6-9 seconds.
- Limitations: no suspend/resume, sound, nested virtualization, or GPU acceleration; agent setup is manual; relies on private APIs that could break in future macOS updates.
- Primary use cases: throwaway VMs for end-to-end tests, testing Windows-only software, CI on Mac minis (potentially cheaper and faster than x86 shared runners).
- The entire implementation was built by Claude Opus 5.5 with code available on a GitHub fork (windows-guest-extras branch).