前言
使用 Ubuntu + Windows 雙系統的用戶,應該會發現 Ubuntu 的時間總是與 Windows 的不一樣,在 UTC+8 的地方,Ubuntu 比 Windows 快 8 小時,切換系統後總是要手動調整時間,造成一定的困擾。最佳解決之道應為將雙系統時間設為同步,因此這裡紀錄了如何將雙系統的時間設為一致。
環境
- Ubuntu 18.04 LTS
- Windows 10
原因說明
此問題是由於 Ubuntu 和 Windows 的時間設定方式不同所導致,以當地時間 UTC+8 為例
- Windows:取得硬體時間 (BIOS 的時間) 直接為當地時間 (Local Time)。
- Ubuntu:取得硬體時間 (BIOS 的時間) 並視之為 UTC+0,所以顯示出來的時間是硬體時間 +8 後的結果,也就是 Windows 的時間 +8。
簡而言之,正是因為 Ubuntu 會把硬體時間視為 UTC+0,切到 Windows 顯示出來的時間才會比 Ubuntu 慢上 8 個小時!
解決方法
以下皆是在 Ubuntu 操作,先取得正確時間,若發現找不到 ntpdate
套件,可以參考:[apt] Unable to locate package 問題
1 | user@pc:~$ sudo apt-get install ntpdate # network time protocol date |
將系統中的時間更新到硬體上,並請 Ubuntu 將硬體時間視為當地時間,如此一來 Ubuntu 與 Windows 顯示時間的運作方式就會一樣
1 | user@pc:~$ sudo hwclock --systohc --localtime # hardware clock |
--systohc
:將系統時間同步到硬體內--localtime
:將硬體時間當作當地時間
最後,只需要重開機進入 Windows 確認時間是否正常顯示。