Frage Die Uhrzeit ist beim Dual-Boot deaktiviert


Dual-Boot-System Windows XP Pro und Ubuntu 12.04.

Ich habe das Bios für die richtige Zeit und Ubuntu für US Eastern Zeit festgelegt. Ubuntu wird hochgefahren und die Zeit wird um -4 Stunden unterbrochen. Wenn ich die Zeit in Ubuntu korrigiere, dann wenn ich in Windows XP starte, wird die Zeit um + 4 Stunden ausfallen.

Dies ist eine Neuinstallation von 12.04. Ich hatte dieses Problem nicht, bevor ich Ubuntu neu installierte.


274
2017-07-28 17:48


Ursprung




Antworten:


https://help.ubuntu.com/community/UbuntuTime#Multiple_Boot_Systems_Time_Conflicts

Mehrere Boot-Systeme Zeitkonflikte

Betriebssysteme speichern und abrufen die Zeit in der Hardware-Uhr   auf Ihrem Motherboard, so dass es die Zeit sogar verfolgen kann   wenn das System keine Stromversorgung hat. Die meisten Betriebssysteme   (Linux / Unix / Mac) speichern Sie die Uhrzeit auf der Hardware-Uhr als koordinierte Weltzeit durch   Standard, obwohl einige Systeme (insbesondere Microsoft Windows) die   Zeit auf der Hardwareuhr als die "lokale" Zeit. Dies verursacht Probleme   in einem Dual-Boot-System, wenn beide Systeme die Hardware-Uhr anzeigen   anders.

Der Vorteil, die Hardware-Uhr als UTC zu haben, liegt darin, dass Sie dies nicht tun   müssen die Hardwareuhr ändern, wenn Sie zwischen den Zeitzonen oder wechseln   wenn die Sommerzeit (DST) beginnt oder endet, wie es die UTC nicht hat   Sommerzeit oder Zeitzone Offsets.

Linux zu ändern, um lokale Zeit zu verwenden, ist einfacher und zuverlässiger als   Ändern von Windows zur Verwendung von UTC, so Dual-Boot-Linux / Windows-Systeme neigen   lokale Zeit verwenden

Seit Intrepid (8.10) ist UTC = yes Standard.

Stellen Sie Windows UTC verwenden

Hinweis: Diese Methode wurde ursprünglich nicht unter Windows Vista und Server 2008 unterstützt, kam jedoch mit Vista SP2, Windows 7, Server 2008 R2 zurück   und Windows 8 / 8.1.

Um MS Windows zu berechnen, berechnen Sie die Zeit von der Hardwareuhr als UTC.

Erstellen Sie eine Datei mit dem Namen WindowsTimeFixUTC.reg mit den folgenden   Inhalt und dann doppelklicken Sie darauf, um den Inhalt mit der   Registrierung:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
     "RealTimeIsUniversal"=dword:00000001

Hinweis: Der Windows-Zeitdienst schreibt immer noch lokale Zeit in die RTC, unabhängig von der oben angegebenen Registrierungseinstellung beim Herunterfahren, also ist es praktisch   um den Windows-Zeitdienst mit diesem Befehl zu deaktivieren (wenn die Zeitsynchronisation ist   weiterhin erforderlich, während in Windows eine Drittanbieter-Zeitsynchronisierung verwendet wird   Lösung):

sc config w32time start= disabled

Die Änderung rückgängig machen
 Sie können eine Datei mit folgendem erstellen   Inhalt und dann doppelklicken Sie darauf, um die ursprünglichen Änderungen zusammenzuführen, als   über:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
     "RealTimeIsUniversal"=-

Wenn der Windows-Zeitdienst deaktiviert wurde, aktivieren Sie ihn erneut mit der Option   Befehl:

sc config w32time start= demand

Lass Linux 'lokale' Zeit verwenden

Um Ihrem Ubuntu-System mitzuteilen, dass die Hardware-Uhr auf "lokal" eingestellt ist   Zeit:

