Question L'heure de l'horloge est désactivée sur le double démarrage


Système dual boot Windows XP Pro et Ubuntu 12.04.

J'ai le bios défini pour l'heure correcte et Ubuntu défini pour l'heure de l'Est des États-Unis. Ubuntu démarrera et l'heure sera désactivée de -4 heures. Si je corrige l'heure dans Ubuntu, lorsque je démarre sous Windows XP, l'heure sera désactivée de + 4 heures.

Ceci est une nouvelle installation de 12.04. Je n'ai pas eu ce problème avant de réinstaller Ubuntu.


274
2017-07-28 17:48


origine




Réponses:


https://help.ubuntu.com/community/UbuntuTime#Multiple_Boot_Systems_Time_Conflicts

Conflits de temps entre plusieurs systèmes de démarrage

Les systèmes d'exploitation stockent et récupèrent l'heure dans l'horloge matérielle   situé sur votre carte mère afin qu'il puisse garder une trace du temps même   lorsque le système n'est pas alimenté. La plupart des systèmes d'exploitation   (Linux / Unix / Mac) stocke l'heure sur l'horloge matérielle comme UTC par   par défaut, bien que certains systèmes (notamment Microsoft Windows) stockent le   l'heure sur l'horloge matérielle comme l'heure locale. Cela pose des problèmes   dans un système à double amorçage si les deux systèmes visualisent l'horloge matérielle   différemment.

L'avantage d'avoir l'horloge matérielle comme UTC est que vous ne   besoin de changer l'horloge matérielle lors du déplacement entre les fuseaux horaires ou   lorsque l'heure d'été commence ou se termine lorsque l'UTC n'a pas   DST ou décalages horaires.

Changer Linux pour utiliser l’heure locale est plus facile et plus fiable que   changer Windows pour utiliser l’UTC, les systèmes Linux / Windows à double amorçage   utiliser l'heure locale.

Depuis Intrepid (8.10), UTC = yes est la valeur par défaut.

Faire Windows utiliser UTC

Remarque: Cette méthode n'était pas prise en charge initialement sur Windows Vista et Server 2008, mais 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 en tant que temps UTC.

Créer un fichier nommé WindowsTimeFixUTC.reg avec ce qui suit   contenu et double-cliquez dessus pour fusionner le contenu avec le   enregistrement:

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

Remarque: Le service de temps Windows va toujours écrire l'heure locale sur le RTC quel que soit le paramètre de registre ci-dessus lors de l'arrêt, il est donc pratique   pour désactiver le service de temps Windows avec cette commande (si la synchronisation de l’heure est   encore requis dans Windows utiliser une synchronisation de temps tiers   Solution):

sc config w32time start= disabled

Inverser le changement
 Vous pouvez créer un fichier avec les éléments suivants   contenu et double-cliquez dessus pour fusionner les modifications d'origine, comme   au dessus:

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

Si le service de temps Windows était désactivé, activez-le à nouveau avec le   commander:

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 définie sur «local»   temps:

Systèmes pré-Ubuntu 15.04 (par exemple, Ubuntu 14.04 LTS):

  1. modifier /etc/default/rcS
  2. 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):

  1. ouvrir un terminal et exécuter la commande suivante

    timedatectl set-local-rtc 1
    

232
2017-07-28 18:07



Oh Seigneur. Je ne peux pas croyez ils étaient assez stupides pour utiliser l'heure locale sur une horloge matérielle. Pourquoi aurais-tu jamais fait ça? - iono
@twome parce que dans les premiers temps de MS-DOS, il n'y avait pas beaucoup de réseau, et il n'était pas courant de déplacer un PC si loin qu'il déplaçait les fuseaux horaires. (Et oui, même en considérant cette histoire, ce n'était toujours pas le meilleur coup). - Jon Hanna
@ Bien que je sois d'accord avec le fait que l'horloge matérielle reste universelle, car elle ne conserve pas les informations de fuseau horaire, cela pose peu de problèmes: A) Le BIOS / UEFI dispose de plusieurs fonctionnalités telles que le réveil automatique. définir des temps pour ces déclencheurs. Ce serait bizarre de définir ces temps en UTC - du moins pour l'utilisateur moyen. B) Comme dit ci-dessus, des raisons de compatibilité ascendante. - Shahriyar Imanov
Dans Windows PowerShell, exécutez cette commande pour mettre à jour la propriété de registre mentionnée ci-dessus: New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation -Name RealTimeIsUniversal -PropertyType DWord -Value 00000001 - Anatoly Mironov
Pour ceux qui survolent le texte, il suffit de modifier les paramètres dans l'un des systèmes d'exploitation, pas les deux. - Alexander Revo


