Visualizzazione post con etichetta dual-boot. Mostra tutti i post
Visualizzazione post con etichetta dual-boot. Mostra tutti i post

mercoledì 26 marzo 2008

Ma che ora e'?

Se si usa un PC in dual/multi-boot con Windows e altri sistemi operativi molto probabilmente prima o poi si finisce per andare a cozzare contro il problema dell'ora.

Il motivo e' piuttosto semplice: Windows di default assume che l'ora memorizzata nel BIOS sia l'ora locale, ovvero la stessa identica ora che settate dal pannello di controllo in Windows. L'ora del BIOS viene quindi aggiornata da Windows in base al fuso orario e all'ora legale o solare.

Fin qui tutto bene, ma se si riavvia il PC con un altro sistema operativo non e' detto che l'ora visualizzata sia quella giusta.

Un primo problema gia' avviene se il secondo sistema e' Windows e si e' a cavallo del cambio di ora legale/solare e nel pannello di controllo e' settato l'aggiornamento in automatico.
Quello che succede e' che viene effettuato un secondo aggioramento dell'ora e ci si ritrova avanti o indietro di un'ora in piu'.

La cosa pero' puo' passare inosservata se si e' collegati a Internet e la sincronizzazione con un time server e' attiva.
In quel caso l'errore viene immediamente corretto e l'utente difficilmente se ne accorge.

Quando invece il secondo sistema operativo e' Linux o Mac OS allora le cose si complicano un po' perche' Linux e Mac OS assumono che l'ora memorizzata nel BIOS/EFI sia in formato UTC (quello che una volta si chiamava GMT).

In questo caso l'errore avviene ad ogni reboot e anche se la sincronizzazione con un time server puo' nasconderlo, prima o poi capita che non si e' collegati ad Internet oppure il time server non e' raggiungibile e l'errore si manifesta.

Per risolvere il problema si puo' agire sul registry di Windows per informare il sistema che la data del BIOS va trattata in formato UTC e non locale.

Bisogna creare la keyword RealTimeIsUniversal di tipo DWORD con valore 1 in questa posizione del registry:

HKEY_LOCAL_MACHINE
  SYSTEM
    CurrentControlSet
      Control
        TimeZoneInformation


Ho provato su Vista e la cosa funziona, non ho ancora provato con XP, ma provero' appena possibile.
Se dopo questa modifica il vostro PC esplode... dimentica di aver letto questo suggerimento ;-)