安装了 Windows/macOS 双系统的同学,一定遇到过双系统时间不同步的问题。具体表现是,一旦进入过 macOS 系统,Windows 中的时间就会比实际时间慢8个小时(以国内为准)。问题的成因是Windows和macOS处理时间的方式不同:
- Windows把系统硬件时间当作本地时间(Local Time),即操作系统中显示的时间和 BIOS 中显示的时间是一样的;
- macOS 则把硬件时间当作 UTC,操作系统中显示的时间是硬件时间经过换算得来的,例如:假设 macOS 中设置了东八区时区,系统显示时间早上9:00,实际硬件储存时间就是UTC 1:00。这个时候重启进入 Windows,时间就变成了早上1:00。
解决方法
办法也很简单,就是让Windows把硬件时间当作 UTC 时间,保持和 macOS 一致。
Window7 用户点击左下角 开始 -> 运行 -> 输入CMD
Window8/10用户按下 Win+X 组合键,使用管理员模式进入CMD
输入以下命令:
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
重启,进入 macOS 设置时间,再重启进入Windows,即可发现问题解决。
或在 macOS 下打开终端,执行以下命令:
sudo sh -c "$(curl -kfsSL https://raw.githubusercontent.com/hieplpvip/LocalTime-Toggle/master/fix_time_osx.sh)"
注:该命令是从 GitHub 拉取一个 sh 脚本,因此需要能正常链接到 GitHub 的网络。
使用 Hackintool 的方法
打开 Hackintool,切换到【工具】选项卡,点击下方中间方格图标。
软件会在桌面自动生成 Windows 可用的注册表文件,一个结尾是On,一个是Off,分别对应开启和关闭。在 Windows 下导入即可。
一键导入
如果你是命令行苦手,下载这个写好的 reg,在Windows里双击导入注册表即可。