Jak naprawić system Windows i Linux wyświetlając różne czasy podczas podwójnego uruchamiania
Twój komputer przechowuje czas na zegarze sprzętowym na płycie głównej. Zegar śledzi czas, nawet gdy komputer jest wyłączony. Domyślnie Windows zakłada, że czas jest przechowywany w czasie lokalnym, podczas gdy Linux zakłada, że czas jest przechowywany w czasie UTC i stosuje przesunięcie. Prowadzi to do jednego z systemów operacyjnych, który pokazuje zły czas w sytuacji podwójnego rozruchu.
Aby to naprawić, masz dwie opcje: spraw, aby Linux używał czasu lokalnego lub aby system Windows używał czasu UTC. Nie wykonuj obu instrukcji lub nadal nie będą mówić tym samym językiem! Zalecamy, aby Linux wykorzystał czas lokalny, jeśli to możliwe.
Opcja pierwsza: Make Linux Use Local Time
Uczynienie z Linuksa czasu lokalnego w ten sam sposób, w jaki działa Windows, jest prawdopodobnie najlepszą opcją. System Windows ma ustawienie rejestru, które wymusza przechowywanie czasu jako UTC, ale podobno nie jest dobrze obsługiwane i może powodować problemy z niektórymi aplikacjami innych firm, które zawsze zakładają, że zegar sprzętowy jest w czasie lokalnym. Jest to również niezgodne z własną internetową usługą synchronizacji czasu w systemie Windows.
Czynności, które sprawią, że twój system Linux będzie korzystał z czasu lokalnego, może różnić się od dystrybucji Linuksa do dystrybucji Linuksa. Jednak w każdej dystrybucji Linuksa z systemd możesz użyć timedatectl
polecenie, aby dokonać tej zmiany. To będzie działać na nowoczesnych wersjach Ubuntu, Fedory, Red Hata, Debiana, Minta i innych dystrybucji Linuksa używających systemd.
Aby to zmienić, najpierw otwórz okno terminala w systemie Linux. Uruchom następujące polecenie, aby umieścić zegar czasu rzeczywistego na płycie głównej na czas lokalny. Linux będzie przechowywać czas w czasie lokalnym, podobnie jak system Windows.
timedatectl set-local-rtc 1 --adjust-system-clock
Aby sprawdzić bieżące ustawienia, uruchom:
timedatectl
Jeśli widzisz "RTC w lokalnej TZ: tak", Linux jest ustawiony do korzystania z lokalnej strefy czasowej zamiast UTC. Polecenie ostrzega, że ten tryb nie jest w pełni obsługiwany i może powodować pewne problemy podczas zmiany strefy czasowej i czasu letniego. Jednak ten tryb jest prawdopodobnie lepiej obsługiwany niż opcja UTC w systemie Windows. W przypadku podwójnego rozruchu w systemie Windows system Windows będzie obsługiwał czas letni.
Jeśli kiedykolwiek chcesz cofnąć tę zmianę, uruchom następujące polecenie:
timedatectl set-local-rtc 0 --adjust-system-clock
Opcja druga: spraw, aby system Windows używał czasu UTC
Użycie systemu Windows w czasie UTC, takim jak Linux, prawdopodobnie nie jest najlepszą opcją. Możesz edytować rejestr, aby system Windows korzystał z czasu UTC, ale może to potencjalnie spowodować więcej problemów niż tylko sprawienie, że Linux użyje czasu lokalnego.
Jeśli chcesz to zrobić, najpierw chcesz wyłączyć funkcję aktualizacji czasu Internetu w systemie Windows. Gwarantuje to, że system Windows nie ustawi zegara niepoprawnie podczas próby zsynchronizowania bieżącego czasu z Internetem. W systemie Windows 10 wybierz Ustawienia> Czas i język i wyłącz opcję "Ustaw czas automatycznie". W systemie Windows 7 kliknij prawym przyciskiem myszy zegar systemowy na pasku zadań i wybierz "Dostosuj datę / godzinę". Kliknij kartę "Czas internetowy", kliknij przycisk "Zmień ustawienia", odznacz opcję "Synchronizacja z internetowym serwerem czasu" i kliknij "OK".
Spraw, aby system Windows używał czasu UTC, edytując rejestr
Będziesz teraz musiał dodać odpowiednią wartość do rejestru systemu Windows. Oto nasze standardowe ostrzeżenie: Edytor rejestru jest potężnym narzędziem, a jego niewłaściwe użycie może spowodować niestabilność systemu lub nawet uniemożliwić jego działanie. To dość łatwy hack i nie powinieneś mieć żadnych problemów, dopóki będziesz postępować zgodnie z instrukcjami. To powiedziawszy, jeśli nigdy wcześniej z nim nie pracowałeś, pomyśl o tym, jak korzystać z Edytora rejestru, zanim zaczniesz. I zdecydowanie wykonaj kopię zapasową rejestru (i komputera!) Przed wprowadzeniem zmian.
Najpierw otwórz Edytor rejestru, klikając Start, wpisując "regedit" i naciskając Enter. Zgadzam się z wyświetlonym monitem bezpieczeństwa.
Przejdź do następującego klucza w lewym okienku edytora rejestru:
HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ TimeZoneInformation
W najnowszych wersjach systemu Windows 10 możesz skopiować i wkleić powyższą linię w polu adresu. Jednak ten hack będzie działał również na Windowsie 7.
Kliknij prawym przyciskiem myszy klucz "TimeZoneInformation" i wybierz Nowy> Wartość DWORD (32-bitowa).
Nazwij swoją nową wartość RealTimeIsUniversal
.
Kliknij dwukrotnie ikonę RealTimeIsUniversal
wartość, którą właśnie utworzyłeś, ustaw wartość danych na 1
, i kliknij "OK".
Właśnie skończyłeś i możesz zamknąć Edytor rejestru. Windows będzie przechowywać czas w UTC, podobnie jak Linux.
Jeśli kiedykolwiek chcesz cofnąć tę zmianę, wróć do tej lokalizacji w rejestrze, kliknij prawym przyciskiem myszy RealTimeIsUniversal
wartość dodana i usuń ją z rejestru.
Pobierz nasz prosty rejestr rejestru
Jeśli nie chcesz edytować rejestru samodzielnie, możesz skorzystać z naszego hackowania do pobrania. Stworzyliśmy jeden hack, który sprawia, że Windows używa czasu UTC, i który przywraca go do czasu lokalnego. Oba znajdują się w następującym pliku ZIP. Wystarczy pobrać plik, dwukrotnie kliknąć hack, którego chcesz użyć, i wyrazić zgodę na dodanie informacji do rejestru.
Spraw, aby system Windows używał czasu UTC
Powyższe hacki robią to samo, co opisaliśmy powyżej. Użycie czasu UTC w usłudze Make Windows powoduje utworzenie wpisu "RealTimeIsUniversal" o wartości "1", natomiast użycie atrybutu Make Windows Use Local Time powoduje usunięcie wpisu "RealTimeIsUniversal".
Jeśli chcesz zobaczyć, co robi ten lub inny plik .reg, kliknij go prawym przyciskiem myszy i wybierz "Edytuj", aby wyświetlić plik w Notatniku. Możesz łatwo tworzyć własne hacki rejestru, które składają się z listy wpisów rejestru, które można dodawać, edytować i usuwać na prawidłowo sformatowanej liście.
Co z podwójnym uruchamianiem systemu Windows na komputerze Mac??
Chociaż MacOS firmy Apple używa czasu UTC, takiego jak Linux, nie powinieneś robić nic specjalnego, gdy uruchamiasz system Windows w Boot Camp na komputerze Mac. Sterowniki Apple Boot Camp obsługują wszystko. (Podwójne bootery Hackintosh to już inna historia i będą musieli spróbować skorzystać z podkręcania rejestru systemu Windows powyżej).
Jeśli zastanawiasz się, dlaczego Windows wykorzystuje czas lokalny zamiast UTC, tak jak inne systemy operacyjne, oficjalny blog Microsoft The Old New Thing wyjaśnia to tutaj. Krótko mówiąc, miało to na celu zachowanie zgodności wstecznej z systemami Windows 3.1 i zapobieganie dezorientacji ludzi, gdy ustawiają czas w BIOS-ie komputera. Oczywiście producenci komputerów osobistych wybierali czas lokalny, aby byli zgodni z Windows, a Windows wybrał czas lokalny, aby był zgodny z decyzją producentów komputerów, więc cykl stał się samonośny.
Obecnie nie ma standardu oznaczania, czy czas jest przechowywany jako UTC lub czas lokalny w oprogramowaniu BIOS lub UEFI, co prawdopodobnie byłoby najbardziej logicznym rozwiązaniem. Ale wymagałoby to trochę pracy i większość ludzi nigdy nie zauważy, że różne systemy operacyjne używają różnych formatów czasu - z wyjątkiem konfiguracji z podwójnym ładowaniem.