ڼС
梦回起点
做你害怕做的事,你会发现:不过如此
本站基于WordPress—主题by 设计窝
冀ICP备15003737号
梦回起点
Copyright © 2015-2018 All rights reserved.

解决Ubuntu与Windows时间冲突问题/Ubuntu更改UTC设置

装完Ubuntu发现时间不正常,差8小时。今天来谈谈这个时间的问题。废话不多说开始。

首先来说明为什么会有这个时间差。PC的时间是保存在主板的CMOS芯片中的,这也就是为什么主板电池没电了,然后时间就会在每次关机后变成一个莫名其妙的时间的原因,很多人以为是电脑中毒了,然后为此重装系统(偷笑)。其实这个问题换个主板电池就可以了。

那么为什么会有这个时间差呢,别着急,我们慢慢道来。

其实主板上存储的不是一个201X年X月X日XX:XX:XX 这种格式的时间而是一个数字,一个很大的数字,这个数字是从某个时间开始的秒数,操作系统用自己的算法把这个数字加上那个开始时间就转换成了我们可以看懂的时间,然后显示给我们看。

这就怪了,既然操作系统是从同一个时间开始算起的,而且主板上存储的时间是一样的为什么不一样的系统会显示不一样的时间呢?这是因为本地时间和标准时间(UTC,协调世界时(英:Coordinated Universal Time ,法:Temps Universel Coordonné),又称世界统一时间,世界标准时间,国际协调时间。)的问题。如果系统是自己安装的那么应该知道会选择时区,选择时区之后显示的时间就是本地时间,这个时间是通过标准时间校准来的。因为我们是在东八区,所以本地时间就正好和标准时间差出来8个小时。

之所以有这个时间差就是因为两个操作系统的标准时间的标准不一样,安装完系统之后,默认情况下,windows取出来的主板上的时间就认为是本地时间了,不做任何处理;但是Ubuntu取出来却认为这个时间是标准时间,于是处理之后显示。这就导致了两个显示出来的时间相差8个小时。

怎么解决这个问题呢?

思路就是,要么更改windows上的计算方式,要么更改Ubuntu上的计算方式。

方法1:我们先让windows迁就Ubuntu

在Windows下启用UTC
打开运行窗口(快捷键Win+R),然后输入regedit启动注册表编辑器,并找到一下目录位置:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/TimeZoneInformation/
添加一项类型为REG_DWORD的键值,命名为RealTimeIsUniversal,值为1然后重启后时间即回复正常。

方法2:让Ubuntu迁就windows

更改文件/etc/adjtime(记得用sudo vim /etc/adjtime,必须用root权限才能更改这个文件哦)

更改为

然后运行下面的命令 读入时间+重启(注意,下面的命令会重启哦,如果你不愿意重启请只执行第一条命令)

注意不要方法1和方法2 同时使用,这样就等于没设置 负负得正,我喜欢改Ubuntu所以,我使用了方法2.

有问题请在下面留言,有说错的地方欢迎批评指正。

参考资料:http://zhidao.baidu.com/link?url=AAuGljaSTmailEmSMXUqxNMDwul3yqIMZh1RSZsvjUj50pPXm691vGqjHYhiFbGSH0CvAJbuychJoFd0fIP71BwEyMrHxAaR2dzmAi23-rO

http://www.cnblogs.com/libook/archive/2013/07/21/3204368.html?&欢迎来到书中叶的博客

2016-10-15