Есть относительно простой способ возврата Windiws в исходное состояние и создание снапшотов.
Нужно установить Windiws со всеми программами в контейнер VHD. Затем создать дифконтейнер к основному и прописать загрузку с него в BCD (Boot Configuration Data), все изменения будут вноситься в дифконтейнер. Для возврата в начальное состояние, прописать в BCD запуск командного файла для замены дифконтейнера на пустой.
Потеря скорости при работе Виндоус из vhd, менее 10% по сравнению с физическим диском.