Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In a dual-boot system, I usually use FreeBSD 9 but when I boot to Windows 7 my system time in both OS automatically change and show incorrect time. What's the problem and How can I solve it?

share|improve this question
up vote 1 down vote accepted

A typical BIOS PC has a clock which stores the time without a timezone indication. Different operating systems have different conventions: some require the clock to store UTC, others require the clock to store the local time. Dual boot between systems that require different conventions is a problem.

Older versions of Windows had no notion of a display time that is separate from the local time. Hence you need to set the hardware clock to the time you want displayed in Windows. I don't know if this has been fixed in Windows 7.

Unix systems have a per-user setting for the time zone, and use UTC internally. Most unix variants like to use UTC the clock, but unices designed for PCs often provide a way to cohabit with Windows. On FreeBSD, run tzsetup then adjkerntz to update this setting. You can tell whether the hardware clock is using UTC or local time: if /etc/wall_cmos_clock exists, then the hardware clock is assumed to use local time.

Note that if you live in a time zone with daylight savings time, and your hardware clock uses local time, your multiple operating systems may compete to reset the clock when DST starts or ends. This is one reason why setting the hardware clock to UTC is preferable: you should set the hardware clock to local time only if you use an operating system that absolutely requires it.

share|improve this answer
Windows is able to handle hardware clock in UTC: from XP to W7, it was accomplished by setting RealTimeIsUniversal registry parameter; W8 is reported to ignore that. However, XP's implementation was not complete, and the system clock dropped to the default “local time” behavior every hour or two, — probably each time sysclock was synched to hwclock. – Anton Samsonov Mar 6 '15 at 17:36

From my experience, your problem sounds like one OS is seeing your hardware clock as using UTC and one is thinking it's local.

Check to see if your BSD and Windows installations are configured for your local timezone

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.