13

I'm about to install a new system and just noticed that the BIOS time is set to UTC time. Should I set it to local time? What consequences does it have to leave it as is, or set it to local time?

The OS I'll be installing is Kubuntu 11.04.

1
  • 1
    If you leave it as UTC you'll get the correct time displayed in Kubuntu.
    – boehj
    May 12, 2011 at 12:41

3 Answers 3

5

Check what your setting in /etc/default/rcS are if it is UTC=yes then set it to UTC in your BIOS and Kubuntu will use your time zone file adjust it properly. The problem is if it thinks your BIOS is UTC and it's actually local time your hwclock is always going to be out of sync and when it uses timezone data like it would on a UTC clock you are going to end up with the wrong time.

2
  • 2
    I'll set it to UTC since the default is UTC=true (checked it in the initscripts package). Thanks!
    – Lekensteyn
    May 12, 2011 at 12:54
  • The Alternate CD asks me whether the clock is set to UTC or not. I don't believe this is the case for the Desktop CD.
    – Lekensteyn
    May 13, 2011 at 11:48
10

In a nutshell:

We are in 2018, hardware clock should be set to UTC time, even for Windows dual-boot.

To have Windows consider the hardware clock as UTC, do the following:

  • In the registry, under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation, add a key RealTimeIsUniversal with a value 00000001 of type dword
  • Disable Windows Time Service by running this command: sc config w32time start= disabled

See the explanation from the Ubuntu wiki

In details:

Most operating system considers the hardware clock to be UTC except Windows for ridiculous compatibility reasons and supposedly to avoid confusing users when setting time via bios (!) (comments on this blog post are worth reading by the way)

The Arch Linux wiki explains well the drawbacks of using local time for hardware clock:

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.

1
  • 1
    Note that in Win10 (2023) you don't need to disable windows time service anymore, creating the registry entry seems to be sufficient
    – ChennyStar
    Apr 2, 2023 at 19:18
3

In most cases, I would recommend to set BIOS to UTC time. but if you dual boot with Windows. I would recommend local time. Windows does not properly handle BIOS-set-as-UTC. So everytime you switch OS, one screws other's time.

my two cents

You can hack the registry to make Windows support the UTC time though refer to this Does Windows 10 support UTC as BIOS time?

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .