Conflits horaires de plusieurs systèmes d'amorçage
Les systèmes d’exploitation stockent et récupèrent l’heure dans l’horloge matérielle située sur votre carte mère afin qu’elle puisse la suivre même lorsque le système n’est pas alimenté. La plupart des systèmes d'exploitation (Linux / Unix / Mac) stockent l'heure sur l'horloge matérielle au format UTC par défaut, bien que certains systèmes (notamment Microsoft Windows) stockent l'heure sur l'horloge matérielle au format "local". Cela pose des problèmes dans un système à double démarrage si les deux systèmes voient l’horloge matérielle différemment.
L’avantage d’avoir l’horloge matérielle en UTC est qu’il n’est pas nécessaire de la modifier pour passer d’un fuseau horaire à l’autre, ni au début ou à la fin de l’heure avancée de l’été, car l’heure UTC n’a pas de décalage DST ou de fuseau horaire.
Changer Linux pour utiliser l'heure locale est plus facile et plus fiable que Windows pour utiliser l'UTC, les systèmes Linux / Windows à double démarrage ont tendance à utiliser l'heure locale.
Depuis Intrepid (8.10), UTC = yes est la valeur par défaut.
Rendre Windows utiliser UTC
Remarque: cette méthode n'était pas initialement prise en charge sous Windows Vista et Server 2008, mais elle est revenue avec Vista SP2, Windows 7, Server 2008 R2 et Windows 8 / 8.1.
Pour que MS Windows calcule l'heure à partir de l'horloge matérielle au format UTC.
Créez un fichier nommé WindowsTimeFixUTC.reg avec le contenu suivant, puis double-cliquez dessus pour le fusionner avec le registre:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001
Remarque: le service de temps Windows continue d'écrire l'heure locale sur le RTC, quel que soit le paramètre de registre défini ci-dessus à l'arrêt. Il est donc pratique de désactiver le service de temps Windows avec cette commande (si la synchronisation de l'heure est toujours requise lorsque vous utilisez Windows, utilisez une heure tierce solution de synchronisation):
sc config w32time start= disabled
Annulation de la modification
Vous pouvez créer un fichier avec le contenu suivant, puis double-cliquer dessus pour fusionner les modifications d'origine, comme ci-dessus:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=-
Si le service de temps Windows est désactivé, réactivez-le avec la commande suivante:
sc config w32time start= demand
Faire en sorte que Linux utilise l'heure locale
Pour indiquer à votre système Ubuntu que l'horloge matérielle est réglée sur l'heure «locale»:
Systèmes antérieurs à Ubuntu 15.04 (par exemple, Ubuntu 14.04 LTS):
- modifier
/etc/default/rcS
ajouter ou modifier la section suivante
# Set UTC=yes if your hardware clock is set to UTC (GMT)
UTC=no
Systèmes Ubuntu 15.04 et supérieurs (par exemple Ubuntu 16.04 LTS):
ouvrir un terminal et exécuter la commande suivante
timedatectl set-local-rtc 1
New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation -Name RealTimeIsUniversal -PropertyType DWord -Value 00000001
Pour définir l'horloge du BIOS sur l'heure locale au lieu de l'heure UTC dans une version basée sur systemd (15.04 et ultérieure), vous devez utiliser la
timedatectl
commande. Selon le Wiki Arch :la source
Votre fuseau horaire est Est , qui est actuellement HAE (heure avancée de l'Est). L’EDT est le UTC moins quatre heures, le même que l’offset que vous rencontrez.
Lorsque cela se produit sur un système à double amorçage, c'est généralement parce qu'un système d'exploitation pense que l'horloge matérielle suit l'heure locale, tandis que l'autre système pense que l'horloge matérielle suit l'UTC.
Dans votre cas, votre horloge matérielle est probablement réglée sur l'heure locale et:
Si vous deviez simplement réinitialiser l'heure dans le système Ubuntu, manuellement ou automatiquement , ce serait alors faux dans Windows, ce n'est donc pas une bonne solution.
Au lieu de cela, la meilleure solution est probablement de reconfigurer Ubuntu pour traiter l'heure d'horloge matérielle comme une heure locale (vous pouvez alors laisser votre configuration Windows et votre heure d'horloge matérielle seules).
Pour ce faire, éditez en
/etc/default/rcS
tant que root et assurez-vous qu'il aUTC=no
:Appuyez sur Alt+ F2.
Tapez
gksu gedit /etc/default/rcS
et appuyez sur Enter.Vous verrez probablement ceci:
UTC=yes
pourUTC=no
. (Ou vous pouvez également ajouter un commentaire en le modifiant commeUTC=no # changed to accommodate Windows system
suit. Tout ce qui se trouve sur une ligne après un#
personnage correspond à un commentaire et il n’est là que pour rendre vos paramètres plus lisibles par l’homme.)UTC=
ligne. Si elle n'est pas commentée (c'est-à-dire qu'elle n'a pas de#
début), changez-la en conséquence. S'il est commenté, décommentez-le en supprimant le texte principal#
et assurez-vous qu'il l'indiqueUTC=no
.Enregistrez le fichier et quittez l'éditeur de texte.
Redémarrez pour appliquer vos modifications et vérifier que l'heure fonctionne correctement sur les deux systèmes d'exploitation.
Source: https://help.ubuntu.com/community/UbuntuTime#Make_Linux_use_.27Local.27_time
(Mais c'est très général; j'ai écrit cette réponse pour s'appliquer spécifiquement à votre situation, qui est un problème assez commun.)
la source
Le correctif / etc / rcS ne fonctionnait pas sur mon installation Win7 / Ubuntu 14.04x64, pas plus que les correctifs via l’interface graphique d’horloge. Parce que la racine du problème est l'heure du BIOS par rapport à l'heure UTC et que Windows est un problème pour l'utilisation de l'UTC, je viens de choisir un point sur la carte qui utilise UTC + 0 (aucun changement entre l'heure du BIOS et l'heure UTC). .
Essayez de changer d’emplacement pour Reykjavik (la capitale de l’Islande). Voila! Votre heure Ubuntu changera pour correspondre à votre heure BIOS.
la source