Edycja: Po kilku dniach korzystania z metody, którą pierwotnie opublikowałem, odkryłem, że RealTimeIsUniversal
flaga, jako nie zachowana pozostałość po Windows NT, jest w rzeczywistości dość niestabilna i ogólnie niepraktyczna. Co jakiś czas, w pozornie przypadkowych odstępach czasu, zegar Windows wracał z czasu UTC do czasu lokalnego, co było bardzo denerwujące (i powodowało kilka zatwierdzeń git, które wyglądają, jakby były z przyszłości w dzienniku zatwierdzeń). To sprawiło, że szukałem kolejnej poprawki…
Zasadniczo problem polega na tym, że, jak wspomniał John Fouhy w komentarzu, system Windows utrzymuje zegar w czasie lokalnym, podczas gdy OS X utrzymuje zegar w UTC (używając określonej strefy czasowej jako modyfikatora, aby podać prawidłowy czas). Aby to naprawić, jeden z systemów operacyjnych będzie musiał pochylić się do tyłu i śledzić czas przy użyciu metody drugiego systemu.
Teraz najbardziej niezawodną metodą, jaką znalazłem do tej pory, aby rozwiązać ten problem, jest po prostu przełączenie zegara OS X na czas lokalny z czasu UTC przy każdym wyłączeniu, a następnie przełączenie go z powrotem przy każdym uruchomieniu. Dokładną metodę tego można znaleźć na wiki projektu OSx86 , co ciekawe. (Mała uwaga: jest kilka rzeczy, które wydają się być specyficzne dla OSx86, a mianowicie plist LaunchDaemon do instrukcji Leoparda. Jednak wypróbowałem dosłownie metodę Leoparda na moim MacBooku Pro i działa dobrze. Innymi słowy, po prostu postępuj zgodnie ze wskazówkami dokładnie tak, jak napisano, i nie przejmuj się odniesieniami do OSx86 w plikach - nie mają one znaczenia).
Oto stare rozwiązanie, jeśli chcesz je wypróbować. Ostrzegam: nigdy nie zostało to zaktualizowane, aby działało poprawnie z nowszymi wersjami systemu Windows, więc jest to bardzo zawodne, ponieważ dowiedziałem się na własnej skórze…
Innym sposobem synchronizacji zegarów jest wymuszenie na systemie Windows korzystania z UTC przez hack rejestru (sztuczkę, którą znalazłem w Mac OS X Hints ):
- Uruchom RegEdit ( Start -> Uruchom ... , wpisz
regedit
)
- Przejdź do „
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
”.
- Z menu Edycja wybierz Nowy -> Wartość DWORD .
- Nazwij tę wartość „
RealTimeIsUniversal
”.
- Kliknij dwukrotnie
RealTimeIsUniversal
i wprowadź 1
dane wartości.
Przy następnym uruchomieniu systemu Windows zegar powinien być zgodny z zegarem systemu Mac OS X, a strefa czasowa systemu Windows może być zgodna ze strefą czasową ustawioną w systemie Mac OS X.
Sprawdź ustawienia synchronizacji zegara w systemie Windows. Może to być regulacja zegara za pomocą źródła internetowego i zmiana zegara.
źródło
Sprawdź, czy używasz tej samej strefy czasowej w obu systemach operacyjnych. Jeśli ktoś ma inną strefę czasową, może zmienić zegar systemowy, aby pokazywał swoją strefę czasową, która byłaby inna niż czas drugiego systemu operacyjnego.
źródło
Mam skrypt logowania po stronie Maca - w moim przypadku Leopard - to prosty skrypt powłoki, który ustawia zegar przez Internet:
Kiedy więc uruchamiasz system Windows, wysyła zegar o 5 godzin do przodu, jeśli jesteś na wschodnim wybrzeżu, a po ponownym uruchomieniu systemu Mac OS X ustawia zegar z powrotem na UTC.
Twoje zdrowie...
Jim Ferr
źródło