Czas komputera (serwera) jest tracony po wyłączeniu / ponownym uruchomieniu

W tym artykule zastanawiamy się, dlaczego po wyłączeniu lub ponownym uruchomieniu laptopa / komputera / serwera w systemie operacyjnym bieżące ustawienia daty i godziny określone wcześniej mogą zostać zresetowane. Rozważ najczęstszą przypadek z rozładowaną baterią BIOS, a także bardziej interesujące przypadki z wielokrotnym uruchomieniem systemu Windows i Linux na jednym komputerze oraz błąd oprogramowania układowego na serwerach Windows HPE ProLiant G9 / G8.

Treść

  • Czas nie jest oszczędzany z powodu rozładowanej baterii BIOS-u
  • Ustawienia strefy czasowej i synchronizacja czasu z time.windows.com
  • Synchronizacja czasu domeny Windows
  • Stracony czas podczas przełączania między systemem Linux i Windows (Dual Boot)
  • Stracony czas po ponownym uruchomieniu na serwerach HP z systemem Windows Server

Czas nie jest oszczędzany z powodu rozładowanej baterii BIOS-u

Najbardziej „klasyczna” odpowiedź na pytanie „Dlaczego godzina i data na komputerze nie są zapisywane i tracone?” - Zużyta bateria systemu BIOS. Ta bateria jest odpowiedzialna za zapisywanie ustawień BIOS / UEFI, gdy komputer / laptop jest odłączony, a także zapewnia autonomiczne działanie wbudowanego zegara sprzętowego.

Jeśli bateria się wyczerpie, to po wyłączeniu zasilania płyty głównej BIOS nie może zapisać swoich ustawień i wszystkie zostaną zresetowane, w tym bieżąca data i godzina. Jeśli komputer jest dość stary, prawdopodobieństwo wyczerpania baterii jest bardzo wysokie. Zdecydowanie zalecamy jego wymianę. Nie jest to trudne i z reguły BIOS nie wymaga specjalnych umiejętności inżynieryjnych, aby wymienić baterię BIOS. Większość systemów domowych korzysta ze standardowej 3-woltowej baterii CR2032 w systemie BIOS..

Jeśli wymiana baterii nie pomogła, sprawdź stan zworki resetowania systemu BIOS (zworka ze zworką znajduje się obok komory akumulatora i może być podpisana jako CCMOS / CLEAR / RESET). Być może ktoś pozostawił zworkę w pozycji „resetowania”, w wyniku czego za każdym razem, gdy zasilanie płyty głównej jest zasilane, ustawienia BIOS są resetowane. Ustaw zworkę w normalnej pozycji..

Kolejną opcją jest aktualizacja systemu BIOS płyty głównej (jak to zrobić, zobacz stronę internetową producenta sprzętu). Często w nowszym oprogramowaniu naprawiane są różne błędy.

Ustawienia strefy czasowej i synchronizacja czasu z time.windows.com

W przypadku ciągłej zmiany ustawień daty i godziny w systemie Windows należy przede wszystkim sprawdzić bieżące ustawienia strefy czasowej i ustawienia synchronizacji czasu z Internetem. W systemie Windows 10 bieżące ustawienia czasu można wyświetlić w menu paska narzędzi (Panel sterowania \ Zegar, język i region -> Data i godzina). W tym przykładzie widać, że strefa czasowa to UTC + 03, przejście na czas zimowy jest wyłączone.

Wskazówka. Możesz kontrolować strefę czasową systemu Windows z wiersza poleceń za pomocą narzędzia tzutil.

Jeśli komputer nie należy do domeny, sprawdź ustawienia synchronizacji czasu z zewnętrznym źródłem czasu (serwerem czasu NTP). W takim przypadku w tym samym oknie kliknij kartę „Czas w Internecie” i sprawdź, czy komputer jest skonfigurowany do automatycznej synchronizacji czasu z czasem serwera. Windows.com.

Wskazówka. Przypominam, że od 2014 r. W Rosji anulowano czas letni. Być może przez długi czas nie aktualizowałeś swojego systemu operacyjnego (Windows 8 i niższych) i nie zainstalowałeś aktualizacji, które wyłączają czas letni.

Synchronizacja czasu domeny Windows

Jeśli komputer należy do domeny Active Directory, informacje na temat działania synchronizacji czasu w domenie można znaleźć w tym artykule..

Stracony czas podczas przełączania między systemem Linux i Windows (Dual Boot)

