Some background: I have a KVM host running on Debian 9 and some Windows 10 images. The Windows 10 images are made by manually install Windows on a blank disk image, and after that they are always used with
snapshot=on. Among them, some were created last summer (let's call them group A) and some were created recently (group B), and we have Daylight Saving Time during the summer here (it's not under DST now).
Only recently had I realized that images in group A, when started, are 1 hour behind the host. That still happens whether I use
-rtc base=localtime or
-rtc base=utc together with
RealTimeIsUniversal in Windows guest. That does not happen to images in group B, they all have similar time to the KVM host.
The time in images in group A will correct itself (jump 1 hour forward) when
Windows Time service sync the time, however I want to keep that service disabled, as a random time jump is also annoying.
Does anyone have any idea how this time discrepancy happened?
EDIT: There is no definitive documentation for this, but as far as I can find, Windows sets some kind of flag when it changes into DST. Now when that same image is booted during the winter, Windows sees that flag and decides to turn the time back 1 hour from whatever value provided by KVM.