Domanda L'ora dell'orologio è disattivata all'avvio doppio


Sistema di avvio doppio Windows XP Pro e Ubuntu 12.04.

Ho impostato il bios per l'ora corretta e Ubuntu impostato per l'ora orientale degli Stati Uniti. Ubuntu si avvierà e il tempo sarà spento di -4 ore. Se correggo il tempo in Ubuntu, quando avvio in Windows XP il tempo sarà disattivato di + 4 ore.

Questa è una nuova installazione di 12.04. Non ho avuto questo problema prima di reinstallare Ubuntu.


274
2017-07-28 17:48


origine




risposte:


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

Conflitti temporali con più sistemi di avvio

I sistemi operativi memorizzano e recuperano l'ora nell'orologio hardware   si trova sulla scheda madre in modo che possa tenere traccia del tempo anche   quando il sistema non ha potenza. La maggior parte dei sistemi operativi   (Linux / Unix / Mac) memorizza l'ora sull'orologio hardware come UTC di   predefinito, sebbene alcuni sistemi (in particolare Microsoft Windows) memorizzino il file   tempo sull'orologio hardware come ora "locale". Questo causa problemi   in un sistema di avvio doppio se entrambi i sistemi visualizzano l'orologio hardware   in modo diverso.

Il vantaggio di avere l'orologio hardware come UTC è che non lo fai   è necessario modificare l'orologio hardware quando ci si sposta tra fusi orari o   quando Daylight Savings Time (DST) inizia o finisce quando UTC non ha   DST o offset del fuso orario.

Cambiare Linux per usare l'ora locale è più facile e più affidabile di   cambiare Windows per usare l'UTC, quindi tendono i sistemi Linux / Windows dual-boot   usare l'ora locale.

Poiché Intrepid (8.10), UTC = yes è il valore predefinito.

Fai in modo che Windows usi UTC

Nota: Questo metodo non era inizialmente supportato su Windows Vista e Server 2008, ma tornava con Vista SP2, Windows 7, Server 2008 R2   e Windows 8 / 8.1.

Per fare in modo che MS Windows calcoli l'ora dall'orologio hardware come UTC.

Crea un file chiamato WindowsTimeFixUTC.reg con il seguente   contenuto e quindi fare doppio clic su di esso per unire i contenuti con il   registro di sistema:

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

Nota: Il servizio Ora di Windows continuerà a scrivere l'ora locale sull'RTC indipendentemente dall'impostazione del Registro di sistema sopra riportata all'arresto, quindi è utile   disabilitare il servizio Ora di Windows con questo comando (se la sincronizzazione temporale è   ancora richiesto mentre in Windows si usa la sincronizzazione dell'orario di terze parti   soluzione):

sc config w32time start= disabled

Inversione del cambiamento
 È possibile creare un file con il seguente   contenuto e quindi fare doppio clic per unire le modifiche originali, come   sopra:

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

Se il servizio Ora di Windows è stato disabilitato, abilitarlo di nuovo con   comando:

sc config w32time start= demand

Fai in modo che Linux usi l'ora 'Locale'

Per dire al tuo sistema Ubuntu che l'orologio hardware è impostato su "locale"   tempo:

Sistemi pre-Ubuntu 15.04 (ad esempio Ubuntu 14.04 LTS):

  1. modificare /etc/default/rcS
  2. aggiungere o modificare la seguente sezione

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

Sistemi Ubuntu 15.04 e successivi (ad esempio Ubuntu 16.04 LTS):

  1. apri un terminale ed esegui il seguente comando

    timedatectl set-local-rtc 1
    

232
2017-07-28 18:07



Oh Signore. Non posso credere erano abbastanza stupidi da usare l'ora locale su un orologio hardware. Perché mai, mai farlo? - iono
@twome perché non c'era molto in termini di networking nei primi giorni di MS-DOS, e non sarebbe stato normale spostare un PC fino a quel momento in cui ha spostato i fusi orari. (E sì, anche considerando quella storia, non era ancora la mossa migliore). - Jon Hanna
@twome anche se sono d'accordo con te che l'orologio hardware rimane come Universal, dal momento che non conserva le informazioni sul fuso orario, ci sono alcuni problemi con questo: A) BIOS / UEFI hanno varie funzionalità come timer di attivazione / spegnimento automatico, dove imposta i tempi per questi trigger. Sarebbe strano impostare quei tempi in UTC, almeno per l'utente medio. B) Come Jon ha detto sopra, ragioni di compatibilità a ritroso. - Shahriyar Imanov
In Windows PowerShell eseguire questo comando per aggiornare la proprietà di registro sopra menzionata: New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation -Name RealTimeIsUniversal -PropertyType DWord -Value 00000001 - Anatoly Mironov
Per coloro che sfiorano il testo, è sufficiente modificare le impostazioni in uno dei sistemi operativi, non entrambi. - Alexander Revo


