Anzeige

Am Puls von Microsoft

Anzeige

[gelöst] Uhrzeit beim Systemstart syncronisieren

Status
Dieses Thema wurde gelöst! Lösung ansehen…

laurent56

Herzlich willkommen
Hallo

Weil sich die Uhrzeit um zwei Stunden in Win 11 beim vorigen Start von Linux um zwei Stunden verstellt wollte ich das Syncronisieren der Uhrzeit beim Systemstart einstellen.

Also in die Aufgabenplanung und bei Aufgabenplanung (Local) SynchronizeTime den Trigger auf Systemstart gestellt.Aber beim Start von Win 11 tut sich nichts. die Uhrzeit bleibt 2 Stunden in der Vergangenheit. Wenn ich unter Zeit und Sprache > Datum und Zeit > Zusätzliche Einstellungen Jetzt Syncronisieren drücke wird die Uhrzeit richtig eingestellt.

Was ist in der Aufgabenplanung falsch eingestellt?

1722517318672.png





1722517433408.png





1722517377888.png
 
Anzeige
Warum macht Ihr es Euch so schwer???
Zweierlei Möglichkeiten habe ich anzubieten.

Pack Das hier in eine TXT-Datei rein und benenne die Datei in PTB-Synch.reg um
Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time]
"Start"=dword:00000002

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters]

"NtpServer"="ptbtime1.ptb.de,0x9"
"ServiceDll"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,00,6f,\
  00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,\
  77,00,33,00,32,00,74,00,69,00,6d,00,65,00,2e,00,64,00,6c,00,6c,00,00,00
"ServiceDllUnloadOnStop"=dword:00000001
"ServiceMain"="SvchostEntry_W32Time"
"Type"="NTP"
"LocalNTP"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers]
@="0"
"0"="ptbtime1.ptb.de"
"1"="ptbtime2.ptb.de"
"2"="ptbtime3.ptb.de"

Klar... man braucht Administrative Rechte um die Dateien auszuführen!

Oder das hier in eine Batch-Datei und diese dann in die Aufgabenplanung.
Die Batch-Datei lässt sich auch in eine EXE-Datei umwandeln und dann in die Aufgabenplanung
beim Anmelden eines Benutzers integrieren.
Code:
w32TM /config /syncfromflags:manual /manualpeerlist:"ptbtime1.ptb.de,0x9".
w32tm /config /update
w32tm /resync
exit

Um aber auch hier den Forenregeln genüge zu tun, extra eine Warnung:

Eine Veränderung der Registry kann das Betriebssystem unbrauchbar machen!!!

Siehe auch die TXT-Dateien im Anhang:
Ich bevorzuge die Uhrzeit-Synchronisation mit der PTB: Physikalisch Technischen Bundes-Anstalt in Braunschweig.
Im Windows Teil Deines Computers würde ich das so (per Registry Eintrag) machen!
Wenn Windows keine Internetverbindung hat, dann ist das auch nicht tragisch...
Es erscheint nur eine Meldung im Ereignisprotokoll (System-Abschnitt) !
 

Anhänge

  • Uhrzeit_per_Batch.txt
    120 Bytes · Aufrufe: 68
  • Uhrzeitsynch_enable_full_per Registry-Eintrag.txt
    1,6 KB · Aufrufe: 54
Zuletzt bearbeitet:
Hallo, schaue dort mal !

Auch da wird wieder nur das Synchronisieren der Uhrzeit beschrieben. Die Uhrzeit ist aber gar nicht falsch!
Das, was MSFreak oben beschrieb, ist die sinnvolle Lösung.

Linux erwartet standardmäßig, dass die Systemuhr auf UTC läuft.
Windows erwartet standardmäßig, dass die Systemuhr auf lokaler Zeit läuft.

Macht man Dual-Boot, muss man eines der beiden Systeme umkonfigurieren, so dass beide Systeme die Systemzeit entweder auf UTC oder auf lokaler Zeit erwarten. Sinnvollerweise ändert man es bei Windows.
 
Seltsam. Oben schriebst du doch, dass du den von dir genannten Tipp schon vor langer Zeit umgesetzt hättest?
Jetzt stimmt man dir zu und fasst zusammen, was in dem von dir genannten Thread geschrieben wird und dann ist es plötzlich falsch?

Bei absolut jedem System hier sehe ich im BIOS die gleiche Uhrzeit wie in Windows. Die Hardware-Uhr läuft somit auf lokaler Zeit und nicht auf UTC. Genau deswegen gib es ja die Artikel, die erklären, wie man das bei einem Linux Dual-Boot umsteillt.
 
Seltsam. Oben schriebst du doch, dass du den von dir genannten Tipp schon vor langer Zeit umgesetzt hättest?
... das ist vor über 10 Jahren geschehen, vielleicht hatte man damals für Windows die lokale Zeit genommen, warum auch immer, ist jetzt aber nicht mehr nachvollziehbar. Fakt ist, dass beide OS die gleichen Zeiteinstellungen haben müssen, UTC oder lokale Zeit.
 
