Als uw systeem dual zowel Windows als Linux opstart, merkt u misschien dat het onmogelijk is om de systeemklokken te laten synchroniseren. Ongeacht hoe je de klok in een OS verandert, het lost het probleem met het andere OS niet op. Dit komt door een verschil van mening over de methodologie voor het bijhouden van de tijd tussen Windows en Unix-gebaseerde besturingssystemen. Gelukkig is daar een relatief gemakkelijke oplossing voor.

Waarom gebeurt dit?

Uw computer slaat de huidige tijd op in een klok op uw moederbord. Hierdoor kan de computer de tijd bijhouden, zelfs als deze is uitgeschakeld. Om rekening te houden met tijdzones, gebruiken verschillende besturingssystemen verschillende methoden. Windows gaat ervan uit dat de lokale tijd is opgeslagen op het moederbord, dus het past geen tijdzone-offset toe. Linux daarentegen zal de tijd op het moederbord interpreteren als UTC (ook bekend als Greenwich Mean Time) en een tijdzoneverschuiving toepassen om de lokale tijd weer te geven.

Beide systemen werken prima onafhankelijk van elkaar. Het probleem doet zich voor wanneer u een systeem dubbel opstart en Windows en Linux op hetzelfde moederbord uitvoert. Wanneer de besturingssystemen gedwongen worden om een ​​tijdopslag te delen, zullen de klokken niet synchroniseren.

Er zijn twee verschillende manieren om dit probleem op te lossen: we kunnen veranderen hoe Linux de opgeslagen tijd interpreteert of hetzelfde doet met Windows.

Optie 1: Linux lokale tijd laten gebruiken

De meest betrouwbare manier om Linux en Windows het eens te laten worden over de tijd, is om de tijdwaarnemingsmethodologie van Linux te veranderen. Hoewel dit niet expliciet wordt ondersteund, is het iets betrouwbaarder dan hetzelfde te doen in Windows. Het werkt op elke smaak van Linux met behulp van systemd, waaronder Ubuntu, Fedora, Red Hat, Debian en Mint. Het wijzigen van de Windows-tijd werkt meestal ook goed, maar het kan soms leiden tot instabiliteiten in software van derden die verwacht dat de opgeslagen tijd lokale tijd is.

1. Open Terminal en voer de volgende opdracht uit:

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

Dit zal het systeem vertellen om de opgeslagen tijd van uw moederbord als lokale tijd te interpreteren. Linux past niet langer tijdzone-aanpassingen toe op de tijd die op het moederbord is opgeslagen. Als gevolg hiervan zullen uw klokken worden gesynchroniseerd.

Als u ooit de opdracht moet omkeren, wijzigt u de 1 in een 0:

 timedatectl set-local-rtc 0 --just-system-clock 

Optie 2: laat Windows UTC gebruiken

U kunt ook de manier wijzigen waarop Windows de systeemtijd bekijkt. Deze aanpassing zorgt ervoor dat Windows de tijd die op het moederbord is opgeslagen interpreteert als UTC, die Linux vervolgens als de juiste tijdzone kan interpreteren. Hoewel dit over het algemeen goed werkt, zijn sommige toepassingen afhankelijk van de lokale tijd op het moederbord. Dientengevolge kunnen soms moeilijk te volgen bugs verschijnen. Dat maakt deze optie iets minder wenselijk dan de eerste.

1. Schakel "Tijd automatisch instellen" onder "Tijd & taal" in de toepassing Instellingen uit. Hiermee voorkomt u dat Windows de wijzigingen ongedaan maakt die we gaan maken.

2. Open Register-editor door regedit in het menu Start te typen.

3. Zoek de volgende registersleutel in het linkerdeelvenster van de registereditor. Om snel daar te komen, plakt u de locatie in de adresbalk van de registereditor:

 HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ TimeZoneInformation 

4. Klik met de rechtermuisknop op de toets "TimeZoneInformation" in het linkerdeelvenster en kies "Nieuw -> DWORD (32-bits) waarde" in het contextmenu.

5. Geef uw nieuwe waarde de naam 'RealTimeIsUniversal'.

6. Dubbelklik op de waarde die u zojuist hebt gemaakt, stel de waarde in op "1" en klik op "OK".

Conclusie

De veiligste manier om uw systeemklokken op een dual-booting-systeem te synchroniseren, is om aan te passen hoe Linux tijd interpreteert. Als dat niet voor u werkt (of als u macOS gebruikt in plaats van Linux), kunt u ook het Windows-register bewerken om de manier te veranderen waarop Windows de moederbordtijd begrijpt.