Le cas normal est que les systèmes Linux aient l'horloge RTC (horloge temps réel) réglée sur UTC, et la conversion en heure locale se fait dans l'espace utilisateur basé sur les données de fuseau horaire et la variable d'environnement TZ
. C'est "moins mauvais" car cela garde l'horloge RTC du système augmentant de manière monotone, et applique toute magie de fuseau horaire plus tard, en s'assurant par exemple qu'aucun fichier n'aura normalement de timestamp dans le futur (ce qui peut facilement arriver au moins une fois par an, si l'horloge RTC du système est réglée sur l'heure locale). Comme l'a souligné Ken, l'horloge RTC elle-même n'a aucune notion de fuseau horaire, seulement de temps.
Comme vous l'avez découvert, cela pose des problèmes lorsque vous démarrez en dual-boot avec un système qui n'opère normalement pas de cette manière, comme la famille Microsoft de systèmes d'exploitation qui s'attendent généralement à ce que l'horloge RTC soit réglée sur l'heure locale. Oui, Windows NT (je pense que ça remonte à au moins NT 4, en fait) peut fonctionner avec l'horloge RTC réglée sur UTC, mais du moins la dernière fois que j'ai regardé, ce n'était pas vraiment une configuration prise en charge et il y avait un certain nombre de mises en garde.
La solution facile dans votre cas est probablement de régler l'horloge RTC sur l'heure locale, dire à votre système Linux que l'horloge RTC est réglée sur l'heure locale (la méthode exacte pour faire cela varie en fonction de la distribution et de la version de publication, mais apparemment dans Ubuntu vous réglez UTC=no
dans /etc/default/rcS), et ensuite configurer les systèmes d'exploitation de telle sorte que seul un d'entre eux (de préférence celui que vous utilisez le plus, puisque l'heure affichée dans tous les autres sera incorrecte deux fois par an jusqu'à ce qu'il soit démarré et ait eu l'occasion de corriger cela) gère les changements d'heure d'été. Et accepter les inconvénients, qui devraient être gérables sur un système mono-utilisateur.
Vous pourriez également paramétrer le côté Windows pour utiliser UTC comme fuseau horaire et désactiver les modifications automatiques de l'heure d'été dans Windows, et rester avec Linux réglé pour avoir l'horloge RTC en UTC et afficher l'heure convertie selon ses pratiques. Cependant, cela fera afficher à Windows la date et l'heure en UTC, ce qui pourrait ne pas être ce que vous voulez vraiment. Ce n'est pas un gros problème pour nous, Européens, qui sommes au plus à trois heures de retard par rapport à UTC, mais cela pourrait poser plus de problèmes aux États-Unis. C'est probablement une option plus réaliste si vous n'utilisez Windows que de temps en temps, et que votre OS principal est Linux ou un autre OS prenant en compte RTC-UTC.
0 votes
Correspondant : L'heure de l'horloge est incorrecte en dual boot
1 votes
Question annexe : pourquoi cela ne s'est-il pas produit avec les anciennes versions de Windows et Linux?