/ / Как да поправим Windows и Linux, показващи различно време при двойно зареждане

Как да поправим Windows и Linux, показващи различно време при двойно зареждане

Вашият компютър съхранява времето в хардуерен часовникна дънната си платка. Часовникът следи времето, дори когато компютърът е изключен. По подразбиране Windows приема, че времето се съхранява в местно време, докато Linux приема, че времето се съхранява в UTC време и прилага компенсиране. Това води до една от операционните ви системи, показваща грешно време в ситуация с двойно зареждане.

За да поправите това, имате две възможности: Накарайте Linux да използва местно време или накарайте Windows да използва UTC време. Не следвайте и двете стъпки на инструкциите или те все още няма да говорят един и същ език! Препоръчваме ви да накарате Linux да използва местно време, ако е възможно.

Вариант първи: Накарайте Linux да използва местно време

Да накараме Linux да използва местно време по същия начин, както Windowsнаистина е най-добрият вариант. Windows има настройка на системния регистър, която го принуждава да съхранява времето като UTC, но според съобщенията той не е добре поддържан и може да причини проблеми с някои приложения на трети страни, които винаги предполагат, че хардуерният часовник е в местно време. Освен това е несъвместима със собствената услуга за синхронизиране на времето в Windows.

Стъпките, за да накарате вашата Linux система да използва местно време, може да варира от Linux дистрибуция до Linux дистрибуция. Въпреки това, във всяка Linux дистрибуция със systemd, можете да използвате timedatectl команда за извършване на тази промяна. Това ще работи върху съвременни версии на Ubuntu, Fedora, Red Hat, Debian, Mint и други Linux дистрибуции, които използват systemd.

За да направите тази промяна, първо отворете прозорец на терминалана вашата Linux система. Изпълнете следната команда, за да поставите часовника в реално време на дънната платка в местно време. Linux ще съхранява времето в местно време, точно както прави Windows.

timedatectl set-local-rtc 1 --adjust-system-clock

За да проверите текущите си настройки, изпълнете:

timedatectl

Ако видите „RTC в местната TZ: да “, Linux е настроен да използва локалната часова зона вместо UTC. Командата ви предупреждава, че този режим не се поддържа напълно и може да причини някои проблеми при смяна между часовите зони и с лятното часово време. Този режим обаче вероятно е по-добре поддържан от опцията UTC в Windows. Ако сте с двойно зареждане с Windows, Windows ще се справи с лятното часово време за вас.

Ако някога искате да отмените тази промяна, изпълнете следната команда:

timedatectl set-local-rtc 0 --adjust-system-clock

Вариант втори: Накарайте Windows да използва UTC време

Да накараме Windows да използва времето UTC, като Linuxвероятно не е най-добрият вариант. Можете да редактирате системния регистър, за да накарате Windows да използва времето по UTC, но това потенциално може да доведе до повече проблеми, отколкото просто да накарате Linux да използва местно време.

Ако искате да направите това, първо ще искатедеактивирайте функцията за актуализиране на времето за интернет в Windows. Това гарантира, че Windows няма да настрои часовника неправилно, когато се опитва да синхронизира текущото време от интернет. В Windows 10 отидете на Настройки> Време и език и деактивирайте „Задаване на време автоматично“. В Windows 7 щракнете с десния бутон на мишката върху системния часовник в лентата на задачите и изберете „Регулиране на дата / час“. Щракнете върху раздела „Интернет време“, щракнете върху бутона „Промяна на настройките“, премахнете отметката от опцията „Синхронизиране с сървър за време на интернет“ и щракнете върху „OK“.

Накарайте Windows да използва UTC време чрез редактиране на системния регистър

Свързани: Да се ​​научим да използваме редактора на системния регистър като професионалист

Сега ще трябва да добавите съответната стойност къмсистемния регистър на Windows. Ето нашето стандартно предупреждение: Редакторът на системния регистър е мощен инструмент и злоупотребата с него може да направи вашата система нестабилна или дори неработеща. Това е доста лесен хак и не би трябвало да имате проблеми, стига да следвате инструкциите. Това каза, ако никога досега не сте работили с него, помислете за четене как да използвате редактора на системния регистър, преди да започнете. И определено архивирайте Регистъра (и вашия компютър!), Преди да направите промени.

Първо отворете редактора на системния регистър, като щракнете върху Старт, въведете „regedit“ и натиснете Enter. Съгласете се с подкана за защита, който се появява.

Отворете следния ключ в левия прозорец на редактора на системния регистър:

HKEY_LOCAL_MACHINESystemCurrentControlSetControlTimeZoneInformation

В най-новите версии на Windows 10 можете да копирате и поставите горния ред в адресното поле. Този хак обаче ще работи и в Windows 7.

Щракнете с десния бутон върху бутона „TimeZoneInformation“ и изберете New> DWORD (32-bit) Value.

Назовете новата си стойност RealTimeIsUniversal.

Щракнете двукратно върху RealTimeIsUniversal стойност, която току-що създадохте, задайте стойност на данните 1и щракнете върху „OK“.

Вече сте готови и можете да затворите редактора на системния регистър. Windows ще съхранява времето в UTC, точно както прави Linux.

Ако някога искате да отмените тази промяна, върнете се на това място в системния регистър, щракнете с десния бутон върху RealTimeIsUniversal добавена стойност и я изтрийте от регистъра си.

Изтеглете нашия регистър хак с едно кликване

Ако не искате сами да редактирате системния регистър,можете да използвате нашия хак за регистър за изтегляне. Създадохме един хак, който кара Windows да използва UTC време, и един, който го възстановява на местно време. И двете са включени в следния ZIP файл. Просто изтеглете файла, щракнете двукратно върху хака, който искате да използвате, и се съгласете да добавите информацията във вашия регистър.

Накарайте Windows да използва UTC време

Горните хакове правят същото, което описахмепо-горе. Времето хак за Make Windows Use UTC създава записа „RealTimeIsUniversal“ със стойност „1“, докато хакът Make Windows Use Local Time изтрива записа „RealTimeIsUniversal“.

Ако някога искате да видите какво е това или всяко друго.reg файл прави, щракнете с десния бутон върху него и изберете „Редактиране“, за да видите файла в Notepad. Можете лесно да си направите собствени хакове в регистъра, които просто се състоят от списък на регистрационните записи, които да добавяте, редактирате и премахвате в правилно форматиран списък.

Какво става с двойното зареждане на Windows на Mac?

Свързани: Как да инсталирате Windows на Mac с Boot Camp

Въпреки че macOS на Apple използва UTC време като Linuxне, не бива да правите нищо особено, когато работите с Windows в Boot Camp на Mac. Драйверите на Apple Boot Camp се справят с всичко. (Двойните букове на Hackintosh са друга история и ще трябва да опитате да използвате настройката на системния регистър на Windows по-горе.)


Ако се чудите защо Windows използва местно времевместо UTC като другите операционни системи, официалният блог на Microsoft The Old New Thing го обяснява тук. Накратко, беше да се запази съвместимостта с Windows 3.1 и да се предотврати объркване на хората, когато определят времето в BIOS на компютъра. Разбира се, производителите на компютри избраха местното време да е съвместимо с Windows, а Windows избра местното време, за да бъде съвместимо с решението, което производителите на компютри избраха, така че цикълът се самоукрепва.

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