我们装windows和linux/mac双系统的时候,经常会碰到时间不同步的问题,现在有空了梳理一下。

原因

Windows把硬件时间(主板上的时间)当成本地时间,操作系统中显示的时间和bios中是一样的。 而mac/linux/unix把硬件时间当作UTC,操作系统显示的时间是硬件时间换算而来的,比如北京时区是UTC+8,系统显示的时间就是硬件时间+8。 所以二者会发生错乱。

解决方案

很简单,有以下三种方式:

修改Windows的时间设定

其实就是让Windows把硬件时间当作UTC,然后换算成正确时间显示到系统上。用管理员身份打开Powershell或者cmd,输入下面的命令并按回车:

Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

修改Linux下的时间设定

修改/etc/conf.d/hwclock,将其中的clock="UTC"改为clock="local",推荐用系统自带的vi进行修改,不会的话可以百度。

修改mac下的时间设定

直接在时间设置改时区比较简单(直接改成UTC+0的时区),或者和linux一样改配置文件即可。