Dual-Boot : Comment corriger la différence d’heure entre Windows et Linux

Si vous installez sur votre ordinateur un Dual-Boot Windows/Linux et vous allez constater une différence d’horloge lorsque vous passez d’un OS à l’autre.


Pourquoi une différence d’heure entre Windows et Linux en cas de Dual-Boot ?

Un ordinateur sauvegarde l’heure affichée sur sa carte mère. Ainsi, grâce à la pile électrique de cette dernière, l’heure est maintenue à jour, même PC éteint. Et lorsque l’on rallume son ordinateur, le système récupère cette heure et ainsi il affiche toujours la bonne l’heure.

Enfin presque… Car tous les systèmes d’exploitation ne gèrent pas leur horloge de la même manière.

Windows, par défaut, se base pour son horloge sur l’heure locale et il la sauvegarde ainsi sur la carte mère. Alors que Linux, par défaut, se base sur le temps universel coordonné (UTC) auquel il ajoute, pour l’afficher, un offset dépendant de l’endroit ou l’on se trouve. Par exemple, en France, l’heure affichée correspond à UTC+1 h en hiver et à UTC+2 h en été. Et c’est l’heure UTC qu’il sauvegarde sur la carte mère.

D’où, une différence d’heure quand on passe de l’un à l’autre sur la même machine.

Mais, il est possible de corriger cela en changeant dans l’un des deux systèmes la manière de gérer son horloge.

Faire la correction dans Windows

Pour corriger cette différence dans Windows, il faut lui indiquer de travailler en UTC en non en temps local.

Pour cela, ouvrez l’éditeur de la base de registre Regedit en faisant Win + R puis en entrant la commande regedit, dans la fenêtre Exécuter.

Lancement regedit via Exécuter

En suite, allez dans HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation. Puis faites un clic droit avec votre souris dans la fenêtre et créez une clé DWORD 32bits appelée RealTimeIsUniversal.

Correction dans Windows de la différence heure entre Windows et Linux
Correction avec Regedit de la différence heure entre Windows et Linux : ajout Clé DWORD 32 bits RealTimeIsUniversal

Alors, modifiez sa valeur en double cliquant dessus pour la mettre à 1.

Différence heure entre Windows et Linux : Passer Windows en UTC

Et redémarrez votre ordinateur.

Pour revenir à l’heure locale, remettez la valeur à 0.

Faire la correction dans Linux

Pour corriger cette différence dans Linux, il faut lui indiquer de travailler en heure locale en non en UTC.

Pour cela, ouvrez une fenêtre de terminal et entrez la commande suivante :

timedatectl set-local-rtc 1 --adjust-system-clock
Différence heure entre Windows et Linux : Passer Linux en heure locale
Commande pour passer Linux en heure locale

Pour revenir en UTC faites :

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

Pour vérifier la configuration du système, faites :

timedatectl

Si le résultat indique RTC in local TZ: no , alors vous êtes en UTC.

Système Linux en UTC
Système Linux en UTC

Ou si vous avez RTC in local TZ: yes, alors vous êtes en local.

Système Linux en heure locale
Système Linux en heure locale

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

6 Commentaires

  1. Merci pour votre tuto très clair.
    Mon PC est en double boot Linux Mint 20 / Windows 10. J’ai opté pour une standardisation de l’horloge de mon PC en UTC et donc pris l’option de régler définitivement le problème sur Windows. Désormais plus de décalage d’horloge lorsque je bascule d’un OS à l’autre. 😉

  2. Bonjour,
    Lorsque je veux corriger dans linux (Ubuntu), pour ajuster en heure locale, j’introduis comme proposé :
    timedatectl set-local-rtc 1 –adjust-system-clock
    j’obtiens le code erreur suivant :
    Invalid number of arguments.

    1. Bonjour,

      L’erreur vient du signe avant adjust-system-clock. Il faut le remplacer par --, soit :

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

      .

      Cordialement