解決linux與windows時間相差8小時問題
問題:在電腦上運(yùn)行l(wèi)inux系統(tǒng)之后,再進(jìn)入windows系統(tǒng)之后會發(fā)現(xiàn),windows和linux的系統(tǒng)時間總是相差8小時,windows的系統(tǒng)時間要加上8,才能與當(dāng)?shù)貙?shí)際時間相一致;修改linux時間或者windows時間,也解決不了問題,一旦切換系統(tǒng)啟動,還是相差8小時。 原因:linux、windows對BIOS硬件時間識別的方式不同。 首先,UTC即Universal Time Coordinated,協(xié)調(diào)世界時;GMT即Greenwich Mean Time,格林尼治平時。 1、Windows把系統(tǒng)硬件時間當(dāng)作本地時間(local time),即操作系統(tǒng)中顯示的時間跟BIOS中顯示的時間是一樣的。 2、Linux/Unix/Mac把硬件時間當(dāng)作 UTC,操作系統(tǒng)中顯示的時間是硬件時間經(jīng)過換算得來的,比如說北京時間是GMT+8,則系統(tǒng)中顯示時間是硬件時間+8。 所以當(dāng)有多個系統(tǒng)共存時就出現(xiàn)了上述問題。當(dāng)修改了linux中的系統(tǒng)時間時,windows的時間即為linux設(shè)置時間-8,反之,放設(shè)置windows系統(tǒng)時間時,linux的時間變?yōu)閣indows時間+8。 了解到這些后,我們便可以想辦法來解決這個問題。 解決方法: 1. 可讓 Linux 不使用 UTC 時間與 Windows 保持一致。 Linux默認(rèn)開啟UTC,即協(xié)調(diào)世界時,而win7是使用這種計時方式,這將導(dǎo)致的結(jié)果就是Windows和Linux時間計算有差異 你可以使用以下方法得到一致的時間: sudo gedit /etc/default/rcS 找到這一行:UTC=yes www.2cto.com 把 yes改為no 在fedora(我是fedora 13)下,一次打開System&ndash>Administration&ndash>Date & Time在Time Zone選項(xiàng)卡下把System clock uses UTC前面的勾去掉,確定。稍微過幾分鐘系統(tǒng)時間就正常了。
或者:在/etc/profile文件中增加一行 export TZ=''CST-8'' 使文件立即生效。 source /etc/profile 或者 . /etc/profile
2. 修改 Windows 對硬件時間的對待方式,這樣只在 Windows 上修改后就無需在Linux 上設(shè)置了。這樣,讓W(xué)indows認(rèn)定CMOS時間為格林威治標(biāo)準(zhǔn)時間,來消除操作系統(tǒng)之間認(rèn)定時間的差異,從而解決Windows操作系統(tǒng)與不同操作系統(tǒng)并存時出現(xiàn)的時間認(rèn)定糾紛。Windows注冊表內(nèi)已經(jīng)隱藏了這樣一個開關(guān)。 讓 Windows 把硬件時間當(dāng)作 UTC 開 始->運(yùn)行->CMD,打開命令行程序(Vista則要以管理員方式打開命令行程序方可有權(quán)限訪問注冊表),在命令行中輸入下面命令并回車 代碼: Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
或者打開注冊表,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\中添加一項(xiàng)數(shù)據(jù)類型為REG_DWORD,名稱為RealTimeIsUniversal,值設(shè)為1. 考慮到其它介質(zhì)啟動問題,建議選擇第一種辦法,較好,這樣與常用的各種windows系統(tǒng)相一致,麻煩較少。事實(shí)上,有另一個沒有修改的linux啟動介質(zhì),也會修改系統(tǒng)時間。如果不上網(wǎng),則不會變化。 |