Netbook verliert immer Zeit

2151
nmuntz

Ich besitze ein Lenovo S10 und es läuft Arch Linux als einziges Betriebssystem. Aus irgendeinem seltsamen Grund, den ich immer noch nicht herausfinden konnte, verliert er ständig die Zeit. Im BIOS gibt es zwar die richtigen Einstellungen.

Unter Linux ist die Zeitzone korrekt eingestellt, und für einige Stunden funktioniert alles einwandfrei. Wenn ich die richtige Uhrzeit eingestellt und den Computer neu gestartet habe, werden die richtigen Zeiteinstellungen angezeigt. Wenn ich jedoch den Computer ausschalte und ein paar Stunden später wieder einschalte, ist die Zeit wieder durcheinander.

Ich habe versucht, NTP zu verwenden, und obwohl es das Problem vorübergehend behebt, ist es nicht immer eine Option, da es nicht immer mit dem Internet verbunden ist.

Irgendwelche Ideen, um dieses Problem dauerhaft zu beheben?

2

7 Antworten auf die Frage

5
Shalom Craimer

Stellen Sie sicher, dass Ihr NTP-Client auch die Hardware-Uhr (über das BIOS) und nicht nur die Linux-Software-Uhr einstellt.

Sie können Ihre Hardware-Uhr mit dem hwclockProgramm (in /usr/sbinoder /sbin) überprüfen und mit dem dateBefehl mit der Software-Uhr vergleichen .

Langweilige Erklärung :

In Ihrem Computer befindet sich ein kleiner Chip, der als "Echtzeituhr" (RTC) bezeichnet wird. Diese Uhr läuft mit einer Batterie und zählt wie eine Armbanduhr die Zeit. Wenn der Computer eingeschaltet ist, wird die Uhr abgelesen, und so weiß Ihr Betriebssystem, um wie viel Uhr es ist, wenn es gestartet wird. Nach dem ersten Lesen muss das Betriebssystem jedoch nicht die Echtzeituhr verwenden - es kann einfach die Zeit (Sekunden, Stunden und was auch immer) von selbst zählen. Wann immer der Benutzer nach der Uhrzeit fragt, kann er einfach seine eigene Uhrzeit angeben (anstelle der Uhrzeit, die der RTC meldet).

Das knifflige bisschen kommt, wenn der RTC nicht die richtige Zeit hat. Wenn Sie versuchen, die Uhr zu korrigieren, ist es das Betriebssystem, das dies für Sie tut. Das Betriebssystem darf nur seine interne Software-Uhr aktualisieren. In diesem Fall wird die falsche Uhrzeit nach dem Neustart erneut von der RTC geladen. Ich erinnere mich noch an die DOS-Tage. Sie mussten ins BIOS gehen, um die Uhr zu ändern. Pfui.

Jedenfalls ist der letzte Nagel im Sarg folgendes: Die von der Echtzeituhr abgelesene Zeit ist nur eine Zahl. Und das Betriebssystem darf diese Nummer ändern. Es könnte beispielsweise erwünscht sein, 3.600.000 Millisekunden (1 Stunde) zu dieser Zahl hinzuzufügen, damit sich GMT + 1-Benutzer wohl fühlen. In anderen Fällen ist die Zeitzoneneinstellung etwas unübersichtlich.

Das Festlegen der Hardware-Uhr im Betriebssystem neigt dazu, dies zu beheben, da derselbe Filtervorgang durchlaufen wird. Selbst wenn Ihr Betriebssystem dem RTC 5 Minuten hinzufügt, zieht es auch 5 Minuten vor der Aktualisierung des RTC ab.

Viel Glück!

tolle Erklärung, danke. Ich werde das genauer untersuchen, wenn ich nach Hause komme. nmuntz vor 14 Jahren 0
2
scheibk

Es hört sich an, als ob die Batterie, die die Uhr am Laufen hält, leer ist. Ich habe das Gefühl, dass die Zeit beim Ausschalten der Batterie beim Ausschalten erhalten bleibt.

Da Sie in dem Kommentar erwähnt haben, dass das BIOS die korrekte Zeit hat, könnte es sich um ein Prozessorproblem handeln, was ebenfalls sinnvoll ist. Das Timing des Prozessors ist anders, wenn Sie ihn an die Wand angeschlossen haben und wenn nicht. Es kann sein, dass eine Sekunde bei Akkubetrieb nicht auf dieselbe Weise berechnet wird, weil die Prozessorleistung unterschiedlich ist. Wenn es immer noch unter Garantie steht, würde ich den Support anrufen und fragen.

Das Netbook ist erst ein paar Monate alt und wurde nicht intensiv genutzt - ist das noch möglich? Außerdem scheint das BIOS die richtige Zeit zu haben. nmuntz vor 14 Jahren 0
Sie wissen nicht, wie lange das Netbook im Regal steht, der Akku könnte lange vor dem Kauf installiert worden sein. scheibk vor 14 Jahren 0
Ich habe es von newegg.com gekauft, daher glaube ich nicht, dass es "im Regal" war. Aber wie erklären Sie sich, dass das BIOS die richtige Zeit hat? nmuntz vor 14 Jahren 0
Ich habe eine weitere Erklärung hinzugefügt, die die Zeit beeinflussen könnte. Es ist ein langer Weg, aber es könnte passieren, dass es passiert. scheibk vor 14 Jahren 0
@nmuntz: Selbst von Newegg aus saßen die Computer in ihren Lagern. Andrew Moore vor 14 Jahren 0
Der Autor sagte, dass das BIOS immer noch die richtige Zeit hat. Wenn der BIOS-Akku bei ihm absterben würde, wäre dies falsch. Jack M. vor 14 Jahren 0
@ Jack M. Ich habe meinen Beitrag aktualisiert, nachdem er sagte, dass sein BIOS die richtige Zeit hatte. scheibk vor 14 Jahren 0
2
Jack M.

