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

270

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.

    
posta Bill Walden 28.07.2012 - 19:48

4 risposte

227

link

  

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   per utilizzare l'ora locale.

     

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

     

Rendi Windows utilizza 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 denominato WindowsTimeFixUTC.reg con il a seguire   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 della modifica
È 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 era 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. modifica /etc/default/rcS
  2.   
  3. aggiungi o modifica la seguente sezione

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

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
    
  2.   
    
risposta data Eric Carvalho 28.07.2012 - 20:07
59

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

  

È possibile impostare lo standard dell'ora hardware tramite la riga di comando.   Puoi controllare che 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
    
risposta data muru 13.01.2016 - 04:40
32

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

Quando questo 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 (date le impostazioni del tempo) è corretta .
  • Ubuntu è impostato per utilizzare UTC, che (date le impostazioni del tempo) è errato .

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

Invece, la soluzione migliore è probabilmente 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 ciò, modifica /etc/default/rcS come root e assicurati che abbia UTC=no :

  1. Premi Alt + F2 .

  2. Digita gksu gedit /etc/default/rcS e pigia Invio .

  3. Probabilmente vedrai questo:

    # assume that the BIOS clock is set to UTC time (recommended)
    UTC=yes
    
    • Se lo fai, modifica UTC=yes in UTC=no . (Oppure potresti voler aggiungere anche un commento, cambiandolo in qualcosa come UTC=no # changed to accommodate Windows system . Tutto su una riga dopo un # carattere è un commento, ed è lì solo per rendere le tue impostazioni più leggibili.)
    • Se non lo fai, cerca qualsiasi UTC= riga. Se non è commentato (cioè non ha # all'inizio), modificalo di conseguenza. Se viene commentato, decommentalo rimuovendo il # iniziale e assicurati che indichi 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 ora su entrambi i sistemi operativi.

Origine: link

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

    
risposta data Eliah Kagan 28.07.2012 - 20:16
13

La correzione / etc / rcS non funzionava con l'installazione di Win7 / Ubuntu 14.04x64, né correva alcuna correzione 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.

    
risposta data OpensourceFool 03.07.2014 - 19:49

Leggi altre domande sui tag