问题概述与分析

在电脑上装了双系统后,发现每次切换系统后,系统时间都会不一致了。Windows这边会比Ubuntu早8小时。
这是因为时间不同步,原因非常简单:
原因就是,两个操作系统对时间的管理方式不一样,在linux下,他会默认把BIOS时间(也就是硬件时间)当成GMT+0时间,是世界标准时间,那么我们设置的上海也就是东八区时间,计算起来就是GMT+8,那么显示的时间就是BIOS+8。

当你把系统切换到windows,win会认为BIOS时间就是本地时间,那么这个BIOS时间已经被ubuntu设置成了伦敦时间,所以你的windows刚进去那会儿,时间会提早八个小时(我指的早,在这里应该被理解成数字上的小)

windows认为,BIOS时间就是当地时间。所以windows会直接显示BIOS时间。

ubuntu认为,BIOS时间应当是UTC时间(格林尼治标准时间)。所以ubuntu会将BIOS时间加上8小时后再显示出来(在中国)。

问题解决

方法一

解决方案非常简单。直接在ubuntu终端中输入:
timedatectl set-local-rtc 1
这句话的作用是让ubuntu将系统时间和BIOS时间同步。现在,ubuntu和windows一样,都认为BIOS时间就是当地时间,联网更新时,也是直接将BIOS时间设为当地时间。这样就没问题了。

方法二

1
2
3
4
5
sudo apt-get install ntpdate                  //  在ubuntu下更新本地时间

sudo ntpdate time.windows.com

sudo hwclock --localtime --systohc //将本地时间更新到硬件上