[原创]Linux和Windows双系统带来的系统时间问题的解决详述

为当前最终发行版之前的所有版本提供支持
ttzm
帖子: 88
注册时间: 2007-05-24 12:05
送出感谢: 0
接收感谢: 0

[原创]Linux和Windows双系统带来的系统时间问题的解决详述

#1

帖子 ttzm » 2007-05-27 23:56

由于两个系统设定时间时以主板CMOS内的时间为依据,但却有不同的时间计算标准。所以导致了系统时间的纠纷问题。

Linux和苹果操作系统以当前主板CMOS内时间做为格林威治标准时间,再根据系统设置的时区来最终确定当前系统时间(如时区设置为GMT+08:00北京时间时以及当前CMOS时间为03:00,那么系统会将两个时间相加得出显示在桌面的当前系统时间为11:00)。

Windows操作系统却直接把CMOS时间认定为当前显示时间,不根据时区转换。这样每调整一次系统时区,系统会根据调整的时区来计算当前时间,确定后,也就同时修改了CMOS内的时间(即每调整一次时区,设置保存后,CMOS时间也将被操作系统改变一次,注意不同操作系统调整时间后,也会同时改变CMOS时间,这一点是共通的)。

这里我们且不论两种时间计算标准的好差,而仅让Windows认定CMOS时间为格林威治标准时间来消除操作系统之间认定时间的差异,从而解决Windows操作系统与不同操作系统并存时出现的时间认定纠纷。。。(怎么改Ubuntu参见2楼xport的回帖:))

其实Windows注册表内已经隐藏了这样一个开关。瀑布汗,那么就拿它来开刀了。。。

即在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\中添加一项数据类型为REG_DWORD,名称为RealTimeIsUniversal,值设为1。

我这里给出一个自己写的命令行,拷贝代码后用记事本另存后缀名为CMD,双击执行即可(在Windows下)

@echo off
color 0a
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
echo.
echo 已让Windows识别存贮在主板CMOS内的时间为格林威治标准时间(GMT),即系统根据CMOS时间和设置的时区来确定当前系统的时间。
echo.
pause
上次由 ttzm 在 2007-05-28 0:46,总共编辑 2 次。
头像
xport
帖子: 1277
注册时间: 2006-05-19 21:23
送出感谢: 0
接收感谢: 0
联系:

#2

帖子 xport » 2007-05-28 0:08

我则是修改Ubuntu中不使用UTC时间:

在Ubuntu中要启用本地时间,需要修改 /etc/default/rcS ,修改动作如下:

# 注释掉原来的设定:UTC=yes
# 变更为下面的内容...
UTC=no
其实我是一个演员!-http://blog.csdn.net/xport/
头像
iblicf
帖子: 3766
注册时间: 2007-01-15 17:15
送出感谢: 0
接收感谢: 0

#3

帖子 iblicf » 2007-05-28 0:33

世界协调时间(Universal Time Coordinated,UTC)
GPS 系统中有两种时间区分,一为UTC,另一为LT(地方时)两者的区别为时区不同,UTC就是0时区的时间,地方时为本地时间,如北京为早上八点(东八区),UTC时间就为零点,时间比北京时晚八小时,以此计算即可

UTC相当于本初子午线(即经度0度)上的平均太阳时,过去曾用格林威治平均时(GMT)来表示.北京时间比UTC时间早8小时,以1999年1月1日0000UTC为例,UTC时间是零点,北京时间为1999年1月1日早上8点整。

GMT(Greenwich Mean Time)是格林尼治平时:
由于地球轨道并非圆形,其运行速度又随着地球与太阳的距离改变而出现变化,因此视太阳时欠缺均匀性。视太阳日的长度同时亦受到地球自转轴相对轨道面的倾斜度所影响。为着要纠正上述的不均匀性,天文学家计算地球非圆形轨迹与极轴倾斜对视太阳时的效应。平太阳时就是指经修订后的视太阳时。在格林尼治子午线上的平太阳时称为世界时(UT0),又叫格林尼治平时(GMT)。

