本方法适用于解决Ubuntu22.04和Windows10双系统时间不同步的问题,也适用于其它版本的Ubuntu如20.04、18.04或windows7.

截图 2022-08-29 08-23-28.png

先说下两个概念:

UTC即Universal Time Coordinated,协调世界时(世界统一时间)

GMT 即Greenwich Mean Time,格林尼治平时

Windows 与 Mac/Linux 看待系统硬件时间的方式是不一样的:

Windows把计算机硬件时间当作本地时间(local time),所以在Windows系统中显示的时间跟BIOS中显示的时间是一样的。

Linux/Unix/Mac把计算机硬件时间当作 UTC, 所以在Linux/Unix/Mac系统启动后在该时间的基础上,加上电脑设置的时区数( 比如我们在中国,它就加上“8” ),因此,Linux/Unix/Mac系统中显示的时间总是比Windows系统中显示的时间快8个小时。

所以,当你在Linux/Unix/Mac系统中,把系统现实的时间设置正确后,其实计算机硬件时间是在这个时间上减去8小时,所以当你切换成Windows系统后,会发现时间慢了8小时。就是这样个原因。

因此操作如下:

1)对于Ubuntu22.04(高版本Ubuntu)+win10
打开Ubuntu终端,命令行输入:

sudo apt-get install ntpdate                  //安装网络时间同步
sudo ntpdate time.windows.com                     //同步windows服务器时间,同步其它网络授权时间亦可
sudo hwclock --localtime --systohc                //将本地时间更新到硬件上

2)对于其它无法修改rcs的Ubuntu版本(Ubuntu16.04及以上版本)
打开Ubuntu终端,命令行输入:

timedatectl set-local-rtc 1 --adjust-system-clock

3)对于低版本的Ubuntu(Ubuntu16.04以下版本)
让Ubuntu不使用UTC时间, 而使用BIOS时间

nano /etc/default/rcS

将其中的UTC=yes 改为 no

在windows的命令行输入处:

Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

最后修改:2022 年 09 月 10 日
如果觉得我的文章对你有用,请随意赞赏