Comment réparer Windows et Linux avec différentes heures de double démarrage
Votre ordinateur enregistre l'heure dans une horloge matérielle sur sa carte mère. L'horloge garde la trace du temps, même lorsque l'ordinateur est éteint. Par défaut, Windows suppose que l'heure est stockée à l'heure locale, tandis que Linux suppose que l'heure est stockée à l'heure UTC et applique un décalage. Cela amène l’un de vos systèmes d’exploitation à indiquer le mauvais moment dans une situation de démarrage double..
Pour résoudre ce problème, vous avez deux options: obliger Linux à utiliser l'heure locale ou Windows à utiliser l'heure UTC. Ne suivez pas les deux étapes d'instructions ou ils ne parleront toujours pas la même langue! Nous vous recommandons de faire en sorte que Linux utilise l'heure locale, si possible.
Première option: utiliser l'heure locale sous Linux
Faire en sorte que Linux utilise l'heure locale de la même manière que Windows est probablement la meilleure option. Windows a un paramètre de registre qui l'oblige à stocker l'heure au format UTC, mais il ne serait apparemment pas bien pris en charge et peut causer des problèmes avec certaines applications tierces qui supposent toujours que l'horloge matérielle est en heure locale. Il est également incompatible avec le propre service de synchronisation de l'heure Internet de Windows..
Les étapes permettant à votre système Linux d’utiliser l’heure locale peuvent varier d’une distribution Linux à une distribution Linux. Cependant, sur toute distribution Linux avec systemd, vous pouvez utiliser le timedatectl
commande pour effectuer ce changement. Cela fonctionnera avec les versions modernes d'Ubuntu, Fedora, Red Hat, Debian, Mint et d'autres distributions Linux utilisant systemd..
Pour effectuer cette modification, ouvrez d’abord une fenêtre de terminal sur votre système Linux. Exécutez la commande suivante pour mettre l’horloge en temps réel de la carte mère en heure locale. Linux stockera l'heure dans l'heure locale, tout comme Windows.
timedatectl set-local-rtc 1 --adjust-system-clock
Pour vérifier vos paramètres actuels, exécutez:
timedatectl
Si vous voyez «RTC dans TZ local: oui», Linux est configuré pour utiliser le fuseau horaire local au lieu de l'heure UTC. La commande vous avertit que ce mode n'est pas totalement pris en charge et peut entraîner des problèmes lors du changement de fuseau horaire et de l'heure d'été. Cependant, ce mode est probablement mieux supporté que l'option UTC sous Windows. Si vous double-amorcez avec Windows, Windows se chargera de l’heure avancée.
Si vous souhaitez annuler cette modification, exécutez la commande suivante:
timedatectl set-local-rtc 0 --adjust-system-clock
Option 2: Faire en sorte que Windows utilise l'heure UTC
Faire en sorte que Windows utilise l'heure UTC comme Linux n'est probablement pas la meilleure option. Vous pouvez modifier le registre pour que Windows utilise l'heure UTC, mais cela pourrait entraîner plus de problèmes que le simple fait d'utiliser Linux l'heure locale..
Si vous le souhaitez, vous devez tout d'abord désactiver la fonctionnalité de mise à jour de l'heure Internet sous Windows. Cela garantit que Windows ne réglera pas l'horloge de manière incorrecte lors d'une tentative de synchronisation de l'heure actuelle à partir d'Internet. Sous Windows 10, allez dans Paramètres> Heure et langue et désactivez «Régler l'heure automatiquement». Sous Windows 7, cliquez avec le bouton droit de la souris sur l'horloge système dans la barre des tâches et sélectionnez «Ajuster la date / l'heure». Cliquez sur l'onglet «Heure Internet», cliquez sur le bouton «Modifier les paramètres», décochez l'option «Synchroniser avec un serveur de temps Internet», puis cliquez sur «OK»..
Rendre Windows utiliser l'heure UTC en modifiant le registre
Vous devez maintenant ajouter la valeur appropriée au registre Windows. Voici notre avertissement standard: L'éditeur de registre est un outil puissant et son utilisation abusive peut rendre votre système instable, voire inutilisable. C'est un hack assez facile et vous ne devriez pas avoir de problèmes tant que vous suivez les instructions. Cela dit, si vous n’avez jamais travaillé auparavant, envisagez de lire comment utiliser l’Éditeur du Registre avant de commencer. Et sauvegardez définitivement le registre (et votre ordinateur!) Avant d'apporter des modifications.
Commencez par ouvrir l'éditeur du registre en cliquant sur Démarrer, en tapant «regedit», puis en appuyant sur Entrée. Acceptez l'invite de sécurité qui apparaît.
Accédez à la clé suivante dans le volet gauche de l'éditeur de registre:
HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ TimeZoneInformation
Sur les dernières versions de Windows 10, vous pouvez copier et coller la ligne ci-dessus dans la zone d'adresse. Cependant, ce hack fonctionnera aussi sous Windows 7.
Cliquez avec le bouton droit de la souris sur la clé «TimeZoneInformation» et sélectionnez Nouveau> Valeur DWORD (32 bits)..
Nommez votre nouvelle valeur Temps réelUniversel
.
Double-cliquez sur le Temps réelUniversel
valeur que vous venez de créer, définissez les données de valeur sur 1
, et cliquez sur "OK".
Vous avez maintenant terminé et vous pouvez fermer l'éditeur de registre. Windows stockera l'heure en UTC, tout comme Linux.
Si vous souhaitez annuler cette modification, revenez à cet emplacement dans le registre, cliquez avec le bouton droit sur la souris. Temps réelUniversel
valeur que vous avez ajoutée et supprimez-la de votre registre.
Téléchargez notre base de registre en un clic
Si vous ne souhaitez pas modifier le registre vous-même, vous pouvez utiliser notre hack de registre téléchargeable. Nous avons créé un hack qui oblige Windows à utiliser l’heure UTC et un autre qui le restaure à l’heure locale. Les deux sont inclus dans le fichier ZIP suivant. Téléchargez simplement le fichier, double-cliquez sur le hack que vous souhaitez utiliser et acceptez d'ajouter les informations à votre registre..
Rendre Windows utiliser l'heure UTC
Les hacks ci-dessus font la même chose que nous avons décrite ci-dessus. Le hack Make Windows Use UTC Time crée l’entrée «RealTimeIsUniversal» avec la valeur «1», tandis que le hack Make Windows Use Local Time supprime l’entrée «RealTimeIsUniversal»..
Si vous souhaitez voir ce que fait ce fichier ou tout autre fichier .reg, cliquez dessus avec le bouton droit de la souris et sélectionnez «Modifier» pour afficher le fichier dans le Bloc-notes. Vous pouvez facilement créer vos propres hacks de registre, qui consistent simplement en une liste d'entrées de registre à ajouter, modifier et supprimer dans une liste correctement formatée..
Qu'en est-il du double démarrage de Windows sur un Mac?
Bien que macOS d’Apple utilise l’heure UTC comme le fait Linux, vous ne devriez rien faire de spécial lorsque vous exécutez Windows dans Boot Camp sur un Mac. Les pilotes Boot Camp d'Apple gèrent tout. (Hackintosh dual-booters est une autre histoire, cependant, et devra essayer d'utiliser le tweak de registre de Windows ci-dessus.)
Si vous vous demandez pourquoi Windows utilise l'heure locale au lieu de l'heure UTC comme les autres systèmes d'exploitation, le blog officiel de Microsoft, The Old New Thing, l'explique ici. En bref, il visait à préserver la compatibilité avec les systèmes Windows 3.1 et à éviter toute confusion lors de la définition de l'heure dans le BIOS de l'ordinateur. Bien sûr, les fabricants de PC ont choisi l'heure locale pour être compatibles avec Windows et Windows a choisi l'heure locale pour être compatibles avec la décision des fabricants de PC, de sorte que le cycle s'est auto-renforcé.
Il n'existe actuellement aucune norme permettant d'indiquer si une heure est enregistrée au format UTC ou local dans le micrologiciel du BIOS ou de l'UEFI, ce qui serait probablement la solution la plus logique. Mais cela nécessiterait un peu de travail, et la plupart des gens ne remarqueront jamais que différents systèmes d'exploitation utilisent différents formats d'heure, sauf dans les configurations à double démarrage.