Pre-Ubuntu 15.04-Systeme (z. B. Ubuntu 14.04 LTS):

  1. bearbeiten /etc/default/rcS
  2. Fügen Sie den folgenden Abschnitt hinzu oder ändern Sie ihn

    # Set UTC=yes if your hardware clock is set to UTC (GMT)
    UTC=no
    

Ubuntu 15.04-Systeme und höher (z. B. Ubuntu 16.04 LTS):

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

    timedatectl set-local-rtc 1
    

232
2017-07-28 18:07



Oh Gott. Ich kann nicht glauben Sie waren dumm genug, lokale Zeit auf einer Hardware-Uhr zu verwenden. Warum würdest du das jemals tun? - iono
@twome, weil es in den frühen Tagen von MS-DOS nicht viel zu tun gab, und es war nicht üblich, einen PC so weit zu verschieben, dass er Zeitzonen bewegte. (Und ja, sogar angesichts dieser Geschichte war es immer noch nicht der beste Zug). - Jon Hanna
@twome Obwohl ich stimme mit dir überein Hardware-Uhr bleiben als Universal, da es Zeitzone Informationen nicht hält, gibt es einige Probleme damit: A) BIOS / UEFI haben verschiedene Funktionen wie Auto-Weck- / Sleep-Timer, wo Sie Legen Sie Zeiten für diese Trigger fest. Es wäre komisch, diese Zeiten in UTC zu setzen - zumindest für durchschnittliche Benutzer. B) Wie Jon oben gesagt hat, Rückwärtskompatibilitätsgründe. - Shahriyar Imanov
Führen Sie in Windows PowerShell diesen Befehl aus, um die oben genannte Registrierungseigenschaft zu aktualisieren: New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation -Name RealTimeIsUniversal -PropertyType DWord -Value 00000001 - Anatoly Mironov
Für diejenigen, die den Text überfliegen, müssen Sie nur die Einstellungen in einem der Betriebssysteme ändern, nicht beide. - Alexander Revo


Um die BIOS-Uhr in einer systembasierten Version (15.04 und höher) auf die lokale Uhrzeit anstatt auf UTC zu setzen, müssen Sie die timedatectlBefehl. Gemäß das Arch Wiki:

Sie können den Hardware-Uhrzeitstandard über die Befehlszeile festlegen.   Sie können überprüfen, was Sie für Folgendes festgelegt haben:

$ timedatectl | grep local

Die Hardwareuhr kann abgefragt und mit eingestellt werden timedatectl   Befehl. Verwenden Sie zum Ändern des Hardware-Uhrzeitstandards in Ortszeit:

# timedatectl set-local-rtc 1

Wenn Sie zu der Hardwareuhr in UTC zurückkehren möchten, tun Sie Folgendes:

# timedatectl set-local-rtc 0

59
2018-01-13 03:40



Auf Ubuntu 16.10 half es "hwclock --systohc --localtime". Dies schreibt den "lokalen Teil" nach / etc / adjtime und macht ihn dadurch dauerhaft. - user1050755
@ user1050755 ist das vor, nach oder anstelle des Befehls timedatectl? - nasch


Ihre Zeitzone ist Östlich, die derzeit EDT (Eastern Daylight Time) ist. EDT ist koordinierte Weltzeit minus vier Stunden, das gleiche wie der Offset, den Sie erleben.

Wenn dies auf einem Dual-Boot-System geschieht, ist dies normalerweise der Fall, weil ein Betriebssystem denkt, dass die Hardwareuhr die lokale Zeit verfolgt, während das andere Betriebssystem denkt, dass die Hardwareuhr UTC verfolgt.

In Ihrem Fall ist Ihre Hardware-Uhr wahrscheinlich auf die lokale Zeit eingestellt und:

  • Windows ist so eingestellt, dass die lokale Zeit verwendet wird, die (in Anbetracht Ihrer Zeiteinstellungen) ist richtig.
  • Ubuntu ist auf UTC eingestellt, was (unter Berücksichtigung Ihrer Zeiteinstellungen) ist falsch.

