2023年11月24日发(作者:)

解决Windows10Ubuntu16.04双系统时间不⼀样问题!(亲测,真正的正确

⽅案)

问题

笔记本电脑,双硬盘,双系统 。 win10 64bit装固态硬盘上,Ubuntu16.04 64bit装在机械硬盘上。发现Ubuntu的时间是正确

的,win10时间总是不正确(没有计算过到底快或者慢了多少)。

百度的解决⽅案(未成功)

有了错误就要上⽹资料,百度清⼀⾊的解决⽅案如下:

sudo apt install ntpdate

sudo nptdate #更新本地时间

sudo hwclock –localtime –systohc #将本地时间更新到硬件上

根据如上的解决⽅案,得到如下的错误提⽰:

$ sudo apt install ntpdate #安装

正在读取软件包列表... 完成

正在分析软件包的依赖关系树

正在读取状态信息... 完成

下列【新】软件包将被安装:

ntpdate

升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。

需要下载 48.7 kB 的归档。

解压缩后会消耗 173 kB 的额外空间。

获取:1 /ubuntu xenial-updates/main amd64 ntpdate amd64 1:4.2.8p4+dfsg-3ubuntu5.7 [48.7 kB]

已下载 48.7 kB,耗时 15 (3,206 B/s)

正在选中未选择的软件包 ntpdate

(正在读取数据库 ... 系统当前共安装有 288765 个⽂件和⽬录。)

正准备解包 .../ntpdate_1%3a4.2.8p4+dfsg-3ubuntu5.7_ ...

正在解包 ntpdate (1:4.2.8p4+dfsg-3ubuntu5.7) ...

正在处理⽤于 man-db (2.7.5-1) 的触发器 ...

正在设置 ntpdate (1:4.2.8p4+dfsg-3ubuntu5.7) ...

zyq@zyq-Lenovo:~$ sudo nptdate #问题1 提⽰找不到命令

sudo: nptdate:找不到命令

zyq@zyq-Lenovo:~$ sudo hwclock --localtime --systohc #问题2:⽆法通过任何已知的⽅法访问硬件时钟

hwclock: Cannot access the Hardware Clock via any known method.

hwclock: Use the --debug option to see the details of our search for an access method.

继续分析原因

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⼩时。就是这样个原因。

最终的解决⽅案(成功)

第⼀种解决⽅法:

在Ubuntu中把计算机硬件时间改成系统显⽰的时间,即禁⽤Ubuntu的UTC:(需要重启)

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

提⽰:

在 Ubuntu 16.04 版本以前,关闭UTC的⽅法是编辑/etc/default/rcS,将UTC=yes改成UTC=no, 但在Ubuntu 16.04使⽤

systemd启动之后,时间改成了由timedatectl来管理

第⼆种解决⽅法:

修改 Windows对硬件时间的对待⽅式,让 Windows把硬件时间当作UTC:(需要重启)