Pour définir l’horloge du BIOS sur l’heure locale au lieu de l’UTC dans une version basée sur systemd (15.04 et plus), vous devrez utiliser timedatectlcommander. Selon le Wiki Arch:

Vous pouvez définir la norme de temps d'horloge matérielle via la ligne de commande.   Vous pouvez vérifier ce que vous avez configuré pour:

$ timedatectl | grep local

L’horloge matérielle peut être interrogée et réglée avec le timedatectl   commander. Pour modifier la norme de temps d'horloge matérielle en heure locale, utilisez:

# timedatectl set-local-rtc 1

Si vous voulez revenir à l'horloge matérielle en UTC, faites:

# timedatectl set-local-rtc 0

59
2018-01-13 03:40



Sur Ubuntu 16.10, il a aidé à faire "hwclock --systohc --localtime". Ceci écrit la "partie locale" dans / etc / adjtime et la rend ainsi permanente. - user1050755
@ user1050755 est-ce avant, après ou à la place de la commande timedatectl? - nasch


Votre fuseau horaire est Est, qui est actuellement l'heure avancée de l'Est. EDT est UTC moins quatre heures, le même que le décalage que vous rencontrez.

Lorsque cela se produit sur un système à double démarrage, 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 à l’heure locale et:

  • Windows est configuré pour utiliser l’heure locale, qui (selon vos paramètres de temps) est correct.
  • Ubuntu est configuré pour utiliser UTC, qui (compte tenu de vos paramètres de temps) est Incorrect.

Si vous deviez simplement réinitialiser l'heure dans le système Ubuntu, manuellement ou automatiquement, ce serait alors faux sous 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 de l'horloge matérielle comme heure locale (alors vous pouvez laisser votre configuration Windows, et l'heure de votre horloge matérielle, seul).

Pour ce faire, éditez /etc/default/rcS en tant que root et assurez-vous qu'il a UTC=no:

  1. presse Alt+F2.

  2. Type gksu gedit /etc/default/rcS et appuyez sur Entrer.

  3. Vous verrez probablement ceci:

    # assume that the BIOS clock is set to UTC time (recommended)
    UTC=yes
    
    • Si vous le faites, changez UTC=yes à UTC=no. (Ou vous voudrez peut-être ajouter un commentaire, en le changeant en quelque chose comme UTC=no # changed to accommodate Windows system. Tout sur une ligne après un # personnage est un commentaire, et est là juste pour rendre vos paramètres plus lisibles.
    • Si vous ne le faites pas, cherchez UTC= ligne. Si elle n'est pas commentée (c'est-à-dire qu'elle n'a pas de # au début), changez-le en conséquence. S'il est commenté, décommentez-le en supprimant le premier # et assurez-vous qu'il dit UTC=no.
  4. Enregistrez le fichier et quittez l'éditeur de texte.

  5. Redémarrez pour appliquer vos modifications et vérifiez que l'heure fonctionne correctement sur les deux systèmes d'exploitation.

La 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 qu'elle s'applique spécifiquement à votre situation, ce qui est un problème assez commun.)


32
2017-07-28 18:16



Notez que cela peut également se produire lorsque vous effectuez une mise à niveau d'une version d'Ubuntu à une autre, comme elle l'a fait pour moi. Je peux recommander d'effectuer le correctif ci-dessus, puis de synchroniser manuellement votre horloge comme dans cette réponse (en l'ajustant pour fonctionner avec systemd): askubuntu.com/a/254846/139735 - starbeamrainbowlabs
Cela devrait être la réponse acceptée à mon humble avis. J'avais Windows installé et fonctionne correctement, puis j'ai installé Ubuntu et les horloges sont devenues désordonnées - je ne vois aucune raison pour laquelle je devrais modifier les paramètres Windows si c'était clairement l'ajout de Linux qui a cassé ma configuration. - Przemek D


Le correctif / etc / rcS ne fonctionnait pas sur mon installation Win7 / Ubuntu 14.04x64, ni aucune correction via l'interface graphique d'horloge. Étant donné que l’origine du problème est l’heure du BIOS par rapport à l’heure UTC, et que Windows est un problème avec l’UTC, j’ai choisi un point sur la carte qui utilise UTC + 0 (pas de changement entre le BIOS et l’heure UTC). .

Essayez de changer votre emplacement à Reykjavik (la capitale de l'Islande). Voila! Votre temps Ubuntu changera pour correspondre à votre temps BIOS.


12
2017-07-03 17:49



Haha! Impressionnant. : D Je me fiche vraiment de mon emplacement. Ce fut deux secondes correctif. Merci beaucoup. - Pale Blue Dot