L'horloge de mon Mac est modifiée lorsque je démarre sous Windows

17

J'utilise un iMac avec OS X Leopard et Windows 7 Release Candidate (en utilisant bootcamp). Parfois, lorsque je démarre sous Windows, puis redémarre sous OSX, je constate que Windows a modifié l'horloge du système pour utiliser une heure incorrecte. J'ai également rencontré ce problème lors de l'utilisation de Vista avec bootcamp.

Comment puis-je empêcher que cela se produise?

Brian Willis
la source

Réponses:

17

Edit: Après quelques jours d'utilisation de la méthode que j'ai publiée à l'origine, j'ai découvert que le RealTimeIsUniversaldrapeau, en tant que reste non entretenu de Windows NT, est en fait assez floconneux et peu pratique en général. De temps en temps, à des intervalles apparemment aléatoires, l'horloge Windows revenait de l'heure UTC à l'heure locale, ce qui était extrêmement ennuyeux (et entraînait quelques validations git qui semblaient provenir du futur dans le journal de validation). Cela m'a amené à chercher un autre correctif…

En général, le problème est que, comme John Fouhy l'a mentionné dans un commentaire, Windows conserve l'horloge à l'heure locale, tandis qu'OS X maintient l'horloge à UTC (en utilisant le fuseau horaire spécifié comme modificateur pour donner l'heure correcte). Pour résoudre ce problème, l'un des systèmes d'exploitation devra se plier en arrière et suivre le temps en utilisant la méthode de l'autre système.

Maintenant, la méthode la plus fiable que j'ai trouvée pour résoudre ce problème jusqu'à présent est de faire en sorte qu'OS X bascule son horloge sur l'heure locale depuis UTC chaque fois qu'il s'arrête, puis la remet en marche chaque fois qu'il démarre. La méthode exacte pour le faire peut être trouvée sur le wiki du projet OSx86 , assez intéressant. (Une petite note: il y a des choses qui semblent être spécifiques à OSx86, à savoir le plist LaunchDaemon pour les instructions Leopard. Cependant, j'ai essayé la méthode Leopard textuellement sur mon MacBook Pro, et cela fonctionne très bien. En d'autres termes, juste suivez les instructions exactement telles qu'elles sont écrites, et ne vous occupez pas des références à OSx86 dans les fichiers - elles ne sont pas pertinentes.)

Voici l'ancienne solution, si vous voulez l'essayer. Soyez averti cependant: cela n'a jamais été mis à jour pour fonctionner correctement avec les nouvelles versions de Windows, donc ce n'est pas très fiable, comme je l'ai découvert à la dure…

Une autre façon de synchroniser les horloges est de forcer Windows à utiliser UTC via un hack de registre (une astuce que j'ai trouvée dans Mac OS X Hints ):

  1. Lancez RegEdit ( Démarrer -> Exécuter ... , tapez regedit)
  2. Accédez à " HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation".
  3. Dans le menu Edition , choisissez Nouveau -> Valeur DWORD .
  4. Nommez cette valeur " RealTimeIsUniversal".
  5. Double-cliquez sur RealTimeIsUniversalet entrez 1pour les données de valeur.

Au prochain démarrage de Windows, l'horloge doit correspondre à celle de Mac OS X, et vous pouvez toujours faire correspondre le fuseau horaire de Windows au fuseau horaire défini dans Mac OS X.

hbw
la source
Wow, super astuce pour ces situations de double démarrage!
Greg Hewgill
J'utilise le hack de registre sous Windows 7 depuis quelques semaines. Jusqu'ici tout va bien. Il a même changé correctement lors du passage de l'heure d'été à l'heure d'été.
kdmurray
3

Vérifiez vos paramètres de synchronisation d'horloge dans Windows. Il peut s'agir de régler l'horloge avec une source Internet et de changer l'horloge.

JP Alioto
la source
J'ai eu ce problème - OS X était réglé sur GMT + 1, et j'avais oublié que Windows était toujours réglé sur GMT + 9.5 ..
dbr
0

Vérifiez que vous utilisez le même fuseau horaire sur les deux systèmes d'exploitation. Si l'un a un fuseau horaire différent, il peut changer l'horloge système pour afficher son fuseau horaire, qui serait différent de celui de l'autre système d'exploitation.

Dan Walker
la source
2
Les Mac (comme Linux / Unix) gardent l'horloge système à UTC et appliquent le fuseau horaire comme modificateur pour l'affichage. Windows conserve l'horloge système à l'heure locale. Par conséquent, si Windows se rend compte que son horloge est "incorrecte", il le réparera. Une solution de contournement serait donc de définir délibérément votre fuseau horaire Windows sur UTC.
John Fouhy
0

J'ai un script de connexion côté Mac - Leopard dans mon cas - c'est un simple script shell pour régler l'horloge via Internet:

#!/bin/sh
ntpdate -uvs time.apple.com
exit 0

Ainsi, lorsque vous démarrez sous Windows, il envoie l'horloge 5 heures en avant si vous êtes sur la côte est et lorsque vous redémarrez dans Mac OS X, il remet l'horloge à UTC.

À votre santé...

Jim Ferr


la source
Comment définissez-vous cela pour qu'il s'exécute automatiquement à la connexion?
Brian Willis