Vraag De kloktijd is uitgeschakeld bij dual-boot


Dubbel opstartsysteem Windows XP Pro en Ubuntu 12.04.

Ik heb de BIOS ingesteld voor de juiste tijd en Ubuntu ingesteld voor US Eastern Time. Ubuntu wordt opgestart en de tijd is -4 uur uitgeschakeld. Als ik de tijd in Ubuntu corrigeer, dan zal wanneer ik in Windows XP opstart de tijd weg zijn met + 4 uur.

Dit is een nieuwe installatie van 12.04. Ik had dit probleem niet voordat ik Ubuntu opnieuw installeerde.


274
2017-07-28 17:48


oorsprong




antwoorden:


https://help.ubuntu.com/community/UbuntuTime#Multiple_Boot_Systems_Time_Conflicts

Meerdere opstartsystemen Tijdconflicten

Besturingssystemen slaan de tijd op in de hardwareklok en halen deze op   op uw moederbord, zodat het zelfs de tijd kan bijhouden   wanneer het systeem geen stroom heeft. De meeste besturingssystemen   (Linux / Unix / Mac) slaat de tijd op de hardwareklok op als UTC door   standaard, hoewel sommige systemen (met name Microsoft Windows) de   tijd op de hardwareklok als de 'lokale' tijd. Dit veroorzaakt problemen   in een dual-boot-systeem als beide systemen de hardwareklok bekijken   anders.

Het voordeel van het hebben van de hardwareklok als UTC is dat u dat niet doet   nodig om de hardwareklok te veranderen bij het verplaatsen tussen tijdzones of   wanneer Daylight Savings Time (DST) begint of eindigt zoals UTC dat niet heeft   DST- of tijdzone-verschuivingen.

Het veranderen van Linux om lokale tijd te gebruiken is eenvoudiger en betrouwbaarder dan   veranderen van Windows om UTC te gebruiken, dus dual-boot Linux / Windows-systemen neigen ernaar   om lokale tijd te gebruiken.

Sinds Intrepid (8.10) is UTC = yes standaard.

Laat Windows UTC gebruiken

Notitie: Deze methode werd aanvankelijk niet ondersteund op Windows Vista en Server 2008, maar kwam terug met Vista SP2, Windows 7, Server 2008 R2   en Windows 8 / 8.1.

Om MS Windows de tijd vanaf de hardwareklok als UTC te laten berekenen.

Maak een bestand met de naam WindowsTimeFixUTC.reg met het volgende   inhoud en dubbelklik erop om de inhoud samen te voegen met de   register:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
     "RealTimeIsUniversal"=dword:00000001

Notitie: Windows Time-service zal nog steeds lokale tijd naar de RTC schrijven, ongeacht de bovenstaande registerinstelling bij afsluiten, dus het is handig   om Windows Time-service uit te schakelen met deze opdracht (als tijdsynchronisatie is   nog steeds nodig terwijl u in Windows een tijdsynchronisatie van derden gebruikt   oplossing):

sc config w32time start= disabled

Omkering van de verandering
 U kunt een bestand maken met het volgende   inhoud en dubbelklik erop om de oorspronkelijke wijzigingen samen te voegen, zoals   bovenstaand:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
     "RealTimeIsUniversal"=-

Als de Windows Time-service was uitgeschakeld, schakelt u deze opnieuw in met de   opdracht:

sc config w32time start= demand

Laat Linux 'lokale' tijd gebruiken

Om uw Ubuntu-systeem te vertellen dat de hardwareklok op 'lokaal' is ingesteld   tijd:

Pre-Ubuntu 15.04-systemen (bijvoorbeeld Ubuntu 14.04 LTS):

  1. Bewerk /etc/default/rcS
  2. toevoegen of wijzigen van de volgende sectie

    # Set UTC=yes if your hardware clock is set to UTC (GMT)
    UTC=no
    

Ubuntu 15.04-systemen en hoger (bijvoorbeeld Ubuntu 16.04 LTS):

  1. open een terminal en voer de volgende opdracht uit

    timedatectl set-local-rtc 1
    

232
2017-07-28 18:07



Oh heer. Ik kan het niet geloven ze waren dom genoeg om lokale tijd op een hardwareklok te gebruiken. Waarom zou je dat ooit doen? - iono
@twome omdat er in de begindagen van MS-DOS niet veel netwerken was en het niet gebruikelijk zou zijn om een ​​pc zo ver te verplaatsen dat het tijdzones verplaatste. (En ja, zelfs gezien die geschiedenis was het nog steeds niet de beste zet). - Jon Hanna
@twome hoewel ik het met je eens ben dat de hardwareklok als Universal blijft, omdat het geen tijdzone-informatie bijhoudt, zijn er weinig problemen met dat: A) BIOS / UEFI hebben verschillende functies, zoals auto-wake up / sleep timers, waar je stelt de tijden in voor die triggers. Het zou raar zijn om die tijden in UTC in te stellen - tenminste voor de gemiddelde gebruiker. B) Zoals Jon hierboven zei, achterwaartse compatibiliteitsredenen. - Shahriyar Imanov
Voer in Windows PowerShell deze opdracht uit om de bovengenoemde registereigenschap bij te werken: New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation -Name RealTimeIsUniversal -PropertyType DWord -Value 00000001 - Anatoly Mironov
Voor degenen die de tekst afromen, hoeft u alleen de instellingen in een van de besturingssystemen te wijzigen, niet beide. - Alexander Revo


