Warum besteht zwischen zwei Betriebssystemen auf derselben Maschine ein Zeitunterschied von einer Stunde?

Warum besteht zwischen zwei Betriebssystemen auf derselben Maschine ein Zeitunterschied von einer Stunde?

Mein Computer hat zwei Betriebssysteme, eine Linux-Distribution (primär) und Windows 7 (selten verwendet).

Beide Betriebssysteme sind auf meine Zeitzone (UTC+1) eingestellt.

Je nachdem, wie ich die Zeit im BIOS einstelle, zeigt Windows die Zeit entweder 1 Stunde vor der aktuellen Zeit an oder Linux 1 Stunde danach.

Warum passiert das?

Der Windows-Rechner startet im Allgemeinen ohne Verbindung zum Internet; der Linux-Rechner ist dagegen verbunden und korrigiert daher das Datum nach kurzer Zeit, doch nach dem Neustart ist es wieder falsch konfiguriert.

EDIT: Es handelt sich um ein Duplikat vonhttps://serverfault.com/questions/16107/warum-wird-ubuntu-9-04-meine-windows-clock-zurückgesetzt

Antwort1

Mir fallen ein paar Probleme ein, die hier eine Rolle spielen könnten.

Erstens ist möglicherweise in einem System die Sommerzeit aktiviert, in dem anderen jedoch nicht, oder eines Ihrer Betriebssysteme ist auf die falsche Zeitzone konfiguriert.

Linux geht möglicherweise davon aus, dass die Hardware-Uhr Ihres Computers auf UTC statt auf die lokale Zeit eingestellt ist, und Windows denkt möglicherweise, dass sie auf die lokale Zeit eingestellt ist. Wenn Sie UTC+1 oder UTC-1 haben, sehen Sie dieses Verhalten möglicherweise. Linux lädt möglicherweise den Wert der Hardware-Uhr, passt ihn an, damit er lokal ist, und wandelt ihn dann wieder in UTC um, bevor es ihn beim Herunterfahren in die Hardware-Uhr schreibt.

Antwort2

Ihre Linux-Distribution geht davon aus, dass Ihre BIOS-Uhr UTC verwendet, und Ihre Windows-Installation geht davon aus, dass Ihre BIOS-Zeit die Ortszeit ist.

So habe ich es auf meinem Laptop mit Dual-Boot eingerichtet: Ich nehme die Änderungen auf Linux-Seite vor, um für die Systemuhr die Ortszeit statt UTC zu verwenden. Führen Sie zuerst einen Befehl aus, damit die Zeit auf Linux-Seite richtig eingestellt wird, wie root:

date -s "2 feb 2016 18:05:15"

hwclock --hctosys --localtimesollte die BIOS-Datums-/Zeiteinstellungen auf Ihren Computer kopieren und auf die Ortszeit einstellen. hwclock --systohc --localtimesollte die BIOS-Zeit auf Ortszeit statt UTC einstellen. Ich würde empfehlen, die Zeit mit dem dateobigen Befehl einzustellen und dann auszuführen: hwclock --systohc --localtime UND AUCH: hwclock --hctosys --localtime, um sicherzustellen, dass die letzte Zeile der Datei /etc/adjtime „LOCAL“ statt „UTC“ oder etwas Ähnliches enthält. Die --hctosys --localtimeFlags zusammen können das programmgesteuert erreichen. Es ist möglich, dass datees alleine funktioniert, aber ich habe es nicht überprüft.

um zu prüfen, ob die Systemzeit tatsächlich der Ortszeit entspricht. Machen Sie sich keine Sorgen über die Formatierung der Datumseinstellungszeichenfolge, sie ist äußerst flexibel. Ein Beispiel für andere gültige Möglichkeiten, es auszudrücken:

date -s "2 feb 2016 6:05:15 PM"
date -s "february 2, 2016 6:11:30 PM"
date -s "Tue Feb  2 18:11:30 EST 2016"

(Ich befinde mich in der Eastern Standard Time, GMT -5)

Wenn das Problem weiterhin besteht, müssen Sie möglicherweise die Zeitzone erneut auswählen. In Debian oder Derivaten wie Ubuntu sudo dpkg-reconfigure tzdataändern Sie die Zeitzone normalerweise über eine Ncurses-Schnittstelle.

Wenn Sie diese Datei nicht haben, versuchen Sie, die entsprechende Datei mit den Zeitzoneninformationen zu finden. Bei meiner Installation ist dies /usr/share/zoneinfo/America/Indiana/Indianapolis.

Wenn Sie es gefunden haben, kopieren Sie es nach /etc/localtime:

cp /usr/share/zoneinfo/America/Indiana/Indianapolis /etc/localtime

Ich würde sicherstellen, dass die Zeit datedanach immer noch richtig eingestellt ist. Wenn nicht, führen Sie die ersten beiden Befehle ( dateund hwclock) erneut aus.

unter Linux sollte es so sein, dass die von Ihnen in Linux eingestellte Zeit ordnungsgemäß mit Windows geteilt wird. Alternativ ist es möglich, Windows stattdessen auf UTC einzustellen, was aber schwieriger ist. Wie dies gemacht wird, ändert sich mit den Versionen und es ist bekannt, dass Windows nach Updates wieder auf die Ortszeit zurückgesetzt wird.

Ich erinnere mich an einen besonders störrischen Computer, bei dem alle hwclockAktionen überschrieben wurden, weil der Computer die aktuelle Zeit über das Internet mit NTP abholte. Die Zeitzoneneinstellung war die einzige Möglichkeit, das zu beheben, ohne NTP vollständig zu deaktivieren.

Wie dem auch sei, das ist nur ein großer Haufen all meiner bisherigen Erfahrungen mit der Sache. Eines davon wird mit ziemlicher Sicherheit funktionieren. Ich würde zuerst das mit der Zeitzone versuchen und dann auf jeden Fall das, was hwclock --systohc --localtimeSie danach tun, um sicherzustellen, dass die BIOS-Uhr die Ortszeit anzeigt.

verwandte Informationen