Времето на компютъра (сървъра) се губи след изключване / рестартиране

В тази статия обмисляме защо след изключване или рестартиране на лаптоп / компютър / сървър в операционната система, текущите настройки за дата и час, посочени по-рано, могат да бъдат нулирани. Помислете за най-често срещания случай с мъртва батерия на BIOS, както и по-интересни случаи с мултитаут Windows и Linux на един компютър и грешка във фърмуер на Windows HPE ProLiant G9 / G8 сървъри.

Съдържание:

  • Времето не се спестява поради изгубена BIOS батерия
  • Настройки на часовата зона и синхронизация на времето с time.windows.com
  • Синхронизиране на време в домейна на Windows
  • Загубено време при превключване между Linux и Windows (Dual Boot)
  • Загубено време след рестартиране на сървърите на HP, работещи под Windows Server

Времето не се спестява поради изгубена BIOS батерия

Най-„класическият“ отговор на въпроса „Защо часът и датата на компютъра не се запазват и губят?“ - Мъртва батерия на BIOS. Тази батерия е отговорна за запазването на настройките на BIOS / UEFI, когато компютърът / лаптопът е изключен, а също така осигурява автономна работа на вградения хардуерен часовник.

Ако батерията се изтощи, тогава, когато изключите захранването на дънната платка, BIOS не може да запази настройките си и всички те се нулират, включително текущата дата и час. Ако компютърът ви е доста стар, вероятността батерията ви да е мъртва е изключително голяма. Горещо препоръчваме да го замените. Това не е трудно да се направи и като правило BIOS не изисква специални инженерни умения за подмяна на BIOS батерията. Повечето домашни системи използват стандартна 3-волтова CR2032 батерия в BIOS..

Ако подмяната на батерията не помогна, проверете състоянието на джъмпера за нулиране на BIOS (джъмпер с джъмпер е разположен до отделението за батерията и може да бъде подписан като CCMOS / CLEAR / RESET). Може би някой е оставил този джъмпер в положение „нулиране“, в резултат на което всеки път, когато захранването се захранва към дънната платка, настройките на BIOS се нулират. Върнете джъмпера в нормалното си положение..

Следващата опция е актуализиране на BIOS на дънната платка (как да направите това, вижте уебсайта на вашия производител на хардуер). Често в по-новите фърмуери се отстраняват различни грешки.

Настройки на часовата зона и синхронизация на времето с time.windows.com

В случай, че постоянно променяте настройките за дата / час в Windows, на първо място проверете текущите настройки на часовата зона и настройките за синхронизация на времето с Интернет. В Windows 10 текущите настройки за времето могат да се видят в менюто на лентата с инструменти (Контролен панел \ Часовник, език и регион -> Дата и час). В този пример можете да видите, че часовата зона е UTC + 03, преминаването към зимно време е деактивирано.

съвет. Можете да контролирате часовата зона на Windows от командния ред с помощта на помощната програма tzutil.

Ако вашият компютър не е в домейн, проверете настройките за синхронизиране на времето с външен източник на време (NTP сървър за време). В този случай в същия прозорец кликнете върху раздела "Време в Интернет" и проверете дали компютърът е конфигуриран автоматично да синхронизира времето със сървъра time.windows.com.

съвет. Нека ви напомня, че от 2014 г. насам в Русия е отменено лятното часово време. Може би не сте актуализирали вашата ОС (Windows 8 и по-нови версии) от дълго време и не сте инсталирали актуализации, които деактивират лятното часово време.

Синхронизиране на време в домейна на Windows

Ако вашият компютър е част от домейн в Active Directory, от тази статия можете да получите информация за това, как работи синхронизацията във времето..

Загубено време при превключване между Linux и Windows (Dual Boot)

Трябва също така да вземем предвид конфигурациите, когато на компютъра са инсталирани две операционни системи (Windows и Linux) в конфигурацията с двойно зареждане. Може да срещнете проблем, че след превключване между операционни системи (зареждане в Linux след Windows), времето ще бъде загубено за няколко часа напред или назад.

Windows и Linux работят по различен начин с BIOS пъти. Важното тук е наличието на два формата за представяне на времето UTC и LOCALTIME.

Операционните системи GNU / Linux (включително Mac OS X) смятат, че времето на BIOS е в UTC (GMT). Съответно, когато зареждате Linux за конвертиране на UTC в местно време, той добавя (изважда) компенсирането на текущата часова зона, която потребителят е избрал. Т.е. за да получи местно време за московската часова зона UTC + 3, Linux ще добави 3 часа.

Windows вярва, че BIOS съхранява времето във формат localtime и ако посочите нова часова зона или синхронизирано време с външен източник, системата променя съответно времето на BIOS на местно време. Linux (Ubuntu в моя случай) вярва, че времето в BIOS е във формат UTC и допълнително добавя компенсиране на часовата зона. Ето защо времето се губи при превключване между Linux и Windows.

За да коригирате това, трябва да превключите Windows, за да използва времето UTC, използвайки настройката на системния регистър RealTimeIsUniversal.

reg добавете "HKLMACHINE \ System \ CurrentControlSet \ Control \ TimeZoneInformation" / v RealTimeIsUniversal / t REG_DWORD / d 1 / f

съвет. В 64 битови версии на Windows, трябва да създадете параметър от тип QWORD вместо DWORD: reg добави HKLM \ SYSTEM \ CurrentControlSet \ Control \ TimeZoneInformation / v RealTimeIsUniversal / t REG_QWORD / d 1

Също така в Windows, трябва да изключите актуализацията на времето от Интернет, защото Времето услуга на Windows ще нулира времето на UTC до местно време с всяко обновяване.

sc config w32time start = забранено

Остава да рестартирате Windows.

Или можете да превключите Linux, за да използвате местно време. В Ubuntu 15.04 и по-нови версии и CentOS това може да стане с командата timedatectl:

timedatectl set-local-rtc 1

Загубено време след рестартиране на сървърите на HP, работещи под Windows Server

На HPE DL / ML Gen9 сървъри с Windows Server 2008 R2 / 2012 R2, един от отдалечените клиенти срещна интересен проблем след смяна на часовата зона. Както се оказа, на сървърите на HP ProLiant Gen9 (и на един от сървърите на HP ProLiant DL580 Gen8), когато системната часова или часова зона се промениха, след като сървърът се рестартира, системното време не беше запазено и беше върнато към предишното. Проблемът беше засегнат от сървъри, в които Windows Server се стартира в Legacy режим (нямаше проблем с връщането във времето с нативен UEFI зареждане).

В същото време в системния дневник се появи следното събитие:

Времето на системата се промени към 2018 г. - 04 - 29T12: 12: 28.500000000Z от 2018-04 - 29T13: 12: 27.923115700Z.
Промяна на причината: Времето на системата, синхронизирано с хардуерния часовник.

Като решение на проблема, HP предлага да се актуализира ROM до версия от поне 1.5. Именно в тази версия на помощната програма за настройка, базирана на ROM (RBSU), не се влияе от грешка за нулиране на времето.

Или като решение можете да посочите, че Windows счита, че BIOS му дава системното време в UTC (а не местно време). За да направите това, както казахме по-горе, трябва да създадете параметър в ключа на системния регистър HKLM \ SYSTEM \ CurrentControlSet \ Control \ TimeZoneInformation с името RealTimeIsUniversal и стойност 1.