Ubuntu 與 Windows 雙系統時間不一致問題解決

··

Ubuntu 與 Windows 雙系統時間不一致問題解決方案
#

前言
#

使用 Ubuntu + Windows 雙系統的用戶,常會遇到一個困擾:
在 UTC+8 的地區,Ubuntu 的時間總是比 Windows 快 8 小時。每次切換系統後,都要手動調整時間,十分麻煩。

問題原因
#

Ubuntu 與 Windows 對於 硬體時間(BIOS 時間) 的解讀方式不同:

  • Windows:直接將 BIOS 時間視為 本地時間 (Local Time)

  • Ubuntu:則將 BIOS 時間視為 UTC+0,再加上系統時區 (例如 UTC+8),因此會比 Windows 顯示快 8 小時。

所以切換系統時,就會出現時間不同步的問題。

解決方法:使用 Chrony 同步時間
#

在 Ubuntu 20.04 之後,官方推薦使用 Chrony 取代舊的 ntpdate

安裝 Chrony
#

sudo apt update
sudo apt install chrony

立即同步時間
#

sudo chronyd -q 'server pool.ntp.org iburst'

這會向全球的 NTP 伺服器請求正確時間,並立即校準。

如果希望 Ubuntu 也和 Windows 一樣,直接將 BIOS 設為「本地時間」,可以執行:

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

這樣 Ubuntu 會把 BIOS 當成本地時間解讀,Windows 和 Ubuntu 就不會再有 8 小時的落差。