ubuntu和windows双系统时间错乱问题
雙系統過程中發現了一個神奇的事情,每次運行完ubuntu之后windows的時間都會被減少8個小時,修改之后只要進入一次ubuntu又會出現同樣情況。
于是開始尋找是否有前輩給出解決方法
以下內容參考:
https://www.jianshu.com/p/cf445a2c55e8
理論上是有兩種方法的,但是由于當前處在windows中故采用在Windows中設置的方法
打開PowerShell(在Windows+X快捷菜單中),輸入以下命令:
reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1重啟即可
順便介紹一下原理:
摘自https://www.jianshu.com/p/cf445a2c55e8
為什么會出現時差?
在了解時差出現的原因之前,我們先了解以下幾個時鐘的概念:
系統時間 / 本地時間(System time / Local time)
指Linux系統內部的時間。我們在系統任務欄中能直接看到的時間就是系統時間。
實時時鐘(Real-Time Clock, RTC)
實時時鐘是PC主板上的晶振及相關電路組成的時鐘電路的生成脈沖,它控制著計算機系統的時間。操作系統中所提到的RTC,指的就是在計算機主板控制下的時間,即系統時間,為計算機硬件的內部時鐘。
協調世界時(Coordinated Universal Time, UTC)
協調世界時(英語:Coordinated Universal Time,法語:Temps Universel Coordonné,簡稱UTC)是最主要的世界時間標準,其以原子時秒長為基礎,在時刻上盡量接近于格林尼治標準時間。
實踐中,UTC與GMT大致重合,其時間的值基本一致,但是它們在本質上各不相同。前者以原子時為依據,是確定時間值的標準,而后者則是時區上的概念,作為世界上不同地區人口生活的時間參照。
UTC也是計算機系統中的一個時間衡量標準,Ubuntu默認就將機器時間視為UTC[1]。Ubuntu 16.04及更高版本的時間管理工具timedatectl中,UTC時間被單獨列出來.
CST
CST同時是以下兩個時區的英文縮寫:
中國標準時間:China Standard Time
中部標準時間(美國):Central Standard Time
如此縮寫相同,在沒有明確區分的情況下極易混淆,例如,筆者在小米Max上使用date命令查看時區時,輸出以下結果:
$ date
Tue Sep 4 16:51:00 CST 2018
timedatectl工具的輸出也不會那么明智。如果不知道這兩個時區縮寫相同,我還真以為系統拿美國的CST作為時區參照,使得這里的CST指的是美國標準時間了。幸好,為了避免歧義,Ubuntu的時區設置界面中特別標明了當前時區相對UTC的時差。
格林尼治標準時間(Greenwich Mean Time, GMT)
格林尼治平時(英語:Greenwich Mean Time,GMT)是指位于英國倫敦郊區的皇家格林尼治天文臺當地的平太陽時,因為本初子午線被定義為通過那里的經線。
為什么時差剛好是8個小時?
在中國,雙系統導致的時差不多不少,正好是8個小時。而這8個小時的時差,正是中國所在時區東八區(GMT+8)相對于GMT的時間差。UTC正與GMT重合,加上其又是Ubuntu系統的時間依據(Ubuntu認為機器時間是UTC),因此對于時區設置為東八區的中國用戶來說,這八個小時,不多不少,“剛剛好”。
總結
以上是生活随笔為你收集整理的ubuntu和windows双系统时间错乱问题的全部內容,希望文章能夠幫你解決所遇到的問題。

- 上一篇: 关于ubuntu启动项默认的修改以及ch
- 下一篇: git 的使用总结