一、现象
麒麟V10桌面系统,开机重启之后,发现系统时间不对,与实际时间相差较大。而且单位里多台电脑出现了同样的情况,但是每一台电脑的时间都是不一样的。

file
二、处理方法
方法1:手动修改时间
sudo date -s "2025-05-30 10:20:32"
方法2:修改默认的可访问的NTP服务器
执行以下命令,修改NTP服务器为ntp2.aliyun.com,也可以根据需要修改成单位内部的NTP服务器的域名或者ip地址。
sudo sed -i 's|#*NTP=.*|NTP=ntp2.aliyun.com|g' /etc/systemd/timesyncd.conf
重启一下时间同步服务systemd-timesyncd
systemctl restart systemd-timesyncd.service
方法3:安装补丁包
(原理同方法2,修改默认的NTP服务器为阿里云服务器)
- 下载补丁包 [点击以下图片下载]
<img src="https://upload-images.jianshu.io/upload_images/18579221-ba45ce15159376a7.png" alt="描述文字">
如果以上无法下载,可以访问这里下载https://gxxc.wiki/kd/6642.html - 安装补丁包
解压补丁包后,进入deb包所在目录,双击deb包安装,或者使用以下命令安装:
sudo dpkg -i fix-timesync_1.0.0_all.deb
-
安装完补丁包后,再查看一下时间
file 建议将当前对的时间,同步到硬件RTC
sudo hwclock -w
三、原因分析
日志显示无法连接到ntp服务器,读取硬件RTC时间

file
所以显示出不同的时间。而systemd-timesyncd 这个服务本身不会将当前系统时间时间写入硬件RTC,所以时间过去越久,硬件时间与实际时间相差越多,当系统无法从默认的ntp服务器获取到正确时间的时候,就会用硬件时间,从而时间有差异。
四、其他
systemd-timesyncd 这个服务本身不会将当前系统时间时间写入硬件RTC。所以,建议用户每过一段时间后手动将当前时间同步到硬件上,可以执行命令timedatectl查看当前硬件时间

file
如果硬件时间和当前系统时间相差较大,可以先将系统时间设置正确后,执行以下命令将当前时间同步到硬件RTC
sudo hwclock -w
