1. 程式人生 > >解決Windows與Ubuntu雙系統時間同步問題

解決Windows與Ubuntu雙系統時間同步問題

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

                       

1  問題發現


本子上裝的是Window 10(win7升級)和Ubuntu GNOME 14.04的雙系統, 一直以來都發現雙系統切換後系統的時間顯示有問題

每次都發現進入ubuntu系統的時間顯示不正確, 只有再重新使用網路對時之後系統的時間才正常

但是問題不僅於此, 切環回window之後, 會發現系統的時間也不正常了, window一直是網路自動對時的啊, 然後無語, 只能再次聯網強制同步網路時間.

如此以來好幾個星期了老是沒顧得上解決, 今天難得有空, 就花時間整了整.

2  問題原由


2.1   原因發現


Ubuntu和Windows預設的時間管理方式不同,所以雙系統發生時間錯亂是正常的

Ubuntu預設時間是把BIOS時間當成GMT+0時間,也就是世界標準時,而我國在東八區(GMT+8),所以如果你的Ubuntu位置是中國的話你係統顯示的時間就是BIOS時間+8小時, 假如現在是早上8點,那麼你Ubuntu會顯示8點

而當你切換到Windows系統時就會發生時間錯亂,因為Windows會認為BIOS時間就是你的本地時間,結果就是Windows顯示時間為0點……而假如你在Windows下同步時間,恢復顯示為8點,這時BIOS時間也會被Windows改寫成8點,再次進入Ubuntu時顯示時間又變成了8+8=16點

2.2   什麼是UTC時間


GPS的兩種時間區別

GPS 系統中有兩種時間區分,一為UTC,另一為LT(地方時)兩者的區別為時區不同,UTC就是0時區的時間,地方時為本地時間

如北京為早上八點(東八區),UTC時間就為零點,時間比北京時晚八小時,以此計算即可.

UTC相當於本初子午線(即經度0度)上的平均太陽時,過去曾用格林威治平均時(GMT)來表示.北京時間比UTC時間早8小時,以1999年1月1日0000UTC為例,UTC時間是零點,北京時間為1999年1月1日早上8點整。

格林尼治時間GMT(Greenwich Mean Time)

GMT(Greenwich Mean Time)是格林尼治平時

由於地球軌道並非圓形,其執行速度又隨著地球與太陽的距離改變而出現變化,因此視太陽時欠缺均勻性。視太陽日的長度同時亦受到地球自轉軸相對軌道面的傾斜度所影響。為著要糾正上述的不均勻性,天文學家計算地球非圓形軌跡與極軸傾斜對視太陽時的效應。平太陽時就是指經修訂後的視太陽時。在格林尼治子午線上的平太陽時稱為世界時(UT0),又叫格林尼治平時(GMT)

簡單說吧,格林尼治標準時(GMT)是格林尼治天文臺通過天文學觀測將每日太陽穿過本初子午線的瞬間定為正午時刻,並以此來制定時間,所以格林尼治標準時是“天文學時間”,隨著科技的進步,人們發現該時間不夠精確,因為地球自轉的速度是不均衡的,而且自轉速度也會越來越慢,所以不再使用。

世界協調時間(Universal Time Coordinated,UTC)

UTC由國際無線電諮詢委員會規定和推薦,並由國際時間局(BIH) 負責保持的以秒為基礎的時間標度.

而協調世界時(UTC)是基於原子物理學的特性,將在海平面上實現的”原子時秒”定義為國際標準時的時間單位,而原子時秒是這樣定義的:銫-133 原子基態的兩個超精細能級間在零磁場下躍遷輻射9192631770周所持續的時間 。所以,協調世界時屬於”原子物理時間”,它更加精確,基本不會產生誤差。與本初子 午線(經度 0°)上的平均太陽時等效,

原子時與以往的計時系統不同,它非常精確並且不以某地的平均太陽時為基準,但是遇有地球自轉速度不均勻,原子時與世界時之間的時差便日積月累,因此,UTC 會在一段時期後加上正或負的閏秒來補償。因此協調世界時與國際原子時(TAI) 之間會出現若干整數秒的差別。位於巴黎的國際地球自轉事務中央局(IERS) 負責決定何時加入閏秒。


由於Window和linux兩個系統設定時間時以主機板CMOS內的時間為依據,但卻有不同的時間計算標準。所以導致了系統時間的糾紛問題

2.3   WINDOWS的時間和時區


Windows作業系統直接把CMOS時間認定為當前顯示時間,不根據時區轉換。這樣每調整一次系統時區,系統會根據調整的時區來計算當前時間,確定後,也就同時修改了CMOS內的時間(即每調整一次時區,設定儲存後,CMOS時間也將被作業系統改變一次,注意不同作業系統調整時間後,也會同時改變CMOS時間,這一點是共通的)。

2.4   LINUX的時間和時區


Linux和蘋果作業系統以當前主機板CMOS內時間做為格林威治標準時間,再根據系統設定的時區來最終確定當前系統時間(如時區設定為GMT+08:00北京時間時以及當前CMOS時間為03:00,那麼系統會將兩個時間相加得出顯示在桌面的當前系統時間為11:00)

3  問題解決


解決的辦法有兩個

  • 一個是讓Windows使用Ubuntu的時間管理方式,就是啟用UTC(世界協調時)

  • 另一個就是讓Ubuntu按照Windows的方式管理時間,就是讓Ubuntu禁用(世界協調時)

個人建議第二種,因為通常Windows是主系統,不推薦對Windows進行這種修改,不過我還是都介紹一下:

在Windows下啟用UTC


開啟執行視窗(快捷鍵Win+R),然後輸入regedit啟動登錄檔編輯器,並找到一下目錄位置:

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/TimeZoneInformation/
   
  • 1

新增一項型別為REG_DWORD的鍵值,命名為RealTimeIsUniversal,值為1然後重啟後時間即回覆正常


在Ubuntu下關閉UTC


這個用這個方法是我比較推薦的:按Ctrl+Alt+T調出終端,輸入:

sudo vim /etc/default/rcS
   
  • 1

找到UTC=yes這一行,改成UTC=no

儲存即可,時間修改立即生效。這樣就可以解決Windows與Ubuntu雙系統時間同步問題了

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述