Часы на моем Mac изменяются при загрузке в Windows

9384
Brian Willis

Я использую iMac с OS X Leopard и Windows 7 Release Candidate (используя bootcamp). Иногда, когда я загружаюсь в Windows, а затем снова загружаюсь в OSX, я обнаруживаю, что Windows изменила часы системы, чтобы использовать неверное время. У меня была эта проблема при использовании Vista с bootcamp тоже.

Как я могу предотвратить это?

17

4 ответа на вопрос

17
hbw

Изменить: после нескольких дней использования метода, который я первоначально опубликовал, я обнаружил, что RealTimeIsUniversalфлаг, как не поддерживаемый остаток от Windows NT, на самом деле довольно ненадежный и непрактичный в целом. Время от времени, с кажущимися случайными интервалами, часы Windows возвращались из UTC в местное время, что было крайне раздражающим (и приводило к нескольким коммитам git, которые выглядят так, как будто они из будущего в журнале коммитов). Это привело меня к поиску другого решения ...

В общем, проблема в том, что, как упоминал Джон Фухи в комментарии, Windows сохраняет часы по местному времени, в то время как OS X сохраняет часы по UTC (используя указанный часовой пояс в качестве модификатора, чтобы указать правильное время). Чтобы это исправить, одна из операционных систем должна будет наклониться назад и отслеживать время, используя метод другой системы.

Теперь, самый надежный метод, который я нашел, чтобы решить эту проблему до сих пор, состоит в том, чтобы заставить OS X переключать свои часы на местное время с UTC всякий раз, когда он выключается, а затем переключать его обратно при каждом запуске. Точный способ сделать это можно найти в вики проекта OSx86, что довольно интересно. (Небольшое примечание: есть некоторые вещи, которые, похоже, относятся к OSx86, а именно, LaunchDaemon plist для инструкций Leopard. Однако я опробовал дословно метод Leopard на моем MacBook Pro, и он работает просто отлично. Другими словами, просто следуйте инструкциям в точности так, как написано, и не обращайте внимания на любые ссылки на OSx86 в файлах - они не имеют значения.)

Вот старое решение, если вы хотите попробовать его. Будьте осторожны: это никогда не обновлялось для правильной работы с более новыми версиями Windows, так что это очень ненадежно, как я выяснил трудным путем ...

Другой способ синхронизации часов - заставить Windows использовать UTC через взлом реестра (трюк, который я нашел из подсказок Mac OS X ):

  1. Запустите RegEdit ( Пуск -> Выполнить ..., введите regedit)
  2. Перейдите к « HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation».
  3. В меню « Правка» выберите « Создать» -> «Значение DWORD» .
  4. Назовите это значение " RealTimeIsUniversal".
  5. Дважды щелкните RealTimeIsUniversalи введите 1значения данных.

В следующий раз, когда вы загрузитесь в Windows, часы должны соответствовать часам Mac OS X, и вы все равно можете иметь часовой пояс Windows, совпадающий с часовым поясом, установленным в Mac OS X.

Вау, отличный совет для тех ситуаций двойной загрузки! Greg Hewgill 15 лет назад 0
Я использовал взлом реестра под Windows 7 в течение последних нескольких недель. Все идет нормально. Он даже правильно переключился при переходе на летнее время. kdmurray 15 лет назад 0
3
JP Alioto

Проверьте настройки синхронизации часов в Windows. Это может быть настройка часов с помощью интернет-источника и смена часов.

У меня была эта проблема - OS X был установлен на GMT + 1, и я забыл, что Windows все еще был установлен на GMT + 9.5. dbr 15 лет назад 0
0
Dan Walker

Убедитесь, что вы используете один и тот же часовой пояс в обеих операционных системах. Если один имеет другой часовой пояс, он может изменить системные часы, чтобы показать свой часовой пояс, который будет отличаться от времени другой ОС.

Mac (например, linux / unix) сохраняют системные часы в формате UTC и применяют часовой пояс в качестве модификатора для отображения. Windows хранит системные часы по местному времени. Следовательно, если Windows понимает, что ее часы «неправильные», она это исправит. Таким образом, одним из обходных путей будет намеренно установить часовой пояс Windows на UTC. John Fouhy 15 лет назад 2
0

У меня есть сценарий входа на стороне Mac - в моем случае Leopard - это простой сценарий оболочки для установки часов через Интернет:

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

Поэтому, когда вы загружаетесь в Windows, он отправляет часы на 5 часов вперед, если вы находитесь на восточном побережье, и когда вы перезагружаетесь в Mac OS X, он переводит часы обратно в UTC.

Приветствия ...

Джим Ферр

Как настроить автоматический запуск при входе в систему? Brian Willis 15 лет назад 0

Похожие вопросы