Ja, und standardmäßig haben sie sie nicht. Darauf wollte ich hinaus. Das hat sich seit vielen Jahren nicht geändert.
 
@MSFreak
Er (Laurent56)
sucht ja auch nicht nur nach einer Dual-Boot Lösung für Windows und Linux zur Uhrzeitsynchronisation, sondern
er hatte in seinem ersten Beitrag die Aufgabenplanung von Windows skizziert.
So....

Das kann man darüber auch machen und z. B. eine xml Datei in die Aufgabenplanung importieren.
Die Datei müsste dann in etwa so aussehen: Pfade und Namen der auszuführenden Datei müssen angepasst werden.

Code:
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2023-05-06T00:00:00</Date>
    <Author>USER</Author>
    <URI>\Time_Synch</URI>
  </RegistrationInfo>
  <Triggers>
    <LogonTrigger>
      <Enabled>true</Enabled>
    </LogonTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>S-1-5-18</UserId>
      <RunLevel>HighestAvailable</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>false</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT0S</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>Time_synch.bat</Command>
      <WorkingDirectory>Pfad_zur_Batch_Datei</WorkingDirectory>
    </Exec>
  </Actions>
</Task>

Oder man macht es, wie von mir in Beitrag #3 beschrieben über die Registry.
Und das ist keine Hexerei und schon gar keine Registryfummelei, das ist simpel ausgedrückt FACHWISSEN.
Damit das ein für alle Mal geklärt ist!
Die Datei Time_Synch.txt umbenennen in Time_Synch.xml und den Inhalt im Bereich
Verzeichnis und Dateinamen anpassen und feddisch ist die Laube...
 

Anhänge

  • Time_Synch.txt
    2,9 KB · Aufrufe: 53
Zuletzt bearbeitet:

Keine Ahnung, was mir die Screenshots zeigen sollen. Das ist die normale Einstellung für Uhrzeit und Zeitzone.
Die Hardware-Uhr siehst du in Windows nicht einzeln.

Windows liest beim Start die Hardware-Uhr aus und schreibt beim Beenden seine Uhrzeit in die Hardware-Uhr. Windows geht davon aus, dass die Hardware-Uhr mit der aktuellen Zeit läuft und solange sich der Standort nicht ändert, wird somit auch nichts an der Hardware-Uhr geändert. Damit läuft die Hardware-Uhr immer mit der aktuellen Zeit der jeweils eingestellten Zeitzone.
Starte den PC neu, geh ins BIOS-Setup, schau auf die Uhrzeit und sie zeigt die aktuelle Zeit.

Linux liest beim Start die Hardware-Uhr aus und geht davon aus, dass diese immer auf UTC läuft. Es rechnet dann die Zeit für die aktuelle Zeitzone aus und zeigt dir diese an. Beim Beenden rechnet es dann wieder davon auf die UTC-Zeit zurück und schreibt diese in die Hardware-Uhr.
Starte den PC neu, geh ins BIOS-Setup, schau auf die Uhrzeit und sie zeigt die UTC-Zeit.

Das ist ein seit Jahren bekanntes, hundertfach dokumentiertes, unterschiedliches Verhalten der beiden Systeme. Der Link, den du oben genannt hattest, ist eine dieser Stellen. Dort wird beschrieben, dass man sinnvollerweise Windows umstellt, wenn man Dual-Boot mit Linux nutzt, da sich sonst beide Systeme um die Uhrzeit behakeln. Dann erwartet auch Windows, dass die Hardware-Uhr immer mit UTC läuft und die Zeit der Hardware-Uhr muss nicht bei jedem Wechsel zwischen Windows und Linux angepasst werden.

Das hat der von dir gepostete Artikel beschrieben. Keine Ahnung, warum du erst den Artikel mit der Lösung postest und dann plötzlich dagegen argumentierst, wenn man dir zustimmt. ;)
 
Ich habe die reg Datei installiert.Wurde korrekt in den Registrier Editor übernommen.Aber das Problem hat es nicht gelöst.Während Linux nach wenigen Sekunden die aktuelle Uhrzeit richt syncronisiert.Tut sich beim booten von Windows nichts.Erst das manuelle syncronisieren bringt die richtige Uhrzeit.
 
Aber das Problem hat es nicht gelöst.

Dann hast du offenbar nicht den richtigen Tipp von MSFreak umgesetzt. Ansonsten müsste da jetzt nichts mehr neu synchronisiert werden.

Setze bitte folgenden Registry-Key:

Code:
Windows Registry Editor Version 5.00

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

Alternativ führe als Admin in einer Windows-Eingabeaufforderung folgenden Befehl aus:

Code:
reg.exe add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1 /f

Die ganze Geschichte ist hier ausführlich beschrieben:
 
Status
Dieses Thema wurde gelöst! Lösung ansehen…
Anzeige
Oben