17

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

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

4 ответа4

17

Изменить: После нескольких дней использования метода, который я первоначально опубликовал, я обнаружил, что флаг 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.

3

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

0

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

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

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

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

Джим Ферр

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .