Featured image of post 解决Ubuntu和Windows双系统时间不同步问题

解决Ubuntu和Windows双系统时间不同步问题

1、 电脑硬件时间,也就是电脑主板的BIOS上显示的时间 2、介绍三种时间标准

1
2
3
4
5
UTC,即Coordinated Universal Time,协调世界时

GMT,即Greenwich Mean Time,格林尼治标准时间

RTC,即Real-time clock,实时时钟

3、Windows与Linux看待BIOS里时间的方式不一样

Linux时钟分为系统时钟(System Clock)和硬件时钟(RTC)。Linux把硬件时间当作UTC,系统时间是UTC时间经过换算过来的(就是东几区:加时间,西几区:减时间)。比如北京时间,就是GMT+8,在windows里是凌晨00:00,那么在Linux中就是08:00,多八个小时,这是与所在的地理位置有关,此处就请科普下地理知识,经度纬度,以及地球公转自转,太阳照射时间等知识信息 Windows系统就直接读取了系统硬件时间(RTC),当作本地时间(Local time),因此windows系统时间和BIOS中显示的时间(RTC)是一样的

4、解决方法,在ubuntu,打开终端,执行以下命令

1
2
3
4
5
sudo apt install ntpdate # 使用ntp同步时间
sudo ntpdate time.windows.com # 同步微软windows时间
sudo hwclock --localtime --systohc # 将时间跟新到硬件上
# 如果显示没有hwclock命令,就先安装该命令
# sudo apt install util-linux-extra

如果同步之后,windows的时间依旧没有更新,一般是你电脑的时间同步按钮打开了,关闭这个同步功能,再打开这个功能,调整一下,然后就可以了。

另外一个方式,在ubuntu里执行命令

1
2
3
4
timedatectl set-local-rtc 1 --adjust-system-clock
# --adjust-system-clock 参数解释
# 当使用set-local-rtc命令时,若使用了此选项,则表示根据RTC时间来更新系统时钟,而不是用UTC来更新(UTC需要+8)。
# 若未使用此选项,则表示根据系统时钟来更新RTC时间。

然后重启电脑

Built with Hugo
Theme Stack designed by Jimmy