L'heure est décalée
Symptômes
Ce problème apparaît pour des cas de dual-boots.
Lorsque l'on démarre sur Windows, puis qu'on repasse sur Linux (ou inversement), on voit que l'heure affichée n'est pas la bonne : elle est décalée d'une ou de deux heures.
Cause
Il est important de faire la différence entre, d'un côté, l'heure machine et, de l'autre, l'heure système.
L'heure machine est déterminée à partir d'une horloge physique présente sur votre carte mère. Si vous avez eu l'occasion d'en voir une, vous avez pu probablement y apercevoir une pile plate à sa surface ; son utilité est de maintenir l'horloge même lorsque le PC est hors tension.
L'heure système est une heure déterminée et gérée par le système d'exploitation. Il s'agit d'un offset de l'heure machine en fonction des paramètres de localisation spécifiés.
C'est là que viens l'origine du problème.
Par convention, Windows considère que l'heure matérielle représente l'heure locale en soit l'heure affichée sur bureau À l'inverse, la plupart des distributions GNU/Linux considère que l'heure matérielle correspond à l'heure UTC.
Or, sur le fuseau horaire Europe/Paris, on est en UTC+1 ou UTC+2 en fonction de si l'on est en heure d'hiver ou d'été.
Résolution
Info
L'idée est globalement de mettre en accord Windows et votre distribution Linux. A noter que le plus simple est de modifier le comportement de Linux.
Warning
La modification est à faire soit sur Windows, soit sur Linux mais pas les 2 !
Modification du comportement de Linux
- Ouvrir un terminal.
- Tapez la commande
timedatectl set-local-rtc 1. - Redémarrez le système.
Modification du comportement de Windows
Warning
La résolution nécessite l'édition du registre : cette opération n'est pas sans risque !
- Dans le menu Démarrer, chercher
regeditet ouvrez ledit programme (des droits administrateurs sont nécessaires). - Naviguez dans
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation.
Pour une installation Windows 64-bits
- Créez un nouveau
QWORDappeléeRealTimeIsUniversal. - Mettez-le à
1. - Redémarrez le système.
Pour une installation Windows 32-bits
Warning
Il est probable que vous vous soyez tromper de section !
En effet, les installations Windows 32-bits sont devenues extrèmement rares de nos jours. Veillez donc à ne pas vous être trompé.
- Créez un nouveau
DWORDappeléeRealTimeIsUniversal(et non pas unQWORDcomme précédemment). - Mettez-le à
1. - Redémarrez le système.
Sources
Cette page s'appuie sur l'utilisation des resources suivantes : - La page suivante du Gentoo Wiki que vous pouvez retrouver ici. - Ce post sur Unix & Linux Stack Exchange.