Napraw problemy z czasem w Ubuntu — rozwiąż problemy z synchronizacją
Ubuntu pokazuje zły czas, a losowe ustawienia nie naprawiają tego na długo. Naucz się systemu dwóch zegarów, przeczytaj jeden ekran timedatectl, dopasuj swój wzór do prawdziwej przyczyny – podwójnego rozruchu, NTP, strefy czasowej lub wyczerpującej się baterii CMOS – i napraw to.
📑Rozdziały
- Dlaczego Ubuntu pokazuje zły czas – dwa zegary w komputerze
- Przeczytaj jeden ekran timedatectl, zanim cokolwiek zmienisz
- Dopasuj swój wzór do prawdziwej przyczyny – podwójnego rozruchu, NTP, strefy czasowej lub baterii CMOS
- Włącz internetową synchronizację czasu (NTP) i sprawdź, czy działa
- Ustaw prawidłowo strefę czasową, podając dokładną nazwę strefy
- Podwójny rozruch: zakończ walkę z zegarem Windows-Ubuntu, wybierając jedną regułę
- Wstaw prawidłowy czas z powrotem do zegara sprzętowego
- Kiedy rzeczywiście jest to bateria CMOS i jak synchronizacja ją obejmuje
📋Omówienie i przewodnik krok po kroku
Dwa zegary: znajdź, który kłamie
Każdy komputer przechowuje czas w dwóch miejscach. RTC (zegar czasu rzeczywistego) to mały zegar sprzętowy na płycie głównej, który odmierza czas pracy baterii, gdy komputer jest wyłączony. Zegar systemowy jest tym, co Ubuntu pokazuje podczas działania i jest korygowany przez Internet przez usługę synchronizacji zwaną NTP. Podczas rozruchu Ubuntu odczytuje RTC i buduje na jego podstawie zegar systemowy.
Zatem zły zegar oznacza jedną z trzech rzeczy: RTC miał niewłaściwą wartość, Ubuntu odczytał go z błędnym założeniem lub korekta internetowa nigdy nie nastąpiła. Najczęstszym błędem popełnianym przez większość ludzi jest naprawianie tarczy zegara zamiast przyczyny. Jedno polecenie oddziela wszystkie trzy przyczyny - to jest kolejny krok.
Przeczytaj timedatectl zanim cokolwiek zmienisz
Otwórz terminal i uruchom to polecenie. Nie potrzebujesz sudo, żeby spojrzeć:
timedatectl
Pojawi się siedem linii; sześć z nich ma znaczenie. Czas lokalny to czas na tarczy zegara po konwersji strefy czasowej. Czas uniwersalny to ten sam moment w formacie UTC – jest to liczba, która sama w sobie musi się zgadzać. Czas RTC to aktualny zegar sprzętowy na płycie głównej. Strefa czasowa to strefa, na którą Ubuntu konwertuje, na przykład Asia/Kalkuta (IST, +0530). Zsynchronizowany zegar systemowy mówi „tak”, jeśli synchronizacja czasu w Internecie powiodła się przynajmniej po tym uruchomieniu. RTC w lokalnym TZ: nie oznacza, że Ubuntu zakłada, że RTC utrzymuje UTC - ta jedna linijka opisuje całą historię podwójnego rozruchu.
Na zdrowej maszynie czas RTC odpowiada uniwersalnej linii czasu, zsynchronizowana linia mówi „tak”, a usługa NTP jest aktywna. Zapisz, co widzisz na ekranie, zanim cokolwiek zmienisz — dwie minuty czytania tutaj oszczędzają godzinę przypadkowych poprawek.
Dopasuj wzór do prawdziwej przyczyny
Niewłaściwy czas to nie jeden problem. Rozmiar i kształt błędu niemal za każdym razem wskazuje winowajcę:
Błąd co do dokładnego przesunięcia strefy (5 godzin i 30 minut w Indiach) i zmienia się po uruchomieniu innego systemu operacyjnego – walka RTC z dwoma rozruchami. Windows i Ubuntu nie zgadzają się co do znaczenia zegara sprzętowego. Przejdź do kroku 6.
Błąd co do minut, rośnie powoli w ciągu tygodni – synchronizacja jest wyłączona lub nie działa, albo sam zegar RTC dryfuje. Sprawdź zsynchronizowaną linię i przejdź do kroku 4.
Poprawnie, gdy komputer działa, znowu źle po każdym wyłączeniu – zegar RTC traci czas lub błędnie odczytuje czas, gdy jest wyłączony. Na starym sprzęcie jest to bateria CMOS. Przejdź do kroku 7.
Właściwa nazwa strefy na ekranie, i tak zły czas – strefa to ustawienie wyświetlania, a nie sam czas. Twoja uniwersalna linia czasu również będzie błędna. Przejdź do kroku 5 i sprawdź ponownie.
Błąd tylko w maszynie wirtualnej, przeskakiwanie po przywróceniu lub wznowieniu - maszyna wirtualna zabiera czas swojemu hostowi i migawkom, a nie tylko NTP.
Włącz internetową synchronizację czasu (NTP).
Większość jednorozruchowych maszyn Ubuntu leczy się samoczynnie, jeśli synchronizacja może zostać uruchomiona. Włącz go za pomocą tego polecenia (poprosi o podanie hasła):
timedatectl set-ntp true
Wolisz graficzny interfejs użytkownika? Otwórz Ustawienia, następnie Data i godzina i włącz opcję Automatyczna data i godzina. Następnie poczekaj minutę na działającym połączeniu internetowym i ponownie uruchom timedatectl. Wiersz Zsynchronizowany zegar systemowy powinien teraz zawierać komunikat tak, a czas powinien osiągnąć prawidłową wartość.
Ustaw prawidłowo strefę czasową
Jeśli sama strefa jest nieprawidłowa, wszystko inne wygląda na zepsute. Najpierw sprawdź bieżącą strefę w wierszu Strefa czasowa wyniku timedatectl. W nazwach stref rozróżniana jest wielkość liter i używane są ukośniki, np. Asia/Kalkuta. Wymień dokładne nazwy i ustaw swoje:
timedatectl list-timezones
sudo timedatectl set-timezone Asia/Kolkata
Uruchom ponownie timedatectl i potwierdź, że wiersz Czas lokalny pokazuje teraz godzinę na zegarze ściennym, ze strefą oznaczoną jako Asia/Kalkuta (IST, +0530). Nadal się mylisz, wyświetlając właściwą strefę? Wtedy strefa nie była już problemem – wróć do listy wzorów w kroku 3.
Podwójny rozruch: wybierz jedną regułę zegara sprzętowego
Na maszynie z podwójnym rozruchem musisz wybrać jedną konwencję i uzgodnić oba systemy. Wartość domyślna Ubuntu jest rozsądna: RTC przechowuje UTC (RTC w lokalnym TZ: nie), a każdy system operacyjny jest konwertowany do wyświetlania. Domyślnie system Windows działa odwrotnie: traktuje RTC jako czas lokalny. Ta różnica zdań jest powodem, dla którego każdy przełącznik systemu operacyjnego przesuwa zegar dokładnie o przesunięcie strefy.
Szybkim kompromisem po stronie Ubuntu jest to polecenie — Ubuntu następnie odczytuje i zapisuje RTC zgodnie z oczekiwaniami systemu Windows:
timedatectl set-local-rtc 1 --adjust-system-clock
Alternatywą jest nauczenie systemu Windows używania czasu UTC poprzez wartość rejestru RealTimeIsUniversal, pozostawiając Ubuntu z czystymi ustawieniami domyślnymi. Którąkolwiek stronę wybierzesz - wybierz tylko jedną. Zastosowanie obu poprawek odwraca błąd w przeciwnym kierunku.
Zapisz poprawny czas w zegarze sprzętowym
Gdy zegar systemowy będzie prawidłowy i zsynchronizowany, zapisz poprawną wartość w zegarze RTC, aby następny zimny rozruch rozpoczął się prawidłowo:
sudo hwclock --systohc
sudo hwclock --show
Pierwsze polecenie kopiuje czas systemowy do zegara sprzętowego; drugi pokazuje, co obecnie posiada sprzęt. Następnie wyłącz całkowicie, poczekaj minutę, uruchom komputer i sprawdź czas, zanim sieć się połączy, jeśli to możliwe – RTC powinien już działać prawidłowo.
Jeśli godzina znów jest nieprawidłowa po całkowitym wyłączeniu zasilania, nawet teraz oprogramowanie zrobiło wszystko, co w jego mocy - podejrzewał baterię CMOS lub dryfujący zegar RTC na starym sprzęcie. W ten sposób można żyć ze słabą baterią bez jej natychmiastowej wymiany: przy włączonej synchronizacji NTP (krok 4) Ubuntu samoczynnie koryguje zegar wkrótce po każdym uruchomieniu, po nawiązaniu połączenia z siecią. Wymiana baterii nadal stanowi prawdziwą naprawę sprzętu, ale synchronizacja obejmuje ją w codziennym użytkowaniu.
timedatectl, zamiast ciągle ustawiać czas ręcznie; Zegar, który codziennie korygujesz, jest usterką, której jeszcze nie znalazłeś.🏷️Zmienne wyszukiwania tematów i słowa kluczowe
🎙️ Pełna transkrypcja — kliknij, aby rozwinąć
__TOK_39__
__TOK_40__
__TOK_41__
❓ Najczęściej zadawane pytania
Czy korzystanie z tego samouczka jest w 100% bezpłatne?
__TOK_42__
Czy początkujący mogą postępować zgodnie z tym przewodnikiem?
__TOK_43__
Gdzie mogę zadawać pytania, jeśli utknę?
__TOK_44__