Wenn Sie nur die Zeit im Ubuntu-System zurücksetzen möchten, entweder manuell oder automatischIn Windows wäre es dann falsch, also ist das keine gute Lösung.

Stattdessen ist die beste Lösung wahrscheinlich Konfigurieren Sie Ubuntu neu, um die Hardware-Uhrzeit als lokale Zeit zu behandeln (Dann können Sie Ihre Windows-Konfiguration und Ihre Hardware-Uhrzeit alleine lassen).

Bearbeiten Sie dazu /etc/default/rcS als root und stellen Sie sicher, dass es hat UTC=no:

  1. Drücken Sie Alt+F2.

  2. Art gksu gedit /etc/default/rcS und drücke Eingeben.

  3. Sie werden das wahrscheinlich sehen:

    # assume that the BIOS clock is set to UTC time (recommended)
    UTC=yes
    
    • Wenn Sie das tun, ändern Sie UTC=yes zu UTC=no. (Vielleicht möchten Sie auch einen Kommentar hinzufügen, indem Sie ihn in etwas ändern UTC=no # changed to accommodate Windows system. Alles in einer Zeile nach einem # character ist ein Kommentar und dient nur dazu, deine Einstellungen lesbarer zu machen.)
    • Wenn Sie nicht, suchen Sie nach irgendwelchen UTC= Linie. Wenn es unkommentiert ist (d. H. Keine a # am Anfang), ändern Sie es entsprechend. Wenn es kommentiert ist, entfernen Sie das Kommentarzeichen, indem Sie das führende entfernen # und stellen Sie sicher, dass es heißt UTC=no.
  4. Speichern Sie die Datei und beenden Sie den Texteditor.

  5. Starten Sie neu, um die Änderungen zu übernehmen, und überprüfen Sie, ob die Uhrzeit jetzt auf beiden Betriebssystemen ordnungsgemäß funktioniert.

Quelle:  https://help.ubuntu.com/community/UbuntuTime#Make_Linux_use_.27Local.27_time 

(Aber das ist sehr allgemein; ich habe diese Antwort speziell für Ihre Situation geschrieben, was ein etwas allgemeines Problem ist.)


32
2017-07-28 18:16



Beachten Sie, dass dies auch auftreten kann, wenn Sie von einem Ubuntu-Release auf das nächste upgraden, wie es bei mir der Fall war. Ich kann empfehlen, den obigen Fix auszuführen und dann die Uhr wie in dieser Antwort auch manuell zu synchronisieren (Anpassung an Systemd): askubuntu.com/a/254846/139735 - starbeamrainbowlabs
Dies sollte die akzeptierte Antwort sein. Ich hatte Windows installiert und lief gut, dann installierte ich Ubuntu und die Uhren gingen drunter und drüber - ich kann keinen Grund sehen, warum ich Windows-Einstellungen ändern sollte, wenn es eindeutig die Ergänzung von Linux war, die meine Konfiguration kaputt machte. - Przemek D


Der / etc / rcS-Fix funktionierte nicht auf meiner Win7 / Ubuntu 14.04x64-Installation, noch wurden Korrekturen über die Uhr-GUI vorgenommen. Da der Grund des Problems BIOS-Zeit VS UTC-Zeit ist, und Windows ist ein Schmerz in den Hintern, wenn es um UTC kommt, wählte ich nur einen Punkt auf der Karte, die UTC + 0 verwendet (keine Änderung zwischen BIOS und UTC-Zeit) .

Versuchen Sie, Ihren Standort nach Reykjavik (der Hauptstadt von Island) zu ändern. Voila! Ihre Ubuntu-Zeit ändert sich entsprechend Ihrer BIOS-Zeit.


12
2017-07-03 17:49



Haha! Genial. : D Ich interessiere mich wirklich nicht für meinen Standort. Das war zwei Sekunden lang behoben. Danke vielmals. - Pale Blue Dot