• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

BIOS Zeit eine Stunde hinter Systemzeit

A

Anonymous

Gast
Habe heute mal meine BIOS Einstellungen kontrolliert, dort gesehen dass die Zeiteinstellung immer eine Stunde hinterher hinkt(?)
Wenn ich dann die Zeit umstelle, so dass sie korrekt angezeigt wird, dann ist es beim nächsten Start, im BIOS, wieder eine Stunde zurück versetzt. Bei der Installation wurde alles korrekt eingestellt, in den Systemeinstellungen sind die Standardeinstellungen alle richtig angezeigt, Ort ist Berlin, Sommerzeit automatisch usw.
Aber ich gehe mal davon aus, dass die Systemzeit eh mit der Zeiteinstellung im BIOS wenig zu tun hat :???:
Batterie hatte ich erst vor kurzem getauscht, da mir das BIOS mal auf Standardeinstellungen zurückgesetzt war.
Das lag wohl an der Batterie, ist seitdem nicht mehr vorgekommen.
 
Der Linux kernel kennt nur UTC (Universal Time)
Google nach "current UTC", dann siehst du den Unterschied.
Linux setzt beim Booten diese UTC in die RTC (BIOS Uhr). Deshalb die Differenz.
Es gibt die Möglichkeit das zu ändern, was aber falsch wäre, weil die RTC auf UTC sein soll.

Gruß
Gräfin Klara
 
OP
A

Anonymous

Gast
Ähm ... hmmm ... ja!
Danke für die Erklärung. Vielleicht bleibe ich bei meinen alten Wecker *lol* oder ich mache abends die Batterie raus :D (Scherz).

Dann soll es wohl so sein :irre:
 

marce

Guru
Ähm...
Gräfin Klara schrieb:
Der Linux kernel kennt nur UTC (Universal Time)
Falsch. Der Kernel kennt erst mal nur "die Linux-Zeit" - Sekunden seit dem 1.1.1970.

Dazu kommen dann noch Dinge wie TimeZone, DST.

Siehe z.B. https://wiki.archlinux.org/index.php/time

Gräfin Klara schrieb:
Linux setzt beim Booten diese UTC in die RTC (BIOS Uhr). Deshalb die Differenz.
Dann ist mein Linux kaputt - das macht das nämlich nicht.

Per default schreibt kein Linux (also der Kernel) die Systemzeit in's BIOS (oder allg.: den Zeitgeber) - das ist nur das Feature mancher Distributionen.

Gräfin Klara schrieb:
Es gibt die Möglichkeit das zu ändern, was aber falsch wäre, weil die RTC auf UTC sein soll.
Die RTC darf sein, was wie will - relevant ist die Zeitkonfiguration des OS - die macht dann nämlich daraus die "Zeit" die dem User angezeigt wird oder die das System verwendet.

Es spricht rein gar nichts dagegen, locatime oder sonst irgendwas in die RTC zu schreiben - man muss nur dem restlichen System mitteilen, was in die RTC zurückgibt.

Es ist nur heute bei Serven üblich, daß im BIOS auch UTC verwendet wird - weil die sich die doofen Sprünge verkneift, welche sich die LocalTime erlaubt (und damit evtl. auch gern mal für lustige Effekte sorgen kann).
Für Desktop-Clients ist es aber völlig irrelevant, ob im BIOS UTC oder was auch immer tickt. Solange die restliche Systemkonfiguration passt.

Sprich: man kann ein System problemlos so konfiguriere, daß sowohl BIOS als auch das OS (und zwar jedes, bei z.B. Multiboot-Installationen) die lokale, richtige Zeit anzeigt (wobei man sich beim BIOS evtl. noch mit den DSTs versichern sollte, daß das Ding das evlt. automatisch kann und richtig macht - sonst muss man ggf. doch mal dort korrigieren)
 
OP
A

Anonymous

Gast
Danke marce,

Für Desktop-Clients ist es aber völlig irrelevant, ob im BIOS UTC oder was auch immer tickt. Solange die restliche Systemkonfiguration passt.
Deshalb lasse ich das nun so, denn stören tut mich das nicht wirklich; ich war nur verwundert, dass da ein Unterschied von einer Stunde ist.
 
marce schrieb:
Ähm...
Gräfin Klara schrieb:
Der Linux kernel kennt nur UTC (Universal Time)
Falsch. Der Kernel kennt erst mal nur "die Linux-Zeit" - Sekunden seit dem 1.1.1970.
..

Als ich das gelesen hatte, mußte ich lachen. Es liest sich so, als ob diese "Sekunden seit dem 1.1.1970" irgendwie vom Himmel fallen würden.
Woher hat der kernel nach deiner Meinung diese unix time? Glaubst du gar, Mitternacht 1.1.1970 war weltweit zur selben Zeit oder
die Differenz vom damaligen Zeitpunkt zu jetzt - wobei ja jetzt ein 'x' ist - passiert auf einem mathematischen Algorithmus?
Darüber solltest du nachdenken. Und wenn du die Lösung hast, dann wird die Differenz zur UTC null sein.

marce schrieb:
Gräfin Klara schrieb:
Der Linux kernel kennt nur UTC (Universal Time)
Dazu kommen dann noch Dinge wie TimeZone, DST.
Daylight savings und zone settings haben mit dem kernel nichts zu tun.

marce schrieb:
Per default schreibt kein Linux (also der Kernel) die Systemzeit in's BIOS (oder allg.: den Zeitgeber) - das ist nur das Feature mancher Distributionen.
Das ist richtig. Der kernel trägt nicht ein. Manche Distributionen tun das.
Ich wollte damit erklären, woher seine einstündige Zeitdifferenz so zuverlässig kommt.

marce schrieb:
Die RTC darf sein, was wie will - relevant ist die Zeitkonfiguration des OS - die macht dann nämlich daraus die "Zeit"...
Hier schließt sich der Kreis. Siehe oben. Die Zeit, errechnet mit Hilfe eines göttlichen Algorithmus.
Oder nach deiner Definition: Sie wird gemacht.

Gruß
Gräfin Klara
 

marce

Guru
Gräfin Klara schrieb:
Als ich das gelesen hatte, mußte ich lachen. Es liest sich so, als ob diese "Sekunden seit dem 1.1.1970" irgendwie vom Himmel fallen würden.
Das tun sie sogar - zu einem gewissen Zeitpunkt fallen sie aus der RTC der drunterliegenden Hardware.
Oder kommen von einer anderen externen Zeitquelle.
Sollte beides nicht gegeben sein - läuft die Systemzeit tapfer vom letzten Booten (bei 0 startend) aus los und bleibt auch dabei.

... dann meint das System dem User gegenüber auch, sich an einem entsprechenden Datum zu befinden.

Gräfin Klara schrieb:
Daylight savings und zone settings haben mit dem kernel nichts zu tun.
Stimmt, die sind nur für die Darstellung dem User gegenüber relevant - intern gibt's nur die "Sekunden seit dem 1.1.1970" (Die wiederum haben aber nichts mit der UTC zu tun)
Sie sind aber relevant, wenn man z.B. erreichen will, daß die BIOS-Uhr das gleich anzeigt wie die Systemuhr.
 
Oben