Es gibt eine Setup-Frage, die einige Leute abwirft, die dieses Problem verursachen können. Dies ist die "Ist die BIOS-Zeit dieses Systems auf UTC eingestellt". Wenn Sie "Yes" (Ja) gewählt haben, ist das System beim Booten immer um die XAnzahl der Stunden ausgeschaltet, da dies die BIOS-Zeit Xin Anspruch nimmt und die Anzahl der Stunden subtrahiert .

In diesem Fall müssen Sie die Dokumente Ihrer Distribution prüfen, um herauszufinden, wie Sie diese Einstellung ändern können.

Ich benutze nicht UTC, es ist auf Ortszeit eingestellt. nmuntz vor 14 Jahren 0
Haben Sie Ihrem Betriebssystem das bei der Installation mitgeteilt? Um wie viel ist die Zeit vorbei? Immer eine festgelegte Zeit oder immer zufällig? Jack M. vor 14 Jahren 1
Ich bin 100% positiv. Ich habe nicht UTC für die Zeiteinstellungen ausgewählt. Die Zeit scheint zufällig zu sein. Im Moment ist es um eine Stunde abgelaufen, aber ich habe es in der Vergangenheit schon seit vier Stunden ausgeschaltet. nmuntz vor 14 Jahren 0
Nun, das ist einfach nur ein Kookie. Ich habe noch nie gesehen, dass es beim Booten um mehr als 5-10 Sekunden abgelaufen ist. Ich habe ntpdate ntp.nasa.gov in rc.local geworfen. Nie ein Problem. Jack M. vor 14 Jahren 2
2
Danr

Wenn Sie sicher sind, dass nicht die Systembatterie oder Ihr Betriebssystem das Zeitproblem verursacht, würde ich vorschlagen, dass Sie sich an den Hersteller wenden, während die Garantie noch besteht, sagen Sie, er ist erst ein paar Monate alt. Ich denke, Lenovo würde immer noch jegliche Hardware abdecken Probleme. Sie sollten XP auf dem System installieren und das Problem dort replizieren, bevor Sie sich an sie wenden, um den Prozess zu beschleunigen. Viele Hersteller unterstützen nur das auf dem Computer gelieferte Betriebssystem.

2
Dave Webb

Uhren, die mit falscher Zeit ausgeführt werden, scheint ein häufiges Problem bei ArchLinux zu sein, wenn man die Anzahl der Beiträge in ihren Foren wie diese beurteilt .

Das Problem scheint bei der /var/lib/hwclock/adjtimeDatei zu liegen. Zitieren aus dem obigen Forum Post:

Schauen Sie in / var / lib / hwclock / adjtime. Wenn die erste Zahl in der ersten Zeile groß ist (größer als etwa 10), löschen Sie diese Datei, stellen Sie Ihre Uhr erneut ein und starten Sie den Computer neu. (Die Datei wird mit einer kleinen Nummer neu erstellt.)

Diese Zahl soll anzeigen, wie viele Sekunden Ihre Hardware-Uhr jeden Tag driftet. Es ist nicht zu schwer, die Software-Uhr aus Versehen mit der Hardware-Uhr zu vergleichen, wenn sie noch nicht richtig eingerichtet ist. Dies lässt das System glauben, dass Ihre Hardware-Uhr sehr ungenau ist und überkompensiert.

Wenn sich das Problem dadurch nicht lösen lässt, kann dies ein Problem im Ruhezustand sein. Wenn du sagst

Wenn ich den Computer ausschalte und ein paar Stunden später wieder einschalte, ist die Zeit wieder völlig durcheinander.

Schalten Sie das System aus oder im Ruhezustand? Wenn es sich um Letzteres handelt, würde ich vermuten, dass die Uhr ab dem Zeitpunkt fortgesetzt wird, an dem Sie das Netbook in den Winterschlaf versetzt haben. Wenn die Uhr immer langsam läuft, ist dies wahrscheinlich die Antwort.

Wenn Sie Skripts zum Anhalten und Fortsetzen haben, sollten sie die Systemzeit während des Anhaltens in der Hardwareuhr speichern und sie dann bei Wiederaufnahme von der Hardware wiederherstellen. Sie können den hwclockBefehl dafür verwenden.

Ich kenne ArchLinux nicht, daher bin ich mir nicht sicher, wo sich diese Skripts befinden, aber möglicherweise finden Sie diesen Artikel im ArchLinux-Wiki hilfreich .

1
pgs

Ich habe versucht, NTP zu verwenden, und obwohl es das Problem vorübergehend behebt, ist es nicht immer eine Option, da es nicht immer mit dem Internet verbunden ist.

NTP wird zwei Dinge tun. Die erste besteht darin, Ihre Zeit ständig mit Netzwerkzeitservern zu vergleichen und gegebenenfalls anzupassen.

Das zweite, was NTP tun wird, ist die genaue Abweichung für Ihre Systemuhr zu berechnen. Auch wenn Sie nicht verbunden sind, kann NTP Ihre Uhr weiterhin anpassen. Es ist nicht so genau wie im Internet, aber es ist besser als nichts. Ich bin nicht sicher, wie es sich anpassen wird, nachdem Ihr Netbook für eine Weile ausgeschaltet wurde. Wenn Sie ntpdate als Teil des Startvorgangs ausführen, wird die korrekte Uhrzeit eingestellt, wenn Sie eine Internetverbindung haben.

0

Ich hatte ein ähnliches Problem auf meinem Laptop mit Archlinux. Dieser Thread hat geholfen.