Cette méthode est boguée dans les versions antérieures à 7 de Windows, mais elle résout le problème du côté Windows de l'équation, plutôt que du côté Linux: vous n'avez pas à configurer Linux pour utiliser l'heure locale .
L'une des raisons pour lesquelles les utilisateurs définissent souvent le RTC en heure locale est le double démarrage avec Windows (qui utilise l'heure locale).
Cependant, Windows [peut gérer le RTC étant UTC] avec un correctif de registre simple. Il est recommandé de configurer Windows pour utiliser UTC, plutôt que Linux pour utiliser l'heure locale.
À l'aide de regedit
, ajoutez une DWORD
valeur avec une valeur hexadécimale 1
au registre:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal
Vous pouvez le faire à partir d'une invite de commandes administrateur en cours d'exécution:
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
Sinon, créez un fichier * .reg (sur le bureau) avec le contenu suivant et double-cliquez dessus pour l'importer dans le registre:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001
Si ce qui précède semble n'avoir aucun effet et qu'une variante 64 bits de Windows est utilisée, l'utilisation d'une
QWORD
valeur au lieu d'une DWORD
valeur peut résoudre le problème.
Si Windows demande de mettre à jour l'horloge en raison de changements d'heure d'été, laissez-le. Il laissera l'horloge en UTC comme prévu, ne corrigeant que l'heure affichée.
Il peut être nécessaire de mettre à jour l'horloge matérielle et l'heure du système après avoir défini cette valeur. Si vous rencontrez des problèmes avec le décalage de l'heure, essayez de réinstaller tzdata, puis définissez à nouveau votre fuseau horaire:
# timedatectl set-timezone America/Los_Angeles