解决双系统时间不一致问题
问题描述
- 最近需要使用Linux(Ubuntu),所以在自己的电脑上安装了双系统(Windows+Ubuntu)。但是发现Windows的时间不正确,每次开机时,时间都会慢8个小时。
- 每次通过同步互联网时间可以更正,但是重启后又是如此。
- 后来,发现windows time服务没有开启。将其设置为自启动之后,每次开机后依然如此。而且windows time服务没有开启。
- 最后发现
两个系统的时间时间相差8小时
,意识到时两个系统设置不同引起的。
问题分析
- UTC即Universal Time Coordinated,协调世界时
- GMT 即Greenwich Mean Time,格林尼治平时
- Windows把系统硬件时间当作本地时间(local time),即操作系统中显示的时间跟BIOS中显示的时间是一样的。
- Linux/Unix/Mac把硬件时间当作 UTC,操作系统中显示的时间是硬件时间经过换算得来的。
- 当PC中同时有多 系统共存时,就出现了问题。
问题解决
方法一 Ubuntu不使用UTC
如果Ubuntu 不使用 UTC 时间,则可以与 Windows时间 保持一致。
ubuntu默认开启UTC,即协调世界时,关闭它即可
sudo vi /etc/default/rcS
将UTC=yes
改为UTC=no
方法二 修改 Windows 对硬件时间的对待方式
- 让 Windows 把硬件时间当作 UTC
- 方法:
- 开 始->运行->CMD,在命令行中输入下面命令并回车
1
Reg add KLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
- 开 始->运行->CMD,在命令行中输入下面命令并回车
CentOS时间同步问题
编辑时间配置文件
- 使用vi编辑
/etc/sysconfig/clock
文件,添加如下内容:1
2
3ZONE="Asia/Shanghai"
UTC=false #设置为false,硬件时钟不于utc时间一致
ARC=false - 使配置立即生效
source /etc/sysconfig/clock
设置为上海时区
- 执行下面的命令,将Linux的时区设置为上海时区
1
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
对准时间
- 注意:需要联网
- 安装ntpdate的命令:
yum install ntp
- 执行以下命令,对准时间
1
ntpdate us.pool.ntp.org
设置硬件时间和系统时间一致并校准
- 命令:
1
/sbin/hwclock --systohc #设置硬件时间和系统时间一致并校准
至此,CentOS的时间已经同步了。