Différent time dans Windows et Linux Mint

J'ai installé Linux Mint d'abord sur mon Acer Aspire 4930 et ensuite j'ai démarré avec Windows 7. Je vois l'heure correcte sur Linux Mint, mais en redémarrant Windows, le time est décalé de quelques heures, même après avoir redémarré le redémarrage il montre le mauvais moment à nouveau. Pourquoi cela arrive-t-il?

    Sous Windows, l'horloge du système RTC est traditionnellement conservée à l'heure locale. Sous Unix et Linux, il est traditionnellement conservé en UTC, et /etc/localtime est utilisé pour indiquer le timezone 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 être dit). Cela varie d'un Linux à l'autre, mais comme Mint est comme Ubuntu, vous pouvez probablement définir UTC=no dans /etc/default/rcS . Ensuite, vous pouvez définir l'horloge à l'heure locale dans Windows et Linux le laissera seul après cela.

    La façon la plus générique de le faire est avec hwclock --systohc --localtime qui est persistant à travers les redémarrages et fonctionne sur la plupart des systèmes.

    ATTENTION

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


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

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

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

    À l'aide de regedit , ajoutez une valeur DWORD avec la valeur hexadécimale 1 au Registre:

     HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal 

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

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

    Vous pouvez également créer un file * .reg (sur le bureau) avec le contenu suivant et double-cliquer dessus pour l'importer dans le registre:

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

    Si le QWORD ci-dessus semble n'avoir aucun effet et qu'une variante 64 bits de Windows est utilisée, l'utilisation d'une valeur QWORD au lieu d'une valeur DWORD peut résoudre le problème.

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

    L'horloge matérielle et l'horloge système peuvent devoir être mises à jour 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 timezone:

     # timedatectl set-timezone America/Los_Angeles 

    Modifier (en tant que root) /etc/timeadj variable de UTC à LOCAL .

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