Unterschiedliche Zeit in Windows und Linux Mint


18

Ich habe Linux Mint zuerst auf meinem Acer Aspire 4930 installiert und dann mit Windows 7 dual gebootet.

Ich sehe unter Linux Mint immer die korrekte Uhrzeit, aber beim Booten von Windows wird die Uhrzeit um einige Stunden zurückgesetzt, auch wenn die Uhrzeit zurückgesetzt wurde. Beim Neustart wird wieder eine falsche Uhrzeit angezeigt.


Fragen:

  1. Warum passiert das?

  2. Was kann ich tun?

Antworten:


17

Unter Windows wird die RTC-Uhr des Systems traditionell in der Ortszeit angezeigt. In Unix und Linux wird es traditionell in UTC gespeichert und /etc/localtimeverwendet, um die aktuelle Zeitzone anzugeben, damit die angezeigte Zeit korrekt ist.

Diese beiden Weltanschauungen kollidieren in Dual-Boot-Konfigurationen, weil es nur eine RTC gibt. Normalerweise weisen Sie Linux an, davon auszugehen, dass die RTC Ortszeit ist (weil Windows nicht erkannt werden kann). Dies unterscheidet sich von einem Linux zum anderen, aber da Mint wie Ubuntu ist , können Sie wahrscheinlich eingestellt UTC=noin /etc/default/rcS. Dann können Sie die Uhr in Windows auf die Ortszeit stellen, und Linux lässt sie danach in Ruhe.


Anmerkung der Redaktion :

Diese Datei ist seit Linux Mint 19 (oder genauer seit der Ubuntu 18.04-Basis) nicht mehr vorhanden:

/etc/default/rcS

2
UTC ist bereits auf no gesetzt, der Zeitunterschied ist noch da.
Ballistic

5

Mint 18.2 KDE scheint immun gegen die anderen Fixes zu sein (einschließlich weiterer, die ich bei einer Suche gefunden habe). Die in den Antworten von aecolley und error404 erwähnten Dateien existieren entweder nicht mehr oder scheinen nicht mehr dort zu sein, wo auf die Einstellung verwiesen wird, zumindest in der aktuellen KDE-Version. Der Befehl in der Antwort von Julie Pelletier funktionierte für 18.2 Cinnamon, aber nicht für 18.2 KDE.

Nachdem Sie ein halbes Dutzend Lösungsvorschläge ausprobiert hatten, wurde dies im Folgenden für 18,2 KDE behoben. Führen Sie bei korrekter Anzeige der Uhrzeit den folgenden Terminalbefehl aus:

timedatectl set-local-rtc 1 --adjust-system-clock

Quelle: Tipps und Tricks für Linux Mint nach der Installation [Mint 18 - Cinnamon Edition]

Dies sollte auch für Cinnamon als alternative Lösung funktionieren, und ich gehe auch von anderen DEs aus.

Anmerkungen des Herausgebers:

  • Es ist nicht sudoerforderlich, diesen Befehl als Benutzer auszuführen.

  • Es bleibt beim Neustart bestehen, sollte permanent sein.

  • Getestet unter Linux Mint 19.1 Cinnamon, das auf Ubuntu 18.04 basiert.


Ich bestätige, dass es mit Mint 18.3 Cinnamon funktioniert.
Dchrome

@ Vlastimil, es ist schon eine Weile her, seit ich das getan habe. Meiner Erinnerung nach ist sudo nicht erforderlich (wenn ja, hätte ich es in die Antwort aufgenommen, und ähnliche Korrekturen beziehen sich auch nicht auf sudo, also bin ich mir ziemlich sicher, dass dies nicht der Fall ist). Und ja, das bleibt bestehen.
Fixer1234

@ fixer1234 Vielen Dank, Kumpel! Sie haben meinen Tag gerettet und ich denke, jeder ist :)
LinuxSecurityFreak

3

Die allgemeinste Art, dies zu tun, ist mit:

hwclock --systohc --localtime

Dies ist über Neustarts hinweg persistent und funktioniert auf den meisten Systemen.