好,促使我学了点东西
ttzm
帖子: 88
注册时间: 2007-05-24 12:05
送出感谢: 0
接收感谢: 0

#4

帖子 ttzm » 2007-05-28 0:45

xport 的补充,这下完整了。呵呵
applnk
帖子: 1485
注册时间: 2007-02-13 15:24
来自: 地球
送出感谢: 0
接收感谢: 0

#5

帖子 applnk » 2007-05-28 1:05

学习了。
skyyunmi
帖子: 7
注册时间: 2007-02-12 17:33
送出感谢: 0
接收感谢: 0
联系:

#6

帖子 skyyunmi » 2007-05-28 20:53

thanks 终于解决了时间的问题
头像
bones7456
论坛版主
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
送出感谢: 0
接收感谢: 8 次
联系:

#7

帖子 bones7456 » 2007-06-22 18:56

好帖!收藏!
关注我的blog: ε==3
lingyizhenyi
帖子: 4
注册时间: 2007-08-20 20:18
送出感谢: 0
接收感谢: 0

#8

帖子 lingyizhenyi » 2007-09-03 9:04

太感谢了!正发现cmos时钟有问题,原来是这样!
头像
yushan306
帖子: 65
注册时间: 2005-11-28 11:02
送出感谢: 0
接收感谢: 0
联系:

#9

帖子 yushan306 » 2007-10-19 23:22

xport 写了:我则是修改Ubuntu中不使用UTC时间:

在Ubuntu中要启用本地时间,需要修改 /etc/default/rcS ,修改动作如下:

# 注释掉原来的设定:UTC=yes
# 变更为下面的内容...
UTC=no
没有权限修改这个rcS文件怎么办啊?
knightlu
帖子: 392
注册时间: 2006-12-07 21:40
送出感谢: 0
接收感谢: 2 次
联系:

#10

帖子 knightlu » 2007-11-22 15:25

好帖,正苦恼呢,2楼的方案更适合我
win 8.1 /mac osx 10.9.1 /opensuse 13.2
E3-1230 v2
技嘉 b75-d3v
4G ddr3 1600
Radeon HD 6850
Realtek 8168 /Realtek ALC887
HD1:Susamg ssd 840 evo 120G
efi 512m/msr128m/win8 sys 50G/mac os 50G/opensuse 14G
HD2:希捷1T
U2
帖子: 20
注册时间: 2007-11-16 23:03
送出感谢: 0
接收感谢: 0

#11

帖子 U2 » 2007-11-23 21:59

我理解安装UB的时候,选择UTC为本时区时间应该就OK了
oscarwu
帖子: 15
注册时间: 2007-10-07 20:59
送出感谢: 0
接收感谢: 0
联系:

#12

帖子 oscarwu » 2007-12-20 15:41

excellent job...guys..
头像
我安静不代表我斯文
帖子: 10
注册时间: 2008-11-10 21:50
来自: 重庆
送出感谢: 0
接收感谢: 0
联系:

Re: [原创]Linux和Windows双系统带来的系统时间问题的解决详述

#13

帖子 我安静不代表我斯文 » 2008-11-13 17:31

我修改了不使用UTC为什么还是晚了8小时呢?
以前我得过精神分裂症,现在我们都好了
justlearn
帖子: 4
注册时间: 2008-11-29 14:38
送出感谢: 0
接收感谢: 0

Re: [原创]Linux和Windows双系统带来的系统时间问题的解决详述

#14

帖子 justlearn » 2008-12-03 13:44

如果要关闭Windows的UTC,是不是删掉RealTimeIsUniversal这一项即可,还是要把它的值改为0?
X-Bob
帖子: 96
注册时间: 2009-08-06 11:07
送出感谢: 1 次
接收感谢: 0

Re: [原创]Linux和Windows双系统带来的系统时间问题的解决详述

#15

帖子 X-Bob » 2009-10-02 0:14

就是,没有权限怎么弄呢?重新登到root界面去?
回复

回到 “老旧版本支持”