Per impostare l'orologio del BIOS sull'ora locale anziché su UTC in una versione basata su systemd (15.04 e successivi), sarà necessario utilizzare il timedatectlcomando. Secondo l'Arch Wiki:

È possibile impostare lo standard dell'ora hardware tramite la riga di comando.   Puoi verificare cosa hai impostato per utilizzare:

$ timedatectl | grep local

L'orologio hardware può essere interrogato e impostato con timedatectl   comando. Per modificare lo standard dell'orologio orario hardware in locale, utilizzare:

# timedatectl set-local-rtc 1

Se si desidera ripristinare l'orologio hardware in UTC, fare:

# timedatectl set-local-rtc 0

59
2018-01-13 03:40



Su Ubuntu 16.10 ha aiutato a fare "hwclock --systohc --localtime". Questo scrive la "parte locale" in / etc / adjtime e quindi lo rende permanente. - user1050755
@ user1050755 è quello prima, dopo o al posto del comando timedatectl? - nasch


Il tuo fuso orario è Orientale, che è attualmente EDT (Eastern Daylight Time). EDT è UTC meno quattro ore, lo stesso dell'offset che stai vivendo.

Quando ciò accade su un sistema dual-boot, di solito è perché un sistema operativo pensa che l'orologio hardware tenga traccia dell'ora locale, mentre l'altro sistema operativo pensa che l'orologio hardware tenga traccia di UTC.

Nel tuo caso, l'orologio hardware è probabilmente impostato sull'ora locale e:

  • Windows è impostato per utilizzare l'ora locale, che (in base alle impostazioni del tempo) è corretta.
  • Ubuntu è impostato per utilizzare UTC, che (date le impostazioni del tempo) è scorretto.

Se dovessi semplicemente resettare il tempo nel sistema Ubuntu, manualmente o manualmente automaticamente, sarebbe quindi sbagliato in Windows, quindi non è una buona soluzione.

Invece, la soluzione migliore è probabilmente per riconfigurare Ubuntu per trattare l'ora dell'hardware come ora locale (quindi puoi lasciare la configurazione di Windows e l'ora del tuo hardware da solo).

Per fare questo, modifica /etc/default/rcS come root e assicurati che lo sia UTC=no:

  1. stampa alt+F2.

  2. genere gksu gedit /etc/default/rcS e premere accedere.

  3. Probabilmente vedrai questo:

    # assume that the BIOS clock is set to UTC time (recommended)
    UTC=yes
    
    • Se lo fai, cambia UTC=yes a UTC=no. (Oppure potresti anche voler aggiungere un commento, cambiandolo in qualcosa di simile UTC=no # changed to accommodate Windows system. Tutto su una riga dopo a # il personaggio è un commento, ed è lì solo per rendere le tue impostazioni più leggibili.)
    • Se non lo fai, cerca qualsiasi UTC= linea. Se è non commentato (cioè non ha un # all'inizio), modificalo di conseguenza. Se viene commentato, decommentalo rimuovendo l'interlinea # e assicurati che sia scritto UTC=no.
  4. Salva il file e chiudi l'editor di testo.

  5. Riavvia per applicare le modifiche e controlla che l'ora funzioni correttamente su entrambi i sistemi operativi.

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

(Ma questo è molto generale, ho scritto questa risposta per applicare specificamente alla tua situazione, che è un problema un po 'comune).


32
2017-07-28 18:16



Si noti che questo può verificarsi anche quando si esegue l'aggiornamento da una versione di Ubuntu alla successiva, come per me. Posso consigliare di eseguire la correzione sopra, e quindi anche sincronizzare manualmente l'orologio come in questa risposta (regolandolo per lavorare con systemd): askubuntu.com/a/254846/139735 - starbeamrainbowlabs
Questa dovrebbe essere la risposta accettata imho. Avevo installato e funzionante Windows, quindi ho installato Ubuntu e gli orologi sono andati in tilt: non riesco a vedere un motivo per cui dovrei modificare le impostazioni di Windows se fosse chiaramente l'aggiunta di Linux a rompere la mia configurazione. - Przemek D


La correzione / etc / rcS non ha funzionato sull'installazione di Win7 / Ubuntu 14.04x64, né ha apportato correzioni attraverso la GUI dell'orologio. Poiché la radice del problema è l'ora VS UTC del BIOS e Windows è un rompicapo quando si tratta di utilizzare UTC, ho appena scelto un punto sulla mappa che utilizza UTC + 0 (nessuna modifica tra BIOS e ora UTC) .

Prova a cambiare la tua posizione a Reykjavik (la capitale dell'Islanda). Ecco! La tua ora di Ubuntu cambierà per adattarsi al tuo tempo del BIOS.


12
2017-07-03 17:49



Haha! Eccezionale. : D davvero non mi interessa la mia posizione. Questa era una correzione di due secondi. Molte grazie. - Pale Blue Dot