修復 Windows 和 Ubuntu 雙啟動之間的時差

許多人在他們的主電腦或輔助電腦上使用雙啟動設置。我通過雙啟動設置使用 Ubuntu 和 Windows 10。 Ubuntu 與許多其他非 Windows 操作系統一樣,支持雙啟動,因為它們必須這樣做。另一方面,Windows 10 通常附帶的設置對於雙啟動設置來說並不是最佳的。這會產生一個小問題:當您從 Ubuntu 切換到 Windows 10 和 11 時,Windows 顯示錯誤的時間。幸運的是,有一種簡單的方法可以在雙啟動設置中修復 Windows 10 和 Ubuntu 之間的時間差異。

為什麼會發生這種情況?

發生這種情況是因為 Ubuntu 默認將硬件時鐘上的時間存儲為 UTC(協調世界時)。 Windows 10 甚至更早的版本將時間存儲為本地時間。有時(但並非總是如此),這會導致 Ubuntu 和 Windows 之間發生衝突。因此,只要您重新啟動到 Windows,時鐘就會正常工作。一旦啟動 Ubuntu,它就會在硬件時鐘上寫入 UTC。當您重新啟動到 Windows 時,由於您的本地時間與 UTC 時間不同,時間將會有準確的偏差。例如,印度的UTC是UTC+5:30,因此當Windows 10中的時間關閉時,它總是比實際時間晚5小時30分鐘。

不要錯過:

修復雙啟動設置中的時差

這只是您在雙引導設置中可能遇到的少數小問題之一。現在我們知道了原因,我們可以輕鬆修復之間的時差Ubuntu 通過讓 Ubuntu 使用本地時間或讓 Windows 10 使用 UTC。有幾種方法可以做到這一點。您可以使用任一操作系統來執行此操作。

在 Ubuntu 中禁用 UTC 並使用當地時間(不推薦)

筆記:根據 Ubuntu 維基百科,“將硬件時鐘設置為 UTC 的優點是,在時區之間移動或夏令時 (DST) 開始或結束時,您無需更改硬件時鐘,因為 UTC 沒有 DST 或時區偏移“。我們建議您不要使用此方法,特別是如果您居住在使用夏令時的地方。如果您居住在像印度這樣的國家,應該沒問題,但我們建議您使用第二種方法。即從 Windows 修復此問題。

對於 Ubuntu 16.04 及更高版本,在終端中執行以下命令。

timedatectl set-local-rtc 1

這將更改所需的設置,您可以使用以下命令查看它是否有效。

timedatectl 

您將看到一堆行作為輸出,但您必須查找顯示“RTC in local TZ: yes”的行。您還會看到一條以“系統配置為讀取本地時區的 RTC 時間”開頭的警告消息。進一步的行將警告您這樣做的缺點。

對於 16.04 之前的 Ubuntu 版本,您將需要編輯配置文件/etc/default/rcS並將“UTC=no”更改為“UTC=yes”(不帶引號)。這可以使用終端中的簡單命令來完成。

sudo sed -i 's/UTC=yes/UTC=no/' /etc/default/rcS

您將需要輸入密碼,因為該文件位於根目錄中,並且您正在使用 root 命令來修改它。執行此命令後,您必須重新啟動系統才能使更改生效。

讓 Windows 10 使用 UTC(推薦)

雖然將 Ubuntu 更改為使用本地時間而不是 UTC 有缺點,但讓 Windows 10 使用 UTC 只會帶來使用 UTC 的優勢。這就是為什麼這是推薦的方法。從下面的鏈接下載註冊表文件並雙擊運行該文件。點擊跑步對話框上的並根據要求確認您的操作。

下載WindowsTimeFixUTC

即使修復了註冊表,Windows 仍將繼續寫入本地時間。您現在需要以管理員身份啟動命令提示符窗口並執行以下命令。

sc config w32time start= disabled


您可以復制命令並在命令提示符中右鍵單擊以粘貼它。完成後重新啟動系統。

閱讀下一篇: