Часы на моем Mac меняются при загрузке в Windows
Я использую iMac с OS X Leopard и Windows 7 Release Candidate (используя bootcamp). Иногда, когда я загружаюсь в Windows, а затем снова загружаюсь в OSX, я обнаруживаю, что Windows изменила часы системы, чтобы использовать неверное время. У меня была эта проблема при использовании Vista с bootcamp тоже.
Как я могу предотвратить это?
4 ответа
Изменить: после нескольких дней использования метода, который я первоначально опубликовал, я обнаружил, что RealTimeIsUniversal
flag, как не поддерживаемый остаток от 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):
- Запустите RegEdit (Пуск -> Выполнить..., введите
regedit
) - Перейдите к "
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
". - В меню " Правка" выберите " Создать" -> "Значение DWORD".
- Назовите это значение
RealTimeIsUniversal
". - Дважды щелкните на
RealTimeIsUniversal
и введите1
для значений данных.
В следующий раз, когда вы загрузитесь в Windows, часы должны совпадать с часами Mac OS X, и вы все равно можете настроить часовой пояс Windows на часовой пояс, установленный в Mac OS X.
Проверьте настройки синхронизации часов в Windows. Это может быть настройка часов с помощью интернет-источника и смена часов.
У меня есть сценарий входа на стороне Mac - в моем случае Leopard - это простой сценарий оболочки для установки часов через Интернет:
#!/bin/sh
ntpdate -uvs time.apple.com
exit 0
Поэтому, когда вы загружаетесь в Windows, он отправляет часы на 5 часов вперед, если вы находитесь на восточном побережье, и когда вы перезагружаетесь в Mac OS X, он переводит часы обратно в UTC.
Приветствия ...
Джим Ферр
Убедитесь, что вы используете один и тот же часовой пояс в обеих операционных системах. Если один из них имеет другой часовой пояс, он может изменить системные часы, чтобы показать свой часовой пояс, который будет отличаться от времени другой ОС.