Hemsida » hur » Så här fixar du Windows och Linux Visar olika tider när du startar två gånger

    Så här fixar du Windows och Linux Visar olika tider när du startar två gånger

    Din dator lagrar tiden i en hårdvaruklocka på moderkortet. Klockan håller koll på tiden, även när datorn är avstängd. Som standard antar Windows att tiden sparas i lokal tid, medan Linux förutsätter att tiden är lagrad i UTC-tid och tillämpar en förskjutning. Detta leder till att ett av operativsystemen visar fel tid i en dubbelstartssituation.

    För att åtgärda detta har du två alternativ: Gör Linux med lokal tid, eller gör Windows med UTC-tid. Följ inte båda stegen med instruktioner eller de talar fortfarande inte samma språk! Vi rekommenderar att du använder Linux om lokal tid, om möjligt.

    Alternativ En: Gör Linux Använd lokal tid

    Att göra Linux använder lokal tid på samma sätt som Windows gör är förmodligen det bästa alternativet. Windows har en registerinställning som tvingar det att lagra tiden som UTC, men det är enligt uppgift inte väl stödjande och kan orsaka problem med vissa tredjepartsprogram som alltid förutsätter att maskinvaruklockan är lokal tid. Det är också oförenligt med Windows egen Internet-tidssynkroniseringstjänst.

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

    För att göra den här ändringen, öppna först ett terminalfönster på ditt Linux-system. Kör följande kommando för att lägga realtidsklockan på moderkortet till lokal tid. Linux lagrar tiden i lokal tid, precis som Windows gör.

    timedatectl set-local-rtc 1 --just-system-klockan

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

    timedatectl

    Om du ser "RTC i lokal TZ: yes", är Linux inställd att använda den lokala tidszonen i stället för UTC. Kommandot varnar dig om att detta läge inte är fullt stöd och kan orsaka vissa problem vid byte mellan tidszoner och sommartid. Dock är det här läget antagligen bättre bättre än UTC-alternativet i Windows. Om du dubbelstart med Windows hanterar Windows sommartid för dig.

    Om du någonsin vill ångra den här ändringen kör du följande kommando:

    timedatectl set-local-rtc 0 --just-system-klockan

    Alternativ två: Gör Windows Använd UTC-tid

    Att göra Windows använder UTC-tid som Linux är förmodligen inte det bästa alternativet. Du kan redigera registret så att Windows använder UTC-tid, men det kan eventuellt orsaka mer problem än att bara göra Linux med lokal tid.

    Om du vill göra det, vill du först avaktivera funktionen för uppdatering av Internettid på Windows. Detta garanterar att Windows inte kommer att ställa in klockan felaktigt när du försöker synkronisera den aktuella tiden från Internet. På Windows 10, gå till Inställningar> Tid och språk och avaktivera "Ställ in tid automatiskt". Högerklicka på systemklockan i Aktivitetsfältet på Windows 7 och välj "Justera datum / tid". Klicka på fliken Internettid, klicka på knappen "Ändra inställningar", avmarkera alternativet "Synkronisera med en Internet-tidsserver" och klicka på "OK".

    Gör Windows Använd UTC-tid genom att redigera registret

    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 missbrukar det kan göra systemet ostabilt eller till och med oanvändbart. Det här är en ganska lätt hack och du borde inte ha några problem så länge du följer instruktionerna. Med det sagt, om du aldrig har arbetat med det tidigare, överväg 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 Registry Editor genom att klicka på Start, skriv "regedit" och tryck på Enter. Samtycka till säkerhetsprompten som visas.

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

    HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ TimeZoneInformation

    I de senaste versionerna av Windows 10 kan du kopiera och klistra in ovanstående rad i adressrutan. Men det här häcket kommer också att fungera på Windows 7.

    Högerklicka på knappen "TimeZoneInformation" och välj Nytt> DWORD-värde (32-bitars).

    Ange ditt nya värde RealTimeIsUniversal.

    Dubbelklicka på RealTimeIsUniversal värdet du just skapat, ställa in värdesdata till 1, och klicka på "OK".

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

    Om du någonsin vill ångra den här ändringen, återvänd till den här platsen i registret, högerklicka på RealTimeIsUniversal värdet du lägger till och radera det från ditt register.

    Hämta vår One-Click Registry Hack

    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 en som återställer den till lokal tid. Båda ingår i följande ZIP-fil. Bara ladda ner filen, dubbelklicka på den hack du vill använda och acceptera att lägga till informationen i ditt register.

    Gör Windows Använd UTC Time

    Ovanstående hack gör samma sak som vi beskrev ovan. Gör Windows Använd UTC Time hack skapar "RealTimeIsUniversal" -inmatningen med ett värde på "1", medan Gör Windows Använd Local Time hack tar bort "RealTimeIsUniversal" -inmatningen.

    Om du någonsin vill se vad den här eller någon annan .reg-fil gör, högerklicka på den och välj "Redigera" för att visa filen i Anteckningsblock. Du kan enkelt skapa egna registerhackar, som bara består av en lista över registerposter för att lägga till, redigera och ta bort i en korrekt formaterad lista.

    Vad om Dual Booting Windows på en Mac?

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


    Om du undrar varför Windows använder lokal tid istället för UTC som andra operativsystem, förklarar den officiella Microsoft-bloggen The Old New Thing det här. Kort sagt, det var att behålla bakåtkompatibilitet med Windows 3.1-system och förhindra att människor blir förvirrade när de ställer in tiden i datorns BIOS. Naturligtvis valde PC-tillverkare lokal tid att vara kompatibel med Windows och Windows valde lokal tid för att vara kompatibel med beslutet som PC-tillverkare valde, så att 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 människor kommer aldrig ens att märka att olika operativsystem använder olika tidsformat, förutom i dubbla boot-konfigurationer.