Wenn Ihr System sowohl Windows als auch Linux bootet, stellen Sie möglicherweise fest, dass es unmöglich ist, die Systemuhren zu synchronisieren. Unabhängig davon, wie Sie die Uhr in einem Betriebssystem ändern, wird das Problem mit dem anderen Betriebssystem nicht behoben. Dies liegt an einer Meinungsverschiedenheit über die Zeitmessung zwischen Windows- und Unix-basierten Betriebssystemen. Glücklicherweise gibt es dafür eine relativ einfache Lösung.

Warum passiert das?

Ihr Computer speichert die aktuelle Uhrzeit in einer Uhr auf Ihrem Motherboard. Auf diese Weise kann der Computer auch im ausgeschalteten Zustand die Zeit verfolgen. Zur Berücksichtigung von Zeitzonen verwenden unterschiedliche Betriebssysteme unterschiedliche Methoden. Windows geht davon aus, dass die Ortszeit auf dem Motherboard gespeichert ist, so dass es keinen Zeitzonen-Offset gibt. Linux dagegen interpretiert die Zeit auf dem Motherboard als UTC (aka Greenwich Mean Time) und wendet einen Zeitzonen-Offset an, um die lokale Zeit anzuzeigen.

Beide Systeme funktionieren vollkommen unabhängig voneinander. Das Problem tritt auf, wenn Sie ein System booten, das Windows und Linux auf demselben Motherboard ausführt. Wenn die Betriebssysteme gezwungen sind, einen Zeitspeicher gemeinsam zu nutzen, werden die Uhren nicht synchronisiert.

Es gibt zwei verschiedene Möglichkeiten, wie wir dieses Problem beheben können: Wir können ändern, wie Linux die gespeicherte Zeit interpretiert oder das gleiche für Windows tut.

Möglichkeit 1: Linux lokale Zeit verwenden

Der zuverlässigste Weg, um Linux und Windows zu vereinbaren, ist die Änderung der Zeitmessmethodik von Linux. Obwohl dies nicht explizit unterstützt wird, ist es etwas zuverlässiger als in Windows. Es funktioniert auf jeder Art von Linux mit systemd, einschließlich Ubuntu, Fedora, Red Hat, Debian und Mint. Das Ändern der Windows-Zeit funktioniert in der Regel auch, aber es kann manchmal zu Instabilitäten in Software von Drittanbietern führen, die erwartet, dass die gespeicherte Zeit Ortszeit ist.

1. Öffnen Sie Terminal und führen Sie den folgenden Befehl aus:

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

Dadurch wird das System angewiesen, die gespeicherte Uhrzeit Ihres Motherboards als lokale Zeit zu interpretieren. Linux verwendet keine Zeitzonenanpassungen für die auf dem Motherboard gespeicherte Zeit. Als Ergebnis werden Ihre Uhren synchronisiert.

Wenn Sie den Befehl jemals umkehren müssen, ändern Sie die 1 in eine 0:

 timedatectl set-local-rtc 0 - Adjust-System-Uhr 

Option 2: Stellen Sie Windows UTC verwenden

Sie können auch ändern, wie Windows die Systemzeit anzeigt. Diese Optimierung führt dazu, dass Windows die auf dem Motherboard gespeicherte Zeit als UTC interpretiert, was Linux dann als die richtige Zeitzone interpretieren kann. Während dies im Allgemeinen gut funktioniert, verlassen sich einige Anwendungen darauf, dass die Uhrzeit auf dem Motherboard Ortszeit ist. Infolgedessen können manchmal schwer zu verfolgende Fehler auftreten. Das macht diese Option etwas weniger wünschenswert als die erste.

1. Deaktivieren Sie "Zeit automatisch einstellen" unter "Zeit & Sprache" in der Anwendung Einstellungen. Dadurch wird verhindert, dass Windows die Änderungen rückgängig macht, die wir gerade vornehmen.

2. Öffnen Sie den Registrierungseditor, indem Sie regedit im Startmenü eingeben.

3. Suchen Sie den folgenden Registrierungsschlüssel in dem linken Bereich des Registrierungseditors. Um schnell dorthin zu gelangen, fügen Sie den Speicherort in die Adressleiste des Registrierungseditors ein:

 HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ TimeZoneInformation 

4. Klicken Sie mit der rechten Maustaste auf den "TimeZoneInformation" Schlüssel im linken Bereich und wählen Sie "Neu -> DWORD (32-Bit) Wert" aus dem Kontextmenü.

5. Benennen Sie Ihren neuen Wert "RealTimeIsUniversal".

6. Doppelklicken Sie auf den Wert, den Sie gerade erstellt haben, setzen Sie den Wert auf "1" und klicken Sie auf "OK".

Fazit

Der sicherste Weg, Ihre Systemuhren auf einem Dual-Boot-System zu synchronisieren, besteht darin, die Art und Weise, wie Linux die Zeit interpretiert, anzupassen. Wenn dies nicht für Sie funktioniert (oder wenn Sie macOS anstelle von Linux verwenden), können Sie auch die Windows-Registrierung bearbeiten, um die Art und Weise zu ändern, wie Windows die Zeit auf dem Motherboard versteht.