Windows XP-Uhr nach dem Ruhezustand nicht korrekt eingestellt

7984
lajos

Ich starte Linux und Windows XP auf meinem Laptop. Ich habe den folgenden Registrierungsschlüssel in XP hinzugefügt, um Universal Time vom BIOS zu unterstützen:

HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal 

Die Uhr ist richtig eingestellt, wenn ich XP starte, aber wenn der Computer aus dem Ruhezustand erwacht, ist die Uhr einige Stunden ausgeschaltet.

Gibt es eine Möglichkeit, dass XP die Universalzeiteinstellung während des Aufwachens korrekt verwendet? Wenn nicht, kann ich verhindern, dass XP die Uhr beim Fortsetzen der Uhr einstellt?

2

3 Antworten auf die Frage

5
Joey

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:

  1. Aktualisieren Sie auf ein aktuelles Betriebssystem.
  2. 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.

2
harrymc

Wenn die Uhrzeit beim Booten korrekt ist (weil sie synchronisiert wird) und solange Windows korrekt eingestellt ist, aber nicht, wenn Windows nicht aktiv ist, sollten Sie höchstwahrscheinlich die CMOS-Batterie überprüfen.

Wenn die CMOS-Batterie leer ist, stellt sich die Uhr auf den Weg zurück. Dies kann jedoch nur geschehen, wenn Sie den Computer physisch unterbrechen. Joey vor 15 Jahren 0
IMHO Windows vergisst nicht die aktuelle Uhrzeit im Schlaf. Die Hardware-Uhr kommt einfach nicht voran. Du verwirrst den Schlaf mit dem Neustart. harrymc vor 15 Jahren 0
Die Hardware-Uhr läuft von selbst weiter, solange sie Strom hat. Dies ist nichts, was das Betriebssystem tut. Windows stützt sich jedoch nur beim Start auf die Echtzeituhr und behält die Zeit selbst bei. Immer, wenn die Echtzeituhr von RTC und Windows nicht synchron ist (Start, Aufwachen aus dem Ruhezustand / Ruhezustand), muss sie ihre eigene Uhr aktualisieren. Und hier liegen Fehler; Siehe den Artikel, den ich in meiner Antwort verlinkt habe. Joey vor 15 Jahren 0
2
ChrisF

Es klingt nicht wie ein CMOS-Akku, da er normalerweise die Zeit auf ein festes Datum zurücksetzt und nicht "ein paar Stunden" ist.

Eine andere vorübergehende Lösung besteht darin, etwas wie Atomic Clock Sync zu installieren und "Auto Synchronize Daily" einzustellen. Dadurch wird die Uhr wieder in Einklang gebracht.