Mein Computer verfügt über zwei Betriebssysteme, eine Linux-Distribution (primär) und ein Windows 7 (nur selten verwendet).
Beide Betriebssysteme sind in meiner Zeitzone (UTC + 1) eingestellt.
Je nachdem, wie ich die Uhrzeit im BIOS eingestellt habe, zeigt Windows die Uhrzeit 1 Stunde vor der aktuellen Uhrzeit oder Linux 1 Stunde danach an.
Warum passiert das?
Der Windows-Computer wird normalerweise vom Internet getrennt. Die Linux-Version ist stattdessen verbunden, sodass das Datum nach kurzer Zeit korrigiert wird. Nach dem Neustart ist sie jedoch erneut falsch konfiguriert.
BEARBEITEN: Es wurde ein Duplikat von https://serverfault.com/questions/16107/why-does-ubuntu-9-04-reset-my-windows-clock gefunden
/etc/default/rcS
ist auch nicht auf allen Systemen vorhanden - ich denke, es ist Ubuntu-spezifisch. Debian (von dem Ubuntu abgeleitet ist) hat es nicht.Ihre Linux-Distribution geht davon aus, dass Ihre BIOS-Uhr UTC verwendet, und Ihre Windows-Installation geht davon aus, dass Ihre BIOS-Zeit in der Ortszeit angegeben ist.
Hier ist, wie ich es mit einem Dual-Boot auf meinem Laptop eingerichtet habe: Ich ändere die Linux-Seite, um localtime anstelle von UTC für die Systemuhr zu verwenden. Führen Sie zuerst einen Befehl aus, damit die Uhrzeit auf der Linux-Seite richtig eingestellt ist
root
:hwclock --hctosys --localtime
sollten die BIOS-Einstellungen für Datum und Uhrzeit auf Ihren Computer kopieren und auf die Ortszeit einstellen.hwclock --systohc --localtime
sollte die BIOS-Zeit in localtime anstelle von UTC einstellen. Ich würde empfehlen, die Zeit mit demdate
obigen Befehl einzustellen und dann auszuführen: hwclock --systohc --localtime UND AUCH auszuführen: hwclock --hctosys --localtime, um sicherzustellen, dass / etc / adjtime die letzte Zeile der Datei mit der Aufschrift 'LOCAL' enthält. statt 'UTC' oder so ähnlich. Die--hctosys --localtime
Flags zusammen können dies programmatisch erreichen. Es ist möglich, dassdate
das alleine geht, aber ich habe es nicht überprüft.um zu überprüfen, ob die Systemzeit tatsächlich in der Ortszeit korrekt ist. Machen Sie sich keine Sorgen darüber, wie die Zeichenfolge für die Datumseinstellung formatiert ist, sie ist äußerst flexibel. Ein Beispiel für andere gültige Ausdrücke:
(Ich bin in der Eastern Standard Time, GMT -5)
Wenn Sie weiterhin Probleme haben, müssen Sie möglicherweise eine Zeitzone neu auswählen. In Debian oder Derivaten wie Ubuntu
sudo dpkg-reconfigure tzdata
ändern Sie die Zeitzonen in einer ncurses-Oberfläche.Wenn Sie das nicht haben, versuchen Sie, Ihre relevante Zeitzoneninformationsdatei zu finden. Auf meiner Installation ist dies
/usr/share/zoneinfo/America/Indiana/Indianapolis
.Wenn Sie es gefunden haben, kopieren Sie es nach
/etc/localtime
:Ich würde sicherstellen, dass die Zeit danach immer noch
date
richtig eingestellt ist. Ist dies nicht der Fall, führen Sie die ersten beiden Befehle (date
undhwclock
) erneut aus.in linux sollte es so machen, dass jede zeit, die du in linux einstellst, mit windows richtig geteilt wird. Alternativ kann dies durchgeführt werden, es ist jedoch schwieriger, Windows auf die Verwendung von UTC einzustellen. Es ist bekannt, dass Änderungen an Versionen und Fenstern nach Aktualisierungen auf die Ortszeit zurückgesetzt werden.
Ich erinnere mich an einen besonders widerspenstigen Computer, auf dem alle
hwclock
Vorgänge außer Kraft gesetzt wurden, weil der Computer die aktuelle Uhrzeit über das Internet mit NTP abrief. Die Zeitzoneneinstellung war die einzige Möglichkeit, dies zu beheben, ohne NTP insgesamt zu deaktivieren.Wie auch immer, das ist nur ein großer Auszug meiner bisherigen Erfahrungen mit dieser Angelegenheit. Eine davon wird mit ziemlicher Sicherheit funktionieren. Ich würde zuerst das Timezone-Zeug ausprobieren und dann definitiv das
hwclock --systohc --localtime
Zeug ausprobieren, nachdem Sie fertig sind, um sicherzustellen, dass die BIOS-Uhr in der Ortszeit ist.quelle