Si vous dual boot Windows et Ubuntu ou toute autre distribution Linux, vous avez peut-être remarqué un décalage horaire entre les deux systèmes d'exploitation.
Lorsque vous utiliser Linux, il montre l'heure correcte. Mais quand vous démarrez Windows, il montre le mauvais moment. Parfois, c'est le contraire et Linux affiche le mauvais moment et Windows a l'heure correcte.
C'est étrange, surtout parce que vous êtes connecté à Internet et que votre date et heure sont définies pour être utilisées automatiquement.
Ne t'inquiète pas! Vous n'êtes pas le seul à faire face à ce problème. Vous pouvez le réparer en utilisant la commande suivante dans le terminal Linux:
timedatectl set-local-rtc 1
Encore une fois, ne vous inquiétez pas. J'expliquerai en détail comment la commande ci-dessus résout le problème de temps incorrect dans Windows après le double démarrage. Mais avant cela, laissez-moi vous expliquer pourquoi vous rencontrez un décalage horaire dans une configuration à double démarrage.
Pourquoi Windows et Linux montrent un temps différent en double démarrage?
Un ordinateur possède deux horloges principales: une horloge système et une horloge matérielle.
Une horloge matérielle également appelée RTC (horloge temps réel) ou horloge CMOS / BIOS. Cette horloge est en dehors du système d'exploitation, sur la carte mère de votre ordinateur. Il continue de fonctionner même après la mise hors tension de votre système.
L'horloge système est ce que vous voyez à l'intérieur de votre système d'exploitation.
Lorsque votre ordinateur est sous tension, l'horloge matérielle est lue et utilisée pour régler l'horloge système. Ensuite, l'horloge système est utilisée pour le suivi de l'heure. Si votre système d'exploitation apporte des modifications à l'horloge système, comme le changement de fuseau horaire, etc., il essaie de synchroniser ces informations avec l'horloge matérielle.
Par défaut, Linux suppose que l'heure stockée dans l'horloge matérielle est en UTC et non en heure locale. D'autre part, Windows pense que l'heure stockée sur l'horloge matérielle est l'heure locale. C'est là que le problème commence.
Laissez-moi vous expliquer avec des exemples.
Vous voyez que je suis dans le fuseau horaire de Kolkata qui est UTC + 5: 30. Après l'installation, lorsque je règle le fuseau horaire dans Ubuntu au fuseau horaire de Kolkata, Ubuntu synchronise ces informations horaires avec l'horloge matérielle mais avec un décalage de 5h30 car l'horloge matérielle (RTC) doit être en UTC pour Linux.
Disons que l'heure actuelle dans le fuseau horaire de Calcutta est 15:00, ce qui signifie que l'heure UTC est 09:30.
Maintenant, quand j'éteins le système et démarre dans Windows, l'horloge matérielle a l'heure UTC (09:30 dans cet exemple). Mais Windows pense que l'horloge matérielle a stocké l'heure locale. Et ainsi, il change l'horloge système (qui aurait dû indiquer 15:00) pour utiliser l'heure UTC (09:30) comme heure locale. Et donc, Windows affiche 09:30 comme l'heure qui est 5:30 heures derrière l'heure réelle (15:00 dans cet exemple).

Encore une fois, si je règle l'heure correcte Windows en basculant le fuseau horaire automatique et les boutons d'heure, vous savez ce qui va se passer? Maintenant, il affichera l'heure correcte sur le système (15h00) et synchronisera ces informations (notez l'option «Synchronisez votre horloge» dans l'image) avec l'horloge matérielle.
Si vous démarrez sous Linux, il lit l'heure à partir de l'horloge matérielle qui est en heure locale (15:00) mais comme Linux pense qu'il s'agit de l'heure UTC, il ajoute un décalage de 5:30 à l'horloge système. Maintenant, Linux affiche une heure de 20h30, soit 5h30 d'avance sur l'heure réelle.
Maintenant que vous comprenez la cause première des problèmes de décalage horaire dans le double démarrage, il est temps de voir comment résoudre le problème.
Fixation Windows Affichage de l'heure incorrecte dans une configuration à double démarrage avec Linux
Vous pouvez gérer ce problème de deux manières:
- Marque Windows utiliser l'heure UTC pour l'horloge matérielle
- Faire en sorte que Linux utilise l'heure locale pour l'horloge matérielle
Il est plus facile d'apporter les modifications sous Linux et je vous recommande donc d'utiliser la deuxième méthode.
Ubuntu et la plupart des autres distributions Linux utilisent systemd ces jours-ci et vous pouvez donc utiliser la commande timedatectl pour modifier les paramètres.
Ce que vous faites est de dire à votre système Linux d'utiliser l'heure locale pour l'horloge matérielle (RTC). Vous faites cela avec le set-local-rtc
(régler l'heure locale pour RTC) option:
timedatectl set-local-rtc 1
Comme vous pouvez le constater dans l'image ci-dessous, le RTC utilise désormais l'heure locale.

Maintenant, si vous démarrez Windows, il faut que l'horloge matérielle soit à l'heure locale, ce qui est réellement correct cette fois. Lorsque vous démarrez sous Linux, votre système Linux sait que l'horloge matérielle utilise l'heure locale et non UTC. Et par conséquent, il n'essaye pas d'ajouter le décalage cette fois.
Cela résout le problème de décalage horaire entre Linux et Windows en double démarrage.
Vous voyez un avertissement indiquant que l'heure locale n'est pas utilisée pour RTC. Pour les configurations de bureau, cela ne devrait causer aucun problème. Au moins, je ne peux pas penser à un seul.
J'espère avoir clarifié les choses pour vous. Si vous avez encore des questions, veuillez laisser un commentaire ci-dessous.