Meine Vermutung ist, dass sich Windows beim Aufwachen aus dem Ruhezustand bezüglich der Systemzeit irgendwie falsch verhält. Laut einem Wikipedia-Artikel funktioniert der von Ihnen angegebene Registrierungsschlüssel nicht vollständig, auch nicht bei aktuellen Windows-Versionen:
Windows erwartet, dass die Echtzeituhr des Computers zur Ortszeit ausgeführt wird. Seit Windows NT gibt es einen Registrierungseintrag "RealTimeIsUniversal = 1", diese Funktion wird jedoch noch nicht vollständig unterstützt oder implementiert (einschließlich Vista). Daher ist es nicht möglich, die Echtzeituhr mit Coordinated Universal Time auszuführen.
Ich denke, Ihre beste Wette wäre es, Linux mitzuteilen, dass die Systemuhr in Ortszeit ausgeführt wird, und bei DST zweimal im Jahr beißen.
ETA: In diesem Artikel wird das Problem etwas ausführlicher beschrieben, und es wird auch darauf hingewiesen, dass die Probleme mit diesem Registrierungsschlüssel in Vista SP2 und Windows 7 behoben werden:
2001-07-09:Ich habe eine Antwort von jemandem aus dem Basiskern-Team von Microsoft erhalten, der sich für RealTimeIsUniversal interessiert hat und sich die relevanten Teile des NT-Kernel-Quellcodes angesehen hat. Das RealTimeIsUniversal-Flag ist vorhanden (ein Überbleibsel aus den Tagen, als NT noch auf RISC-Computern mit UTC-RTCs ausgeführt wurde), aber die Implementierung scheint unvollständig zu sein und wird derzeit nicht von Microsofts Dokumentations- und Regressionstest-Suite abgedeckt diesmal. In den letzten Tagen wurden einige potenzielle RealTimeIsUniversal-Fehler identifiziert, möglicherweise gibt es noch mehr. Beispielsweise nimmt der Kernel-Debugger an, dass die CMOS-Zeit die Ortszeit ist, und die Zeit wird falsch angezeigt, wenn RealTimeIsUniversal = 1 ist.
2008-10-31: Hurra! Jemand von Microsofts Core Operating Systems Division weist in einer E-Mail darauf hin, dass sowohl Vista SP2 als auch Windows 7 die Probleme in der Unterstützung von RealTimeIsUniversal = 1 beheben, die das Ausführen der CMOS-Uhr in UTC bisher unter Windows nicht praktikabel gemacht haben war falsch, nachdem ein unterbrochenes / Ruhezustand-Windows wieder aufgenommen wurde). Er warnt jedoch, dass diese verbesserte Unterstützung für UTC in der CMOS-Uhr möglicherweise nicht sofort umfassend dokumentiert wird und sich Details in der Zukunft ändern können.
Abschließend glaube ich, Sie haben zwei Möglichkeiten:
- Aktualisieren Sie auf ein aktuelles Betriebssystem.
- Schalten Sie Linux auf Ortszeit um.
PS: Im Gegensatz zu anderen Postern kann dies nicht die CMOS-Batterie sein. Die Echtzeituhr wird nicht von der Batterie gespeist, solange das System mit Strom versorgt wird. Dies schließt den Schlafmodus (offensichtlich) ein. Falls die CMOS-Batterie leer ist, würde sich die Echtzeituhr auf die Werkseinstellungen zurücksetzen. Dies ist normalerweise der 1. Januar vor ein paar Jahren. Ein paar Stunden Versatz tritt einfach nicht auf, da es keinen Uhrzustand gibt, der einen vollständigen Stromausfall übersteht. Es ist keine Wanduhr mit einem flockigen Akku, der auch bei leerem Akku seine Zeit beibehält.