Resumindo:
Estamos em 2018, o clock do hardware deve ser definido para o horário UTC, mesmo para o Windows dual-boot.
Para que o Windows considere o relógio do hardware como UTC, faça o seguinte:
- No registro, em
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
, adicione uma chave RealTimeIsUniversal
com um valor 00000001
do tipo dword
- Desative o Serviço de Tempo do Windows executando este comando:
sc config w32time start= disabled
Veja a explicação do wiki do Ubuntu
Em detalhes:
A maioria dos sistemas operacionais considera o clock do hardware como UTC, exceto o Windows, por motivos de compatibilidade ridículos e supostamente para evitar confundir os usuários ao definir a hora pela bios (!) (vale a pena ler os comentários nesta postagem no blog)
O wiki do Arch Linux explica bem as desvantagens de usar a hora local para o relógio de hardware:
There are two time standards: localtime and Coordinated Universal Time (UTC). The localtime standard is dependent on the current time zone, while UTC is the global time standard and is independent of time zone values. Though conceptually different, UTC is also known as GMT (Greenwich Mean Time).
The standard used by the hardware clock (CMOS clock, the BIOS time) is set by the operating system. By default, Windows uses localtime, macOS uses UTC, and UNIX-like systems vary. An OS that uses the UTC standard will generally consider the hardware clock as UTC and make an adjustment to it to set the OS time at boot according to the time zone.
If multiple operating systems are installed on a machine, they will all derive the current time from the same hardware clock: it is recommended to adopt a unique standard for the hardware clock to avoid conflicts across systems and set it to UTC. Otherwise, if the hardware clock is set to localtime, more than one operating system may adjust it after a DST change for example, thus resulting in an over-correction; problems may also arise when traveling between different time zones and using one of the operating systems to reset the system/hardware clock.