I going to be creating several Hyper-V virtual machines that are virtually identical (and all running on the same hardware). In the past I've done this by building a single VM, patching & installing software, then running sysprep and using the sysprepped VHD as the basis for Hyper-V differencing disks.
This has worked fine, but I thought I could get extra performance by putting the base (sysprepped) VHD on an SSD. However, I noticed that just booting and going through the out-of-box experience caused the differencing disk to grow to several GB. So I'd like to construct a sysprep answer file to minimize the changes that the sysprep process will make. So far I've found that setting the PersistAllDeviceInstalls and DoNotCleanUpNonPresentDevices options reduce the differencing VHD size to ~1.5 GB after boot.
Does anyone have suggestions about how to minimize the differences after sysprep (or on a running machine)?