Начална » как да » Как да се определи 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 - регулиране на системния часовник

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

    timedatectl

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

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

    timedatectl set-local-rtc 0 - настройка на системния часовник

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

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

    Ако искате да направите това, първо трябва да деактивирате функцията за актуализиране на времето в интернет в Windows. Това гарантира, че Windows няма да настрои часовника неправилно, когато се опитва да синхронизира текущото време от интернет. В Windows 10 отворете Settings> Time & language и деактивирайте "Set time automatically". В Windows 7 щракнете с десния бутон на системния часовник в лентата на задачите и изберете “Adjust date / time”. Кликнете върху раздела „Интернет време“, кликнете върху бутона „Промяна на настройките“, махнете отметката от опцията „Синхронизиране с сървър за време“ и кликнете върху „OK“.

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

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

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

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

    HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ TimeZoneInformation

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

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

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

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

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

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

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

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

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

    Горните хакове правят същото, което описахме по-горе. Направете Windows използва UTC Време рана създава "RealTimeIsUniversal" запис със стойност "1", докато Направете Windows използва местно време хаква изтрива "RealTimeIsUniversal" запис \ t.

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

    Какво ще кажете за Dual-Booting Windows на Mac?

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


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

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