2010年5月16日 星期日

Mac timezone syncs with Bootcamp's windows

先说两个概念吧:
UTC即Universal Time Coordinated,协调世界时
GMT即Greenwich Mean Time,格林尼治平时
在这里,你可以把UTC认为是GMT+0。

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

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

原因知道了,那怎么来解决这种冲突呢。一种就是 让Windows把硬件时间当作UTC,与Linux/Unix/Mac保持一致。另一种就是让Linux/Unix/Mac把系统时间当作本地时间,与 Windows保持一致。

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

2. 如何让Linux/Unix把硬件时间当作本地时间(以Ubuntu为例,其它Unix类系统与之类似)
修改 /etc/default/rcS,
将UTC=yes
改为UTC=no

3. 让Mac把硬件时间当作本地时间
据说是有个时间补丁,自己到网上找找看吧。

引用自

http://conner-wang.spaces.live.com/Blog/cns!568D1F7F9D97C059!658.entry?wa=wsignin1.0&sa=946611942

沒有留言:

張貼留言