Als u de BIOS-klok wilt instellen op lokale tijd in plaats van UTC in een op systemd gebaseerde versie (15.04 en hoger), moet u de timedatectlopdracht. Volgens de Arch Wiki:

U kunt de standaard hardwarekloktijd instellen via de opdrachtregel.   U kunt controleren wat u hebt ingesteld om te gebruiken door:

$ timedatectl | grep local

De hardwareklok kan worden opgevraagd en ingesteld met de timedatectl   opdracht. Om de hardwarekloktijdstandaard in lokale tijd te veranderen, gebruik:

# timedatectl set-local-rtc 1

Als u terug wilt naar de hardwareklok in UTC, doet u het volgende:

# timedatectl set-local-rtc 0

59
2018-01-13 03:40



Op Ubuntu 16.10 hielp het om "hwclock --systohc --localtime" te doen. Dit schrijft het "lokale gedeelte" naar / etc / adjtime en maakt het daardoor permanent. - user1050755
@ user1050755 is dat vóór, na of in plaats van het timedatectl-commando? - nasch


Je tijdzone is oostelijk, wat momenteel EDT is (Eastern Daylight Time). EDT is UTC minus vier uur, hetzelfde als de offset die je ervaart.

Wanneer dit gebeurt op een dual-boot-systeem, komt dit meestal doordat een besturingssysteem denkt dat de hardwareklok de lokale tijd volgt, terwijl het andere besturingssysteem denkt dat de hardwareklok UTC volgt.

In uw geval is uw hardwareklok waarschijnlijk ingesteld op de lokale tijd en:

  • Windows is ingesteld om de lokale tijd te gebruiken, wat (gezien uw tijdsinstellingen) is correct.
  • Ubuntu is ingesteld om UTC te gebruiken, wat (gezien je tijdsinstellingen) is niet correct.

Als u de tijd in het Ubuntu-systeem opnieuw wilt instellen, handmatig of automatisch, het zou dan verkeerd zijn in Windows, dus dat is geen goede oplossing.

In plaats daarvan is de beste oplossing waarschijnlijk om herconfigureer Ubuntu om de hardwarekloktijd als lokale tijd te behandelen (dan kunt u uw Windows-configuratie en uw hardwarekloktijd alleen laten).

Om dit te doen, bewerk /etc/default/rcS als root en zorg ervoor dat het heeft UTC=no:

  1. druk op alt+F2.

  2. Type gksu gedit /etc/default/rcS en druk op invoeren.

  3. Je zult dit waarschijnlijk zien:

    # assume that the BIOS clock is set to UTC time (recommended)
    UTC=yes
    
    • Als je dat doet, verander dan UTC=yes naar UTC=no. (Of misschien wilt u ook een opmerking toevoegen door deze te wijzigen in iets als UTC=no # changed to accommodate Windows system. Alles op een regel na een # karakter is een opmerking, en is er alleen maar om je instellingen menselijk leesbaarder te maken.)
    • Als u dat niet doet, zoek er dan naar UTC= lijn. Als er geen commentaar is (d.w.z. geen a # aan het begin), verander het dienovereenkomstig. Als er commentaar wordt gegeven, reageer dan door de leiding te verwijderen # en zorg ervoor dat het zegt UTC=no.
  4. Sla het bestand op en sluit de teksteditor.

  5. Start opnieuw op om uw wijzigingen toe te passen en controleer dat de tijd nu goed werkt op beide besturingssystemen.

Bron:  https://help.ubuntu.com/community/UbuntuTime#Make_Linux_use_.27Local.27_time 

(Maar dat is heel algemeen: ik heb dit antwoord geschreven om specifiek van toepassing te zijn op uw situatie, wat een tamelijk veel voorkomend probleem is.)


32
2017-07-28 18:16



Merk op dat dit ook kan gebeuren wanneer u een upgrade uitvoert van de ene Ubuntu-release naar de volgende, zoals het geval was voor mij. Ik kan aanbevelen om de bovenstaande fix uit te voeren en dan ook handmatig je klok te synchroniseren zoals in dit antwoord (aanpassen om te werken met systemd): askubuntu.com/a/254846/139735 - starbeamrainbowlabs
Dit zou het geaccepteerde antwoord moeten zijn imho. Ik had Windows geïnstalleerd en werkte prima, daarna installeerde ik Ubuntu en de klokken liepen in de war - ik zie geen reden waarom ik de Windows-instellingen moest aanpassen als het duidelijk de toevoeging van Linux was dat mijn configuratie brak. - Przemek D


De / etc / rcS-fix werkte niet op mijn Win7 / Ubuntu 14.04x64-installatie en evenmin op fixes via de klok-GUI. Omdat de wortel van het probleem BIOS time VS UTC-tijd is, en Windows het erg lastig heeft als het gaat om het gebruik van UTC, heb ik zojuist een punt op de kaart gekozen dat UTC + 0 gebruikt (geen verandering tussen BIOS en UTC-tijd) .

Probeer je locatie te veranderen in Reykjavik (de hoofdstad van IJsland). Voila! Uw Ubuntu-tijd zal veranderen om overeen te komen met uw BIOS-tijd.


12
2017-07-03 17:49



Haha! Geweldig. : D Ik kan me echt niet aantrekken van mijn locatie. Dit was een fix van twee seconden. Hartelijk bedankt. - Pale Blue Dot