Powinniśmy również rozważyć konfiguracje, gdy dwa systemy operacyjne (Windows i Linux) są zainstalowane na komputerze w konfiguracji podwójnego rozruchu. Możesz napotkać problem polegający na tym, że po przełączeniu między systemami operacyjnymi (rozruch systemu Linux po Windows) czas zostanie utracony o kilka godzin do przodu lub do tyłu.

Windows i Linux działają inaczej z czasami BIOS-u. Chodzi tutaj o obecność dwóch formatów reprezentujących czas UTC i czas lokalny.

Systemy operacyjne GNU / Linux (w tym Mac OS X) uważają, że czas BIOS jest w UTC (GMT). W związku z tym podczas ładowania systemu Linux w celu konwersji UTC na czas lokalny dodaje (odejmuje) przesunięcie bieżącej strefy czasowej wybranej przez użytkownika. Tj. aby uzyskać czas lokalny dla strefy czasowej Moskwy UTC + 3, Linux doda 3 godziny.

System Windows uważa, że ​​BIOS przechowuje czas w formacie czasu lokalnego, a jeśli określisz nową strefę czasową lub zsynchronizujesz czas ze źródłem zewnętrznym, system odpowiednio zmieni czas BIOS na czas lokalny. Linux (w moim przypadku Ubuntu) uważa, że ​​czas w systemie BIOS jest w formacie UTC i dodatkowo dodaje przesunięcie strefy czasowej. Właśnie dlatego czas gubi się przy przełączaniu między Linuksem a Windows.

Aby to naprawić, musisz przełączyć system Windows na czas UTC przy użyciu ustawienia rejestru RealTimeIsUniversal.

reg dodaj „HKLMACHINE \ System \ CurrentControlSet \ Control \ TimeZoneInformation” / v RealTimeIsUniversal / t REG_DWORD / d 1 / f

Wskazówka. W 64-bitowych wersjach systemu Windows należy utworzyć parametr typu QWORD zamiast DWORD: reg dodaj HKLM \ SYSTEM \ CurrentControlSet \ Control \ TimeZoneInformation / v RealTimeIsUniversal / t REG_QWORD / d 1

Również w systemie Windows musisz wyłączyć aktualizację czasu z Internetu, ponieważ Usługa czasu systemu Windows resetuje czas UTC do czasu lokalnego przy każdej aktualizacji.

sc config w32time start = wyłączone

Pozostaje zrestartować system Windows.

Lub możesz zmienić system Linux na czas lokalny. W systemie Ubuntu 15.04 i nowszych oraz CentOS można to zrobić za pomocą komendy timedatectl:

timedatectl set-local-rtc 1

Stracony czas po ponownym uruchomieniu na serwerach HP z systemem Windows Server

Na serwerach HPE DL / ML Gen9 z systemem Windows Server 2008 R2 / 2012 R2 jeden ze zdalnych klientów napotkał interesujący problem po zmianie strefy czasowej. Jak się okazało, na serwerach HP ProLiant Gen9 (i na jednym z serwerów HP ProLiant DL580 Gen8), gdy zmieniła się czas systemowy lub strefa czasowa, po ponownym uruchomieniu serwera czas systemowy nie został zapisany i został zresetowany do poprzedniego. Problem dotyczył serwerów, na których system Windows Server uruchamia się w trybie Legacy (nie było problemu z cofnięciem czasu w przypadku macierzystego rozruchu UEFI).

Jednocześnie w dzienniku systemowym pojawiło się następujące zdarzenie:

Czas systemowy zmienił się na 2018 - 04 - 29T12: 12: 28.500000000Z od 2018-04 - 29T13: 12: 27.923115700Z.
Zmień powód: Czas systemowy zsynchronizowany z zegarem sprzętowym.

Jako rozwiązanie problemu HP sugeruje aktualizację pamięci ROM do wersji co najmniej 1.5. W tej wersji narzędzia instalacyjnego opartego na pamięci ROM (RBSU) nie występuje błąd resetowania czasu.

Lub jako obejście problemu można określić, że system Windows uważa, że ​​system BIOS podaje czas systemowy w UTC (a nie czas lokalny). Aby to zrobić, jak powiedzieliśmy powyżej, musisz utworzyć parametr w kluczu rejestru HKLM \ SYSTEM \ CurrentControlSet \ Control \ TimeZoneInformation o nazwie RealTimeIsUniversal i wartość 1.