Wenn Ihre Uhr aktuell die richtige Zeit anzeigt, müssen Sie tatsächlich den Befehl ausführen hwclock --systohc --localtime, mit dem die Hardware-Uhr auf die lokale Zeit eingestellt wird, wobei der aktuell vom System angezeigte Wert verwendet wird. Wenn Ihre Uhr jedoch aktuell nicht korrekt ist (dh die Hardware-Uhr ist lokal, aber das System addiert den Versatz für Ihre Zeitzone, was zu einem falschen angezeigten Wert führt), müssen Sie hwclock --hctosys --localtime.
Sie

@youen, ich hatte diese Situation und deine Modifikation hat gerade die Auszeit in die andere Richtung geworfen. Die Lösung für mich war, die Uhr auf die richtige Zeit zurückzustellen und dann den Befehl in Julies Antwort zu verwenden.
Fixer1234

@ fixer1234 OK, komisch. Um ehrlich zu sein, habe ich den zweiten Befehl in meinem Kommentar nicht ausprobiert, da ich meine Uhr zu diesem Zeitpunkt bereits eingestellt hatte. Ich glaube jedoch, dass das Ausführen eines dieser Befehle und das Einstellen der Uhr auf die korrekte angezeigte Zeit den Trick machen wird (das erneute Ausführen des ersten Befehls war wahrscheinlich nicht erforderlich, wenn Sie den zweiten bereits ausgeführt hatten).
Ich bin

1

WARNUNG

Diese Methode ist in Windows-Versionen vor 7 fehlerhaft, behebt jedoch das Problem auf der Windows-Seite und nicht auf der Linux-Seite: Sie müssen Linux nicht so einstellen, dass Localtime verwendet wird .


Entnommen aus dem berühmtesten und angesehensten Arch Linux Wiki :

Ein Grund, warum Benutzer die Echtzeituhr häufig auf Ortszeit einstellen, ist das Dual-Booten mit Windows (das Ortszeit verwendet).

Windows [kann die RTC jedoch als UTC behandeln] mit einem einfachen Registry-Fix. Es wird empfohlen, Windows für die Verwendung von UTC und nicht Linux für die Verwendung von localtime zu konfigurieren.

Unter Verwendung regediteines Add - DWORDWert mit hexadezimalen Wert 1in der Registrierung:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal

Sie können dies über eine Administrator-Eingabeaufforderung ausführen:

reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f

Alternativ können Sie eine * .reg-Datei (auf dem Desktop) mit dem folgenden Inhalt erstellen und darauf doppelklicken, um sie in die Registrierung zu importieren:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
     "RealTimeIsUniversal"=dword:00000001

Wenn dies scheinbar keine Auswirkungen hat und eine 64-Bit-Variante von Windows verwendet wird, kann das Problem möglicherweise durch Verwenden eines QWORDWerts anstelle eines DWORDWerts behoben werden.

Sollte Windows aufgrund von DST-Änderungen nach einem Update der Uhr fragen, lassen Sie es. Die Uhr bleibt wie erwartet in UTC und korrigiert nur die angezeigte Zeit.

Die Hardware-Uhr und die Systemuhrzeit müssen möglicherweise aktualisiert werden, nachdem dieser Wert eingestellt wurde. Wenn Sie Probleme mit dem Zeitversatz haben, installieren Sie tzdata erneut und stellen Sie Ihre Zeitzone erneut ein:

# timedatectl set-timezone America/Los_Angeles

Ich hatte dieses Problem tatsächlich auf meinem eigenen Windows-Computer, habe es aber bisher nur ignoriert. Ich werde jedoch sehen, ob diese Methode funktioniert, und meine Ergebnisse mitteilen.
Alexej Magura

1
Für mich geht das. Danke vielmals! Auf diese Weise muss ich nicht jede Linux-Installation ändern, die sich auf meinem PC befindet.
Lokesh

0

Ändere (als root) die /etc/timeadjVariable von UTCbis LOCAL.

Dies hat das Problem gelöst, ohne auf der Windows-Seite mit regedit herumspielen zu müssen.


0

Führen Sie einen dieser beiden Befehle aus, die Ihrer Ortszeit entsprechen

timedatectl set-local-rtc 1 --adjust-system-clock

'oder'

timedatectl set-local-rtc 0 --adjust-system-clock
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.