374 votes

L'horloge est désactivée en cas de double démarrage

Système de double démarrage Windows XP Pro et Ubuntu 12.04.

J'ai réglé le bios sur l'heure correcte et Ubuntu sur l'heure de l'Est des États-Unis. Ubuntu démarre et l'heure est décalée de -4 heures. Si je corrige l'heure dans Ubuntu, lorsque je démarre dans Windows XP, l'heure sera décalée de + 4 heures.

Il s'agit d'une nouvelle installation de la version 12.04. Je n'avais pas ce problème avant de réinstaller Ubuntu.

341voto

Eric Carvalho Points 51571

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

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

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 garder la trace de l'heure même 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 en tant que UTC par par défaut, bien que certains systèmes (notamment Microsoft Windows) stockent l'heure sur le disque dur. l'heure de l'horloge matérielle comme l'heure "locale". 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 que vous n'avez pas besoin de changer l'horloge matérielle lorsque vous vous déplacez d'un pays à l'autre. de changer l'horloge matérielle lorsque vous changez de fuseau horaire ou lorsque ou lorsque l'heure d'été (DST) commence ou se termine, car l'UTC n'a pas de décalage DST ou de fuseau horaire. l'heure d'été ou les décalages de fuseaux horaires.

Changer Linux pour utiliser l'heure locale est plus facile et plus fiable que de que de changer Windows pour utiliser l'UTC, donc les systèmes dual-boot Linux/Windows ont tendance à à utiliser l'heure locale.

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

Faites en sorte que Windows utilise UTC

Nota: Cette méthode n'était pas initialement prise en charge sur 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 de l'horloge matérielle comme UTC.

Créez un fichier nommé WindowsTimeFixUTC.reg avec les éléments suivants puis double-cliquez dessus pour fusionner le contenu avec le registre :

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

Nota: Le service Windows Time écrira toujours l'heure locale sur le RTC, quel que soit le paramètre de registre ci-dessus, lors de l'arrêt, ce qui est pratique. de désactiver le service Windows Time avec cette commande (si la synchronisation de l'heure est synchronisation du temps est toujours nécessaire sous Windows, utilisez une solution tierce) :

sc config w32time start= disabled

Inverser le changement
Vous pouvez créer un fichier avec les éléments suivants contenu, puis double-cliquer dessus pour fusionner les modifications originales, comme comme ci-dessus :

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

Si le service Windows Time a été désactivé, réactivez-le à l'aide de la commande commande :

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 'local', procédez comme suit l'heure :

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. ouvrez un terminal et exécutez la commande suivante

    timedatectl set-local-rtc 1

74voto

muru Points 180007

Pour régler 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 la commande timedatectl commandement. Selon l'Arch Wiki :

Vous pouvez définir la norme de temps de l'horloge matérielle par le biais de la ligne de commande. Vous pouvez vérifier ce que vous avez défini en l'utilisant :

$ timedatectl | grep local

L'horloge matérielle peut être interrogée et réglée avec la fonction timedatectl commande. Pour changer l'heure standard de l'horloge matérielle en heure locale, utilisez :

# timedatectl set-local-rtc 1

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

# timedatectl set-local-rtc 0

36voto

Eliah Kagan Points 111731

Votre fuseau horaire est Est qui est actuellement EDT (Eastern Daylight Time). EDT est UTC moins quatre heures, comme le décalage que vous subissez.

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 d'exploitation pense que l'horloge matérielle suit l'heure UTC.

Dans votre cas, l'horloge de votre matériel est probablement réglée sur l'heure locale, et.. :

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

Si vous remettiez l'heure à zéro dans le système Ubuntu, soit manuellement, soit automatiquement il serait alors erroné dans Windows, ce qui n'est 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 l'heure locale (vous pouvez alors laisser votre configuration Windows, et l'heure de votre horloge matérielle, tranquille).

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

  1. Pulse Alt + F2 .

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

  3. Vous verrez probablement ça :

    # assume that the BIOS clock is set to UTC time (recommended)
    UTC=yes
    • Si vous le faites, changez UTC=yes a UTC=no . (Vous pouvez aussi ajouter un commentaire, en le remplaçant par quelque chose du genre UTC=no # changed to accommodate Windows system . Tout ce qui se trouve sur une ligne après un # est un commentaire, et est là juste pour rendre vos paramètres plus lisibles par l'homme).
    • Si vous ne le faites pas, cherchez UTC= ligne. S'il n'est pas commenté (c'est-à-dire s'il n'y a pas de symbole # au début), modifiez-la en conséquence. S'il est commenté, décommentez-le en supprimant l'élément de tête # et assurez-vous qu'il est écrit UTC=no .
  4. Enregistrez le fichier et quittez l'éditeur de texte.

  5. 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 rédigé cette réponse pour qu'elle s'applique spécifiquement à votre situation, qui est un problème assez courant).

15voto

Marek Karbarz Points 14870

La correction de /etc/rcS n'a pas fonctionné sur mon installation Win7 / Ubuntu 14.04x64, pas plus que les corrections via l'interface graphique de l'horloge. Parce que la racine du problème est l'heure du BIOS VS l'heure UTC, et que Windows est une plaie quand il s'agit d'utiliser l'UTC, j'ai juste choisi un point sur la carte qui utilise UTC+0 (pas de changement entre l'heure du BIOS et l'heure UTC).

Essayez de changer votre emplacement pour Reykjavik (la capitale de l'Islande). Voilà ! L'heure de votre Ubuntu va changer pour correspondre à l'heure de votre BIOS.

0voto

JonH Points 121

enter image description here

Nous pouvons demander à Windows de synchroniser l'heure avec le réseau à chaque redémarrage :

  1. Recherchez "Services" dans le menu de démarrage.
  2. Localisez "Windows Time".
  3. Réglez le "Type de démarrage" sur "Automatique". Dans mon cas, l'heure se met à jour à environ 10 secondes. après en se connectant à Windows.

Sur Ubuntu, nous pouvons définir "Automatic Date & Time" dans les paramètres, et par défaut, il s'exécute automatiquement à chaque redémarrage.

C'est l'approche que je préfère car elle ne nécessite pas de modifier le registre ou de configurer Linux pour qu'il utilise l'heure "locale", ce qui peut avoir des effets secondaires tels que la synchronisation de l'heure d'été.

Ver cette réponse y cette réponse pour plus de référence.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X