/ / Hur man fixar Windows och Linux som visar olika tider vid dubbel start

Hur man fixar Windows och Linux som visar olika tider när du startar två gånger

Din dator lagrar tiden i en hårdvaruklockapå moderkortet. Klockan håller koll på tiden, även när datorn är avstängd. Som standard antar Windows att tiden lagras i lokal tid, medan Linux antar att tiden lagras i UTC-tiden och tillämpar en förskjutning. Detta leder till att ett av dina operativsystem visar fel tid i en dubbell boot-situation.

För att fixa detta har du två alternativ: Låt Linux använda lokal tid, eller låt Windows använda UTC-tid. Följ inte båda instruktionerna, annars talar de fortfarande inte samma språk! Vi rekommenderar att du låter Linux använda lokal tid, om möjligt.

Alternativ ett: Låt Linux använda lokal tid

Att få Linux att använda lokal tid på samma sätt som Windowsgör är förmodligen det bästa alternativet. Windows har en registerinställning som tvingar den att lagra tiden som UTC, men enligt uppgift stöds det inte bra och kan orsaka problem med vissa tredjepartsapplikationer som alltid antar att hårdvaruklockan är i lokal tid. Det är också oförenligt med Windows egen tidssynkroniseringstjänst för internet.

Stegen för att få ditt Linux-system att använda lokal tid kan variera från Linux-distribution till Linux-distribution. På alla Linux-distributioner med systemd kan du dock använda timedatectl kommando för att göra denna ändring. Detta fungerar på moderna versioner av Ubuntu, Fedora, Red Hat, Debian, Mint och andra Linux-distributioner som använder systemd.

För att göra denna ändring, öppna först ett terminalfönsterpå ditt Linux-system. Kör följande kommando för att sätta realtidsklockan på moderkortet i lokal tid. Linux lagrar tiden i lokal tid, precis som Windows gör.

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

För att kontrollera dina aktuella inställningar, kör:

timedatectl

Om du ser “RTC i lokala TZ: ja ”, Linux är inställt på att använda den lokala tidszonen istället för UTC. Kommandot varnar dig för att detta läge inte stöds fullt ut och kan orsaka problem när du ändrar mellan tidszoner och sommartid. Men detta läge stöds antagligen bättre än UTC-alternativet i Windows. Om du dubbelt startar med Windows, hanterar Windows sommartid åt dig.

Om du någonsin vill ångra denna ändring kör du följande kommando:

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

Alternativ två: Få Windows att använda UTC-tid

Att få Windows att använda UTC-tid som Linux ärförmodligen inte det bästa alternativet. Du kan redigera registret för att Windows ska använda UTC-tiden, men detta kan potentiellt orsaka fler problem än att bara göra att Linux använder lokal tid.

Om du vill göra det kommer du först att göra detinaktivera funktionen för uppdatering av internettid i Windows. Detta säkerställer att Windows inte ställer in klockan felaktigt när du försöker synkronisera aktuell tid från Internet. I Windows 10, gå till Inställningar> Tid & språk och inaktivera "Ställ in tid automatiskt". I Windows 7 högerklickar du på systemklockan i aktivitetsfältet och väljer "Justera datum / tid". Klicka på fliken "Internet Time", klicka på "Change Settings" -knappen, avmarkera alternativet "Synchronize with an Internet time server" och klicka på "OK".

Få Windows att använda UTC-tid genom att redigera registret

RELATERAD: Lära sig att använda registerredigeraren som ett proffs

Nu måste du lägga till rätt värde tillWindows-registret. Här är vår standardvarning: Registerredigeraren är ett kraftfullt verktyg och att missbruk av det kan göra ditt system instabilt eller till och med inoperabelt. Detta är en ganska enkel hack och du bör inte ha några problem så länge du följer instruktionerna. Som sagt, om du aldrig har arbetat med det innan, kan du överväga att läsa om hur du använder registerredigeraren innan du börjar. Och definitivt säkerhetskopiera registret (och din dator!) Innan du gör ändringar.

Öppna först registerredigeraren genom att klicka på Start, skriva “regedit” och trycka på Enter. Håller med om säkerhetsförfrågan som visas.

Navigera till följande nyckel i den vänstra rutan i registerredigeraren:

HKEY_LOCAL_MACHINESystemCurrentControlSetControlTimeZoneInformation

I de senaste versionerna av Windows 10 kan du kopiera och klistra in raden ovan i adressrutan. Men detta hack fungerar också på Windows 7.

Högerklicka på “TimeZoneInformation” -tangenten och välj New> DWORD (32-bitars) värde.

Namnge ditt nya värde RealTimeIsUniversal.

Dubbelklicka på RealTimeIsUniversal värde du just skapade, är värdet data till 1och klicka på "OK".

Du är nu klar och du kan stänga registerredigeraren. Windows lagrar tiden i UTC, precis som Linux gör.

Om du någonsin vill ångra denna ändring, gå tillbaka till den här platsen i registret, högerklicka på RealTimeIsUniversal värde du lagt till och ta bort det från ditt register.

Ladda ner vår hackskiva med ett klick

Om du inte vill redigera registret själv,du kan använda vårt nedladdningsbara registerhack. Vi skapade ett hack som gör att Windows använder UTC-tid och en som återställer den till lokal tid. Båda ingår i följande ZIP-fil. Ladda bara ner filen, dubbelklicka på hacket du vill använda och gå med på att lägga till informationen i ditt register.

Låt Windows använda UTC-tid

Ovanstående hackor gör samma sak som vi beskrevovan. Gör Windows Använd UTC Time-hack skapar posten "RealTimeIsUniversal" med ett värde på "1", medan hacka Make Windows Use Local Time raderar posten "RealTimeIsUniversal".

Om du någonsin vill se vad detta eller något annat.reg-filen gör det, högerklicka på den och välj "Redigera" för att visa filen i Anteckningar. Du kan enkelt skapa dina egna registerhack, som bara består av en lista med registerposter för att lägga till, redigera och ta bort i en korrekt formaterad lista.

Vad sägs om dubbla uppstart av Windows på en Mac?

RELATERAD: Hur du installerar Windows på en Mac med Boot Camp

Även om Apples macOS använder UTC-tid som Linuxgör, du borde inte behöva göra något speciellt när du kör Windows i Boot Camp på en Mac. Apples Boot Camp-förare hanterar allt. (Hackintosh dual-booters är dock en annan historia, och kommer att behöva försöka använda Windows-registret tweak ovan.)


Om du undrar varför Windows använder lokal tidistället för UTC som andra operativsystem, förklarar den officiella Microsoft-bloggen The Old New Thing det här. Kort sagt var det att bevara bakåtkompatibilitet med Windows 3.1-system och för att förhindra att människor blir förvirrade när de ställde in tid i datorns BIOS. Naturligtvis valde PC-tillverkare lokal tid för att vara kompatibla med Windows och Windows valde lokal tid för att vara kompatibla med beslutet som PC-tillverkarna valde, så cykeln blev självförstärkande.

Det finns för närvarande ingen standard för märkningom en tid lagras som UTC eller lokal tid i BIOS eller UEFI-firmware, vilket förmodligen skulle vara den mest logiska lösningen. Men det kräver lite arbete, och de flesta kommer aldrig ens att märka att olika operativsystem använder olika tidsformat - utom i konfigurationer med dubbla startar.