解決辦法
我這邊是 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