日期:2014-05-17  浏览次数:20972 次

Windows 和 Ubuntu 时间不一致的问题
装完双系统后,大家在切换操作系统的时候会发现一个问题: Windows和 Ubuntu的时间会出现不一致的情况。在 Windows 中把时间设置正确了过后,回到在 Ubuntu后系统的时间又不一样了,在Ubuntu中把时间设置正确后进入 Windows后,时间又不一致了。出现这种情况的原因是Windows 和 Ubuntu它们在默认情况下看待硬件时间(主板上的BOIS显示的时间)的方式不一样。 知道了问题存在的原因,我们就来解决这个问题。


这个是一个关于时间的问题,我们就先来了解一下关于时间的概念:
UTC即Universal Time Coordinated,协调世界时
GMT即Greenwich Mean Time,格林尼治平时

Windows与 Linux缺省看待系统硬件时间的方式是不一样的:
* Windows把系统硬件时间当作本地时间(local time),即操作系统中显示的时间跟BIOS中显示的时间是一样的。
* Linux/Unix/Mac把硬件时间当作UTC,操作系统中显示的时间是硬件时间经过换算得来的,比如说北京时间是GMT+8,则系统中显示时间是硬件时间+8。

这样,当PC中同时有多系统共存时,就出现了问题。假如你的 Ubuntu和Windows中设置的时区都为北京时间东八区,而你在Ubuntu中把当前系统时间更改为9:00AM。则此时硬件中存储的实际C时间是1:00AM。这时你重启进入Windows后,你会发现windows系统中显示的时间是 1:00AM,比 Ubuntu 中慢了八个小时。同理,你在 Windows 中更改或用网络同步了系统时间后,再到Ubuntu中去看,系统就会快了8小时。在实行夏令时的地区,情况可能会更复杂些。

下面有两个方法可以系统让时间保持一致,大家按照自己的实际情况选择一个使用

(1)Ubuntu中不使用UTC时间,而启用本地时间
编辑/etc/default/rcS(命令:sudo gedit /etc/default/rcS)
把其中的内容“UTC=yes”改成“UTC=no”,保存后重启系统就可以了。

(2)让Windows把硬件时间当作UTC
开始->运行->CMD,打开命令行程序(Vista,Win7则要以管理员方式打开命令行程序方可有权限访问注册表),在命令行中输入下面命令并回车:
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

原文地址:http://forum.ubuntu.org.cn/viewtopic.php?t=256151