Temps différent sous Windows et Linux Mint

18

J'ai d'abord installé Linux Mint sur mon Acer Aspire 4930, puis j'ai démarré en double avec Windows 7.

Je vois toujours l'heure correcte sur Linux Mint mais au démarrage dans Windows, l'heure est décalée de quelques heures, même après avoir réinitialisé l'heure, au redémarrage, elle affiche à nouveau une heure incorrecte.


Des questions:

  1. Pourquoi cela arrive-t-il?

  2. Que puis-je faire à ce sujet?

Balistique
la source

Réponses:

17

Sous Windows, l'horloge RTC du système est traditionnellement conservée à l'heure locale. Sous Unix et Linux, il est traditionnellement conservé en UTC et /etc/localtimeest utilisé pour indiquer le fuseau horaire actuel afin que l'heure affichée soit correcte.

Ces deux visions du monde entrent en collision dans des configurations à double démarrage car il n'y a qu'un seul RTC. Habituellement, vous dites à Linux de supposer que le RTC est l'heure locale (car Windows ne peut pas le dire). Cela varie d'un Linux à l' autre, mais comme Mint est comme Ubuntu vous pouvez probablement mis UTC=noen /etc/default/rcS. Ensuite, vous pouvez régler l'horloge sur l'heure locale dans Windows et Linux la laissera tranquille après cela.


Note de l'éditeur :

Ce fichier n'est plus présent depuis Linux Mint 19 (ou plus précisément depuis la base Ubuntu 18.04):

/etc/default/rcS
aecolley
la source
2
L'UTC est déjà réglé sur non, le décalage horaire est toujours là.
Ballistic
5

Mint 18.2 KDE semble être immunisé contre les autres correctifs (y compris ceux supplémentaires que j'ai trouvés lors d'une recherche). Les fichiers mentionnés dans les réponses de aecolley et error404 n'existent plus ou semblent ne plus être là où le paramètre est référencé, au moins dans la version actuelle de KDE. La commande dans la réponse de Julie Pelletier a fonctionné pour 18.2 Cannelle mais pas 18.2 KDE.

Après avoir essayé une demi-douzaine de solutions suggérées, ce qui suit l'a corrigé pour 18.2 KDE. Avec l'heure correcte affichée, exécutez la commande de terminal suivante:

timedatectl set-local-rtc 1 --adjust-system-clock

Source: Trucs et astuces pour Linux Mint après l'installation [Mint 18 - Cinnamon Edition]

Cela devrait également fonctionner pour Cinnamon en tant que solution alternative, et j'assume également d'autres DE.

Notes de l'éditeur:

  • Il n'est pas sudonécessaire, exécutez cette commande en tant qu'utilisateur.

  • Il persiste au redémarrage, devrait être permanent.

  • Testé sur Linux Mint 19.1 Cinnamon, basé sur Ubuntu 18.04.

fixateur1234
la source
Je confirme, cela fonctionne sur Mint 18.3 Cinnamon.
dchrome
@Vlastimil, ça fait un moment que je n'ai pas fait ça. Si je me souviens bien, sudo n'est pas requis (s'il l'était, je l'aurais inclus dans la réponse, et des correctifs similaires ne font pas référence à sudo non plus, donc je suis pratiquement sûr que ce n'est pas le cas). Et oui, cela persiste.
fixer1234
@ fixer1234 Merci beaucoup, mon pote! Vous avez sauvé ma journée et je pense que tout le monde :)
LinuxSecurityFreak
3

La façon la plus générique de le faire est de:

hwclock --systohc --localtime

qui est persistant à travers les redémarrages et fonctionne sur la plupart des systèmes.

Julie Pelletier
la source
Si votre horloge affiche actuellement l'heure correcte, la commande dont vous avez besoin est en effet de hwclock --systohc --localtimerégler l'horloge matérielle sur l'heure locale en utilisant la valeur actuellement affichée par le système. Cependant, si votre horloge est actuellement incorrecte (c'est-à-dire que l'horloge matérielle est l'heure locale, mais que le système ajoute le décalage pour votre fuseau horaire, ce qui entraîne une valeur affichée incorrecte), vous en avez besoin hwclock --hctosys --localtime.
youen
@youen, j'ai eu cette situation et votre modification vient de retarder le temps dans l'autre sens. Le correctif pour moi était de réinitialiser l'horloge à l'heure correcte, puis d'utiliser la commande dans la réponse de Julie.
fixer1234
@ fixer1234 OK, bizarre. Pour être honnête, je n'ai pas essayé la deuxième commande dans mon commentaire, car j'avais déjà fixé mon horloge à ce moment-là. Je pense cependant que l'exécution de l'une de ces commandes, puis le réglage de l'horloge à l'heure affichée correcte, fera l'affaire (l'exécution de la première commande à nouveau n'était probablement pas nécessaire si vous aviez déjà exécuté la seconde). Heureux que cela ait fonctionné pour vous à la fin :)
youen
1

AVERTISSEMENT

Cette méthode est boguée dans les versions antérieures à 7 de Windows, mais elle résout le problème du côté Windows de l'équation, plutôt que du côté Linux: vous n'avez pas à configurer Linux pour utiliser l'heure locale .


Tiré du Wiki Arch Linux le plus glorieux et le plus estimé :

L'une des raisons pour lesquelles les utilisateurs définissent souvent le RTC en heure locale est le double démarrage avec Windows (qui utilise l'heure locale).

Cependant, Windows [peut gérer le RTC étant UTC] avec un correctif de registre simple. Il est recommandé de configurer Windows pour utiliser UTC, plutôt que Linux pour utiliser l'heure locale.

À l'aide de regedit, ajoutez une DWORDvaleur avec une valeur hexadécimale 1au registre:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal

Vous pouvez le faire à partir d'une invite de commandes administrateur en cours d'exécution:

reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f

Sinon, créez un fichier * .reg (sur le bureau) avec le contenu suivant et double-cliquez dessus pour l'importer dans le registre:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
     "RealTimeIsUniversal"=dword:00000001

Si ce qui précède semble n'avoir aucun effet et qu'une variante 64 bits de Windows est utilisée, l'utilisation d'une QWORDvaleur au lieu d'une DWORDvaleur peut résoudre le problème.

Si Windows demande de mettre à jour l'horloge en raison de changements d'heure d'été, laissez-le. Il laissera l'horloge en UTC comme prévu, ne corrigeant que l'heure affichée.

Il peut être nécessaire de mettre à jour l'horloge matérielle et l'heure du système après avoir défini cette valeur. Si vous rencontrez des problèmes avec le décalage de l'heure, essayez de réinstaller tzdata, puis définissez à nouveau votre fuseau horaire:

# timedatectl set-timezone America/Los_Angeles
Alexej Magura
la source
En fait, j'ai eu ce problème sur ma propre machine Windows, mais jusqu'à présent, je l'ai simplement ignoré; Je vais, cependant, je vais voir si cette méthode fonctionne et rapporter mes résultats.
Alexej Magura
1
Ça marche pour moi. Merci beaucoup! De cette façon, je n'ai pas à modifier chaque installation Linux présente sur mon PC.
Lokesh
0

Modifier (en tant que racine) la /etc/timeadjvariable de UTCàLOCAL .

Cela a résolu le problème sans avoir à jouer avec regedit du côté de Windows.

Erreur 404
la source
0

Exécutez l'une de ces deux commandes qui correspondent à votre heure locale

timedatectl set-local-rtc 1 --adjust-system-clock

'ou'

timedatectl set-local-rtc 0 --adjust-system-clock
Atul6.Singh
la source