Windows vs Linux Local Time?

Depuis que j'ai commencé à utiliser Linux dans le dualboot avec Windows, j'ai remarqué que lorsque j'ai redémarré la machine, le temps sur l'autre système d'exploitation était incorrect, par exemple, il était 12:00 sur Linux, puis j'ai redémarré et Windows était à 18:00 et Lorsque j'ai vérifié le BIOS, le RTC était réglé à 18h00. Comme mon fuseau horaire est de -0: 00 CST, je suppose que Linux définit le temps de RTC en UTC et recalcule l'heure en fonction du fuseau horaire, tandis que Windows définit le RTC à l'heure locale. Les deux utilisent le même serveur NTP pour synchroniser l'heure.

La question est de savoir, quelle est la bonne chose? Sur lequel devrais-je régler le réglage du fuseau horaire à UTC pour avoir le bon moment sur les deux?

Ni l'erreur, mais l'utilisation de l'UTC est plus juste. Le RTC n'a pas de fuseau horaire; C'est juste une horloge murale stupide. Si votre fuseau horaire local honore l'heure d'été (dont il y a beaucoup de saveurs, et que les règles changent arbitrairement), puis deux fois par an, vous devez aller la changer. Le système d'exploitation le fera pour vous, mais si le RTC est UTC, le système d'exploitation fait la traduction locale UTC-> de toute façon – pourquoi jouer de l'horloge? En outre, lors de la transition de l'automne vers l'après-midi, le RTC ne peut pas vous dire à quelle heure il est! Est-ce que c'est 1h30 CDT ou CST?

Apparemment, Windows 8 prend en charge l'UTC pour le RTC. Windows 7 a également fait, mais il y avait des problèmes .

Il y a eu un meilleur argument contre ce retour lorsque les gens ont réglé leurs horloges BIOS manuellement, mais le temps basé sur le serveur est beaucoup plus répandu maintenant.

J'ai récemment fait face au même problème et c'est ainsi que je l'ai réparé. Vous devez faire un petit changement dans les deux systèmes d'exploitation.

J'ai d'abord commencé Linux. Exécutez ces commandes suivantes en tant que root.

ntpdate pool.ntp.org 

Cela mettra à jour votre temps s'il n'est pas défini correctement.

Réglez l'horloge matérielle en UTC avec cette commande.

 hwclock --systohc --utc 

La source

Maintenant lancez-vous sur Windows et ajoutez le registre suivant. Il suffit simplement de créer un fichier .reg en utilisant le code ci-dessous dans le Bloc-notes. Enregistrez-le et exécutez-le.

 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation] "RealTimeIsUniversal"=dword:00000001 

La source

À partir du prochain démarrage, l'OS vous montrera l'heure correcte.

Le cas habituel est que les systèmes Linux ont le RTC (horloge temps réel) réglé sur UTC et la conversion en temps local est effectuée dans l'espace utilisateur en fonction des données du fuseau horaire et de la variable d'environnement TZ . Ceci est "moins mauvais" car il maintient le système RTC monotoniquement en augmentation, et applique toute magie du fuseau horaire plus tard, en garantissant par exemple qu'aucun fichier ne comportera normalement d'horodatage à l'avenir (ce qui peut se produire facilement au moins une fois par an si Le système RTC est réglé sur l'heure locale). Comme l'a souligné Ken , le RTC lui-même n'a pas de concept d'un fuseau horaire, seul le temps.

Comme vous l'avez constaté, cela crée des problèmes lors du démarrage à l'aide d'un système qui ne fonctionne pas normalement, comme la famille Microsoft de systèmes d'exploitation qui s'attendent généralement à ce que le RTC soit réglé sur l' heure locale . Oui, Windows NT (je pense que le retour à NT 4, en fait) peut fonctionner avec le RTC réglé sur UTC, mais au moins la dernière fois, 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 définir le RTC à l'heure locale, dites à votre système Linux que le RTC est réglé sur l'heure locale (la mécanique exacte de ce faire varie selon la distribution et la version, mais apparemment dans Ubuntu, vous définissez UTC=no dans / etc / default / rcS ), puis configurez les systèmes d'exploitation de telle sorte que l' un d'entre eux (de préférence celui que vous utilisez le plus, car l'heure affichée dans tous les autres sera incorrecte deux fois par an jusqu'à ce qu'elle soit démarrée et A eu une chance de le corriger) gère les changements d' heure d'été . Et vivre avec les inconvénients, qui devrait être managable sur un système à un seul utilisateur.

Vous pouvez également configurer le côté Windows pour utiliser UTC comme fuseau horaire et désactiver les changements automatiques de l'heure d'été dans Windows, et garder Linux configuré pour avoir le RTC en UTC et afficher l'heure convertie en fonction de ses pratiques. Cependant, cela fera que Windows affiche la date et l'heure en UTC, ce qui pourrait ne pas être ce que vous voulez vraiment. Ce n'est pas un problème majeur pour nous les Européens, qui sont au plus quelque chose comme trois heures de congé de l'UTC, mais pourrait être plus un problème aux États-Unis. C'est probablement une option plus réaliste si vous n'utilisez que Windows de façon occasionnelle, et votre système d'exploitation principal est Linux ou un autre système d'exploitation compatible RTC-UTC.

Si vous doublez le démarrage et qu'il y a des conflits horaires entre Windows et Ubuntu, cela se produit car Ubuntu stocke le temps sur l'horloge matérielle en tant que UTC par défaut alors que Microsoft Windows stocke l'heure en tant qu'humérotation locale, ce qui entraîne des temps contradictoires entre Ubuntu et Windows.

Vous devez configurer votre système Linux pour utiliser l'heure locale comme expliqué ici dans ce guide pour Ubuntu .

Je dois démarrer windows 10 et remix OS et simplement suivre seulement le guide pour Windows a fonctionné pour moi les deux fois sont corrects. J'ai utilisé la ligne de commande pour ajouter votre script aussi, car c'était plus facile