Windows e Linux in dual boot problema orario
Windows e Linux non si mettono d'accordo sull'orario...
non so se è capitato anche a voi, ma nella mia configurazione dual boot, dove ancora sopravvive un'installazione di Windows 11 come OS secondario, si verifica un problema con l'orario, quando infatti avvio, raramente, Windows questo mi riporta un orario differente rispetto a quello riportato su Linux, per inciso quest'ultimo è corretto, questo accade perché il computer dispone di due orologi principali: l'orologio hardware anche conosciuto come RTC Real time clock e l'orologio di sistema. L'orologio hardware è indipendente da quello si sistema continua infatti a funzionare anche quanto il computer è spento, mentre come avrete già dedotto l'orologio di sistema è quello gestito dal sistema operativo.
All'avvio del computer l'orologio di sistema viene viene sincronizzato con quello hardware, ma Linux e Windows interpretano in maniera diversa l'orario memorizzato in hardware. Sui sistemi Linux viene applicato il principio per cui l'orologio hardware sia impostato in UTC (Universal Time Coorinate) non in local time quindi, mentre Windows, in maniera più provinciale assume che l'orario hardware sia impostato sull'orario locale.
Questa divergenza di vedute, chiamiamola così, comporta una discrepanza sull'orario quando si passa da un sistema all'altro.
E' possibile risolvere il problema ?
Si, esistono differenti soluzioni o approcci per risolvere il problema in questione, sarebbe lecito pensare che l'impostazione disponibile per entrambi i sistemi, mondo Linux e mondo Windows di aggiornare l'orario automaticamente via internet sia sufficiente, ma non è così, propri in virtù del fatto che i due sistemi interpretano in maniera differente quanto memorizzato nell'orologio hardware.
Possiamo tuttavia insegnare a Linux ad interpretare l'orologio hardware alla maniera di Windows, impostando il criterio per cui anche Linux consideri l'orologio hardware come orario locale:
1sudo timedatectl set-local-rtc 1
Questo comando imposta l'orologio hardware si ora locale, evitando differenze tra i due sistemi. Va però considerato che potremmo ricevere un avviso riguardante l'uso dell'orario locale per l'RTC, per gli utanti desktop questo non dovrebbe causare problemi significativi, tuttavia non mi sento di consigliare questo metodo
Possiamo altresì intervenire su Windows e configurarlo per far si che interpreti l'orologio hardware impostato su UTC allineandosi de facto al comportamento di Linux, ovviamente non esiste un comando per fare questo, dovremmo intervenire sull'amato registro di Windows:
Avviate regedit e posizionatevi alla chiave:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
cliccate con il tasto destro, sulla voce alla vostra destra e selzionate Nuovo > Valore DWORD (32 bit)
nominate il nuovo valore come: RealTimeUniversal
doppio click sul nuovo valore RealTimeUniversal ed impstate il suo valore a 1
Dopo aver apportato questa modifica, ovviamente Windows va riavviato, da questo momento Windows interpreterà l'orologio hardware come impostato su UTC comportandosi come Linux. Senza discrepanze.
Consiglio di intervenire su Windows anzichè su Linux, in quanto, personalmente, ritengo sia più corretta la modalità in cui opera questo. Si noti come la modifica sia decisamente più complicata da porsi su sistemi Windows in barba a c hi considera Linux più "difficile"
Spero che questo breve articolo possa tornarvi utile.