Din dator lagrar tiden i en hårdvaruklocka på moderkortet. Klockan håller reda på tiden, även när datorn är avstängd. Som standard antar Windows att tiden är lagrad i lokal tid, medan Linux antar att tiden är lagrad i UTC-tid och använder en förskjutning. Detta leder till att ett av dina operativsystem visar fel tid i a dual boot situation .
För att åtgärda detta har du två alternativ: Låt Linux använda lokal tid eller få Windows att 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: Få Linux att använda lokal tid
Att få Linux att använda lokal tid på samma sätt som Windows gö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 den inte bra och kan orsaka problem med vissa tredjepartsapplikationer som alltid antar att hårdvaruklockan är lokal tid. Det är också oförenligt med Windows egen tidssynkroniseringstjänst på Internet.
Stegen för att få ditt Linux-system att använda lokal tid kan variera från Linux-distribution till Linux-distribution. Men på alla Linux-distributioner med
systemet
, kan du använda
timedatectl
kommandot 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önster på ditt Linux-system. Kör följande kommando för att sätta realtidsklockan på moderkortet till lokal tid. Linux lagrar tiden i lokal tid, precis som Windows gör.
timedatectl set-local-rtc 1 --justera-system-klocka
För att kontrollera dina nuvarande inställningar, kör:
timedatectl
Om du ser “RTC i lokal TZ: ja” är Linux inställd 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 vissa problem vid växling mellan tidszoner och med sommartid. Men det här läget stöds förmodligen bättre än UTC-alternativet i Windows. Om du dubbelstartar med Windows hanterar Windows sommartid åt dig.
Om du någonsin vill ångra den här ändringen, kör följande kommando:
timedatectl set-local-rtc 0 --justera-system-klocka
Alternativ två: Få Windows att använda UTC-tid
Att få Windows att använda UTC-tid som Linux är förmodligen inte det bästa alternativet. Du kan redigera registret så att Windows använder UTC-tid, men detta kan potentiellt orsaka fler problem än att bara få Linux att använda lokal tid.
Om du vill göra detta vill du först inaktivera funktionen för tidsuppdatering av Internet i Windows. Detta säkerställer att Windows inte ställer in klockan felaktigt när den försöker synkronisera den aktuella tiden från Internet. På Windows 10, gå till Inställningar> Tid och 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".
Låt Windows använda UTC-tid genom att redigera registret
RELATERAD: Lära sig att använda registerredigeraren som ett proffs
Du måste nu lägga till lämpligt värde i Windows-registret. Här är vår standardvarning: Registerredigeraren är ett kraftfullt verktyg och missbruk av den kan göra ditt system instabilt eller till och med inoperabelt. Detta är ett ganska enkelt hack och du borde inte ha några problem så länge du följer instruktionerna. Som sagt, om du aldrig har arbetat med det tidigare, kan du överväga att läsa om hur man 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. Godkänn säkerhetsfrågan som visas.
Navigera till följande nyckel i registerredigerarens vänstra fönster:
HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ TimeZoneInformation
På 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 Ny> DWORD (32-bitars) värde.
Namnge ditt nya värde
RealTimeIsUniversal
.
Dubbelklicka på
RealTimeIsUniversal
värde som du just skapat, anger är värdedata till
1
och 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årt registerhack med ett klick
Om du inte vill redigera registret själv kan du använda vårt nedladdningsbara registerhack. Vi skapade ett hack som gör att Windows använder UTC-tid och ett som återställer det till lokal tid. Båda ingår i följande ZIP-fil. Ladda bara ner filen, dubbelklicka på hacket du vill använda och godkänn att lägga till informationen i ditt register.
Låt Windows använda UTC-tid
Ovanstående hack gör samma sak som vi beskrev ovan. Gör Windows att använda UTC-tidshack skapar posten "RealTimeIsUniversal" med värdet "1", medan hacket Gör Windows till lokal tid raderar posten "RealTimeIsUniversal".
Om du någonsin vill se vad den här eller någon annan .reg-fil gör, högerklickar du på den och väljer "Redigera" för att visa filen i Anteckningar. Du kan enkelt skapa dina egna registerhackar, 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 dubbelstartande Windows på en Mac?
RELATERAD: Hur man installerar Windows på en Mac med Boot Camp
Även om Apples macOS använder UTC-tid som Linux gör, borde du inte behöva göra något speciellt när kör Windows i Boot Camp på en Mac . Apples Boot Camp-drivrutiner hanterar allt. (Hackintosh dual-booters är dock en annan historia och måste försöka använda Windows-registerjusteringen ovan.)
Om du undrar varför Windows använder lokal tid istället för UTC som andra operativsystem, officiell Microsoft-blogg The Old New Thing förklarar det här . Kort sagt var det för 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äller in tiden i datorns BIOS. Naturligtvis valde PC-tillverkare lokal tid för att vara kompatibel med Windows och Windows valde lokal tid för att vara kompatibel med det beslut som PC-tillverkare valde, så cykeln blev självförstärkande.
Det finns för närvarande ingen standard för märkning om 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 skulle kräva lite arbete, och de flesta kommer aldrig ens att märka att olika operativsystem använder olika tidsformat - förutom i konfigurationer med dubbla startar.