Remediați Windows și Linux care afișează momente diferite la pornirea duală

Correggi Windows e Linux che mostrano tempi diversi durante il doppio avvio

⌛ Reading Time: 4 minutes

Se il tuo sistema avvia sia Windows che Linux, potresti notare che è impossibile sincronizzare gli orologi di sistema. Indipendentemente da come si cambia l’orologio in un sistema operativo, non risolve il problema con l’altro sistema operativo. Ciò è dovuto a un disaccordo sulla metodologia di controllo del tempo tra Windows e sistemi operativi basati su Unix. Fortunatamente, c’è una soluzione relativamente semplice per questo.

Perché succede questo?

Il computer memorizza l’ora corrente in un orologio sulla scheda madre. Ciò consente al computer di tenere traccia del tempo anche quando è spento. Per tenere conto dei fusi orari, diversi sistemi operativi utilizzano metodi diversi. Windows presume che l’ora locale sia memorizzata nella scheda madre, quindi non applica alcun tipo di offset del fuso orario. Linux, d’altra parte, interpreterà l’ora sulla scheda madre come UTC (aka Greenwich Mean Time) e applicherà un offset di fuso orario per visualizzare l’ora locale.

Entrambi questi sistemi funzionano perfettamente in modo indipendente. Il problema si verifica quando si esegue il dual boot di un sistema, eseguendo Windows e Linux dalla stessa scheda madre. Quando i sistemi operativi sono costretti a condividere un archivio orario, gli orologi non si sincronizzano.

Esistono due modi diversi per risolvere questo problema: possiamo cambiare il modo in cui Linux interpreta il tempo memorizzato o fare lo stesso con Windows.

Opzione 1: fai in modo che Linux utilizzi l’ora locale

Il modo più affidabile per far concordare l’ora tra Linux e Windows è cambiare la metodologia di controllo del tempo di Linux. Sebbene non sia esplicitamente supportato, è leggermente più affidabile rispetto a fare lo stesso in Windows. Funziona su qualsiasi tipo di Linux utilizzando systemd, che include Ubuntu, Fedora, Red Hat, Debian e Mint. Anche la modifica dell’ora di Windows in genere funziona bene, ma a volte può portare a instabilità nel software di terze parti che si aspetta che l’ora memorizzata sia l’ora locale.

1. Apri Terminale ed esegui il seguente comando:

Questo dirà al sistema di interpretare l’ora memorizzata della scheda madre come ora locale. Linux non applicherà più le regolazioni del fuso orario all’ora memorizzata sulla scheda madre. Di conseguenza, i tuoi orologi verranno sincronizzati.

Se hai bisogno di invertire il comando, cambia l’1 in uno 0:

Opzione 2: fai in modo che Windows utilizzi UTC

Puoi anche modificare il modo in cui Windows visualizza l’ora di sistema. Questo tweak farà sì che Windows interpreti l’ora memorizzata sulla scheda madre come UTC, che Linux può quindi interpretare come il fuso orario corretto. Anche se generalmente funziona bene, alcune applicazioni si basano sull’ora della scheda madre come ora locale. Di conseguenza, a volte possono apparire bug difficili da tracciare. Ciò rende questa opzione leggermente meno desiderabile della prima.

1. Disabilitare “Imposta ora automaticamente” in “Ora e lingua” nell’applicazione Impostazioni. Ciò impedirà a Windows di ripristinare le modifiche che stiamo per apportare.

windows-linux-dual-boot-time-1

2. Aprire l’Editor del Registro di sistema digitando regedit nel menu Start.

windows-linux-dual-boot-time-2

3. Trova la seguente chiave di registro nel riquadro sinistro dell’editor del registro. Per arrivarci rapidamente, incolla la posizione nella barra degli indirizzi dell’editor del registro:

windows-linux-dual-boot-time-3

4. Fare clic con il pulsante destro del mouse sulla chiave “TimeZoneInformation” nel riquadro di sinistra e scegliere “Nuovo -> Valore DWORD (32 bit)” dal menu contestuale.

windows-linux-dual-boot-time-4

5. Assegna al nuovo valore il nome “RealTimeIsUniversal”.

windows-linux-dual-boot-time-5

6. Fare doppio clic sul valore appena creato, impostarne il valore su “1” e fare clic su “OK”.

windows-linux-dual-boot-time-6

Conclusione

Il modo più sicuro per sincronizzare gli orologi di sistema su un sistema a doppio avvio è regolare il modo in cui Linux interpreta il tempo. Se questo non funziona per te (o se stai usando macOS invece di Linux), puoi anche modificare il registro di Windows per cambiare il modo in cui Windows comprende l’ora della scheda madre.