原因
Window和Linux两个系统设定时间时以主板CMOS内的时间为依据,但却有不同的时间计算标准。所以导致了系统时间的纠纷问题。
Ubuntu默认时间是把BIOS时间当成GMT+0时间,也就是世界标准时,再根据系统设置的时区来最终确定当前系统时间。我国在东八区(GMT+8),所以如果你的Ubuntu位置是中国的话你系统显示的时间就是BIOS时间+8小时。
而当你切换到Windows系统时就会发生时间错乱,因为Windows会认为BIOS时间就是你的本地时间,结果就是Windows显示时间为0点。而假如你在Windows下同步时间,恢复显示为8点,这时BIOS时间也会被Windows改写成8点,再次进入Ubuntu时显示时间又变成了8+8=16点。
解决方法
在终端输入以下命令:
sudo apt-get install ntpdate
sudo ntpdate time.windows.com
sudo hwclock --localtime --systohc