Konflikty czasowe wielu systemów rozruchowych
Systemy operacyjne przechowują i pobierają czas w zegarze sprzętowym znajdującym się na płycie głównej, dzięki czemu może on śledzić czas, nawet gdy system nie ma zasilania. Większość systemów operacyjnych (Linux / Unix / Mac) domyślnie zapisuje czas na zegarze sprzętowym jako UTC , chociaż niektóre systemy (zwłaszcza Microsoft Windows) przechowują czas na zegarze sprzętowym jako czas „lokalny”. Powoduje to problemy w systemie podwójnego rozruchu, jeśli oba systemy inaczej patrzą na zegar sprzętowy.
Zaletą posiadania zegara sprzętowego jako UTC jest to, że nie trzeba zmieniać zegara sprzętowego podczas przemieszczania się między strefami czasowymi lub gdy zaczyna się lub kończy czas letni (DST), ponieważ UTC nie ma przesunięcia DST ani strefy czasowej.
Zmiana systemu Linux na czas lokalny jest łatwiejsza i bardziej niezawodna niż zmiana systemu Windows na UTC, więc systemy Linux / Windows z podwójnym uruchomieniem zwykle używają czasu lokalnego.
Od czasu Intrepid (8.10) domyślnym jest UTC = tak.
Niech Windows używa UTC
Uwaga: Ta metoda początkowo nie była obsługiwana w systemach Windows Vista i Server 2008, ale wróciła z Vista SP2, Windows 7, Server 2008 R2 i Windows 8 / 8.1.
Aby MS Windows obliczył czas z zegara sprzętowego jako UTC.
Utwórz plik o nazwie WindowsTimeFixUTC.reg z następującą zawartością, a następnie kliknij go dwukrotnie, aby scalić zawartość z rejestrem:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001
Uwaga: Usługa Czas systemu Windows będzie nadal zapisywać czas lokalny w RTC, niezależnie od powyższego ustawienia rejestru przy zamykaniu, więc wygodnie jest wyłączyć usługę Czas systemu Windows za pomocą tego polecenia (jeśli synchronizacja czasu jest nadal wymagana, podczas gdy w systemie Windows użyj dowolnego czasu innej firmy rozwiązanie synchronizacji):
sc config w32time start= disabled
Cofanie zmiany
Możesz utworzyć plik o następującej treści, a następnie kliknąć go dwukrotnie, aby scalić oryginalne zmiany, jak wyżej:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=-
Jeśli usługa Czas systemu Windows została wyłączona, włącz ją ponownie za pomocą polecenia:
sc config w32time start= demand
Niech Linux używa czasu „lokalnego”
Aby poinformować system Ubuntu, że zegar sprzętowy jest ustawiony na czas „lokalny”:
Systemy starsze niż Ubuntu 15.04 (np. Ubuntu 14.04 LTS):
- edytować
/etc/default/rcS
dodaj lub zmień następującą sekcję
# Set UTC=yes if your hardware clock is set to UTC (GMT)
UTC=no
Systemy Ubuntu 15.04 i nowsze (np. Ubuntu 16.04 LTS):
otwórz terminal i wykonaj następujące polecenie
timedatectl set-local-rtc 1