折腾好Ubuntu后现在电脑上就是Windows 7、Mac OSX 10.10、Ubuntu 14.04共存了,时间同步问题就头疼了。

其实这里关键点还是BIOS时钟问题,即BIOS时钟时本地时钟(UTC +8)还是标准时钟(UTC)的问题。

网上看到的资料都是说Ubuntu将BIOS时间认为是UTC时间,而进入Ubuntu后,会自动同步Internet时间,如果Ubuntu时区设置为上海,假如同步后时间为14:32,则Ubuntu会将6:32即UTC时间写入BIOS。

实际不然,我在Ubuntu 14.04 LTS上测试发现Ubuntu实际上将BIOS时间认为是本地时间,即同步后时间为14:32,则写入BIOS时间也将会是14:32。

反而,MAC则一直是将BIOS时间认为是UTC时间,Windows将BIOS时间认为是本地时间(UTF +8


所以这里有两种方法:

1. 更改MAC系统,将BIOS时间设定为本地时间
2. 更改Ubuntu和Windows系统,将BIOS时间设定为UTC时间

这里我选择的是方法2,因为MAC上只能通过插件更改,而且更改后还会有一些bug;而更改Ubuntu和Windows没太大副作用。

1、设置Ubuntu使用UTC

只需要更改/etc/default/rcS文件,将

UTC=no

更改为

UTC=yes

保存后重启进入MAC,同步BIOS时钟后即解决。

2、设置Windows使用UTC

定位到注册表项
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\
新建DWORD(32-位)值,名称为RealTimeIsUniversal,项数据类型为REG_DWORD,值为1

保存后重启进入MAC或Ubuntu,同步BIOS时钟后即解决。