Please see UTC vs Local Time in my Tutorial;
[Multiboot] Windows and Linux on Separate Disks:
UTC VS. LOCAL TIME
Linux defaults to using UTC time rather than Local time; Windows uses Local time.
This causes particular annoyance when multibooting, as each OS defaults to a different time standard and sets the BIOS clock accordingly on each boot. No matter how many times you might manually set the correct time (in either OS), it always resets after a reboot.
Methods exist to resolve this in Linux, however this author has found those to be unreliable. This issue only exists due to a Windows design flaw, or oversight; so, let Windows in turn assume the burden of repair.
Linux already handles UTC with superior grace.
The most elegant solution is to create a Windows registry file with the following content;
Let’s call it RealTimeIsUniversal.reg
:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001
After merging this registry modification, Windows will be ready to set the BIOS time to UTC after the next reboot. Windows time will need to be manually set once after the reboot, but from that point forward, both Windows and Linux will use the UTC time standard.
Note that this modification will not affect your date/time display in Windows. Configure it as you would normally.