Edit: Après quelques jours d'utilisation de la méthode que j'ai publiée à l'origine, j'ai découvert que le RealTimeIsUniversal
drapeau, 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 ):
- Lancez RegEdit ( Démarrer -> Exécuter ... , tapez
regedit
)
- Accédez à "
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
".
- Dans le menu Edition , choisissez Nouveau -> Valeur DWORD .
- Nommez cette valeur "
RealTimeIsUniversal
".
- Double-cliquez sur
RealTimeIsUniversal
et entrez 1
pour 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.