溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么解決 Windows-Linux 雙啟動設(shè)置中顯示時間錯誤的問題

發(fā)布時間:2021-07-12 10:41:00 來源:億速云 閱讀:225 作者:chen 欄目:系統(tǒng)運維

這篇文章主要講解了“怎么解決 Windows-Linux 雙啟動設(shè)置中顯示時間錯誤的問題”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么解決 Windows-Linux 雙啟動設(shè)置中顯示時間錯誤的問題”吧!

如果你 雙啟動 Windows 和 Ubuntu 或任何其他 Linux 發(fā)行版,你可能會注意到兩個操作系統(tǒng)之間的時間差異。

當(dāng)你 使用 Linux 時,它會顯示正確的時間。但當(dāng)你進(jìn)入 Windows 時,它顯示的時間是錯誤的。有時,情況正好相反,Linux 顯示的是錯誤的時間,而 Windows 的時間是正確的。

特別奇怪的是,因為你已連接到互聯(lián)網(wǎng),并且已將日期和時間設(shè)置為自動使用。

別擔(dān)心!你并不是唯一一個遇到這種問題的人。你可以在 Linux 終端上使用以下命令來解決這個問題:

timedatectl set-local-rtc 1

同樣,不要擔(dān)心。我會解釋為什么你在雙啟動設(shè)置中會遇到時間差。我會向你展示上面的命令是如何修復(fù) Windows 雙啟動后的時間錯誤問題的。

為什么 Windows 和 Linux 在雙啟動時顯示不同的時間?

一臺電腦有兩個主要時鐘:系統(tǒng)時鐘和硬件時鐘。

硬件時鐘也叫 RTC(實時時鐘)或 CMOS/BIOS 時鐘。這個時鐘在操作系統(tǒng)之外,在電腦的主板上。即使在你的系統(tǒng)關(guān)機后,它也會繼續(xù)運行。

系統(tǒng)時鐘是你在操作系統(tǒng)內(nèi)看到的。

當(dāng)計算機開機時,硬件時鐘被讀取并用于設(shè)置系統(tǒng)時鐘。之后,系統(tǒng)時鐘被用于跟蹤時間。如果你的操作系統(tǒng)對系統(tǒng)時鐘做了任何改變,比如改變時區(qū)等,它就會嘗試將這些信息同步到硬件時鐘上。

默認(rèn)情況下,Linux 認(rèn)為硬件時鐘中存儲的時間是 UTC,而不是本地時間。另一方面,Windows 認(rèn)為硬件時鐘上存儲的時間是本地時間。這就是問題的開始。

讓我用例子來解釋一下。

你看我在加爾各答 UTC+5:30 時區(qū)。安裝后,當(dāng)我把 Ubuntu 中的時區(qū) 設(shè)置為加爾各答時區(qū)時,Ubuntu 會把這個時間信息同步到硬件時鐘上,但會有 5:30 的偏移,因為對于 Linux 來說它必須是 UTC。

假設(shè)加爾各答時區(qū)的當(dāng)前時間是 15:00,這意味著 UTC 時間是 09:30。

現(xiàn)在當(dāng)我關(guān)閉系統(tǒng)并啟動到 Windows 時,硬件時鐘有 UTC 時間(本例中為 09:30)。但是 Windows  認(rèn)為硬件時鐘已經(jīng)存儲了本地時間。因此,它改變了系統(tǒng)時鐘(應(yīng)該顯示為 15:00),而使用 UTC  時間(09:30)作為本地時間。因此,Windows 顯示時間為 09:30,這比實際時間(我們的例子中為 15:00)早了 5:30。

怎么解決 Windows-Linux 雙啟動設(shè)置中顯示時間錯誤的問題

同樣,如果我在 Windows 中通過自動時區(qū)和時間按鈕來設(shè)置正確的時間,你知道會發(fā)生什么嗎?現(xiàn)在它將在系統(tǒng)上顯示正確的時間(15:00),并將此信息(注意圖片中的“同步你的時鐘”選項)同步到硬件時鐘。

如果你啟動到 Linux,它會從硬件時鐘讀取時間,而硬件時鐘是當(dāng)?shù)貢r間(15:00),但由于 Linux 認(rèn)為它是 UTC 時間,所以它在系統(tǒng)時鐘上增加了 5:30 的偏移。現(xiàn)在 Linux 顯示的時間是 20:30,比實際時間超出晚了 5:30。

現(xiàn)在你了解了雙啟動中時差問題的根本原因,是時候看看如何解決這個問題了。

修復(fù) Windows 在 Linux 雙啟動設(shè)置中顯示錯誤時間的問題

有兩種方法可以處理這個問題:

  • 讓 Windows 將硬件時鐘作為 UTC 時間

  • 讓 Linux 將硬件時鐘作為本地時間

在 Linux 中進(jìn)行修改是比較容易的,因此我推薦使用第二種方法。

現(xiàn)在 Ubuntu 和大多數(shù)其他 Linux 發(fā)行版都使用 systemd,因此你可以使用 timedatectl 命令來更改設(shè)置。

你要做的是告訴你的 Linux 系統(tǒng)將硬件時鐘(RTC)作為本地時間。你可以通過 set-local-rtc (為 RTC 設(shè)置本地時間)選項來實現(xiàn):

timedatectl set-local-rtc 1

如下圖所示,RTC 現(xiàn)在使用本地時間。

怎么解決 Windows-Linux 雙啟動設(shè)置中顯示時間錯誤的問題

現(xiàn)在如果你啟動 Windows,它把硬件時鐘當(dāng)作本地時間,而這個時間實際上是正確的。當(dāng)你在 Linux 中啟動時,你的 Linux 系統(tǒng)知道硬件時鐘使用的是本地時間,而不是 UTC。因此,它不會嘗試添加這個時間的偏移。

這就解決了 Linux 和 Windows 雙啟動時的時差問題。

你會看到一個關(guān)于 RTC 不使用本地時間的警告。對于桌面設(shè)置,它不應(yīng)該引起任何問題。至少,我想不出有什么問題。

感謝各位的閱讀,以上就是“怎么解決 Windows-Linux 雙啟動設(shè)置中顯示時間錯誤的問題”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對怎么解決 Windows-Linux 雙啟動設(shè)置中顯示時間錯誤的問題這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI