如何解决 Windows 和 Manjaro 双系统时间不一致
解决办法
我这边是 Manjaro Linux 以它为例来说修复方法。大致上有两种思路,一种是让 Windows 使用 UTC 时间;另一种则是让 Linux 使用 localtime
让 Linux 使用本地时间
委屈以下 Linux 吧,Manjaro 或 Arch 可以在终端中输入:
sudo timedatectl set-local-rtc true
- 1
让 Windows 使用 UTC
这需要修改注册表,而且不能开启时间同步,以免我们的设置被重置。由于我的 Windows 是主力系统,因此没有尝试下面的方法,有效性有待验证
# 以管理员身份使用运行
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
# 以上方法无效或64位系统:
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_QWORD /f
Manjaro系统时间同步服务器设置方法
1、设置系统时间和时区
在Manjaro系统中,您可以使用命令行界面或者图形化界面来设置系统时间和时区。在命令行界面中,您可以使用“timedatectl”命令来设置系统时间和时区,如下所示:
sudo timedatectl set-time YYYY-MM-DD HH:MM:SS
sudo timedatectl set-timezone Asia/Shanghai
如果您想使用图形化界面来设置系统时间和时区,可以通过设置桌面环境的“Date and Time”应用程序来完成。在这个应用程序中,您可以手动调整时间和时区,或者使用网络来同步时间和时区。
在设置好系统时间和时区之后,您可以使用一些命令来查看当前系统时间和时区的设置,如下所示:
date
timedatectl status
2、使用NTP协议同步时间
NTP是一种用于同步时间的协议,它可以从互联网中的时间服务器上获取准确的时间,并将其应用到本地系统中。对于Manjaro系统来说,您可以使用命令行界面或者图形化界面来配置NTP协议的设置。在命令行界面中,您可以使用“timedatectl”命令来设置NTP服务器,如下所示:
sudo timedatectl set-ntp true
sudo timedatectl set-timezone Asia/Shanghai
在图形化界面中,您可以使用应用程序“Date and Time”的设置界面来向系统添加NTP服务器的地址。
成功配置NTP服务器之后,您可以使用以下命令来测试其是否有效:
ntpdate -q time.nist.gov
如果一切正常,您将看到时间服务器返回的响应。
3、配置本地时间服务器
对于网络环境不稳定的用户,如果使用互联网中的时间服务器进行时间同步可能会存在一些问题,此时您可以考虑使用本地时间服务器来同步时间。在Manjaro系统中,您可以使用“chrony”作为本地时间服务器。要配置chrony,您可以使用以下命令:
sudo pacman -S chrony
然后,您需要编辑chrony.conf文件,以添加时间服务器的地址。在文件中,您可以添加以下内容:
server time.nist.gov iburst
在添加时间服务器地址之后,您需要重启chrony服务,以使其生效:
sudo systemctl restart chrony.service
最后,您可以使用以下命令来测试chrony的是否起作用:
chronyc sources
这个命令会显示服务器的源和目标,如果使用的是本地时间服务器,您将看到一个指针指向其它服务器的本地IP地址。
4、设置时间同步的优先级
在Linux中,您可以设置时间同步的优先级,以使系统产生更准确的时间。在Manjaro系统中,您可以编辑/etc/systemd/timesyncd.conf文件来设置时间同步的优先级。在文件中,您可以添加以下内容:
[Time]
FallbackNTP=0.manjaro.pool.ntp.org 1.manjaro.pool.ntp.org
RootDistanceMaxSec=5
您可以手动更改“FallbackNTP”选项,以添加您自己喜欢的NTP服务器地址。然后,保存文件并重启timesyncd服务以使其生效:
sudo systemctl restart systemd-timesyncd.service
sudo pacman -S ntp && sudo timedatectl set-ntp true
系统自带的可能就是 ntp,而且不好用,换成 openntp 就好了
安装 openntp 解决了问题
sudo pacman -S openntpd
systemctl enable openntpd
https://wiki.archlinuxcn.org/wiki/%E7%B3%BB%E7%BB%9F%E6%97%B6%E9%97%B4