542 字
3 分钟
Windows+Linux双系统时间不统一修复
2025-10-09
2026-06-15

为什么会出现时间不统一#

Windows 和大多数 Linux 发行版对硬件时钟(RTC)的理解不一样:

  • Windows 默认把主板时间当作本地时间
  • Linux 默认把主板时间当作 UTC 时间

所以你在一个系统里把时间校准好,重启进另一个系统后,就可能会出现快 8 小时或者慢 8 小时的问题。

方案一:修改 Windows,推荐#

这个方案更推荐,因为 Linux 默认使用 UTC 更合理,也更符合服务器和多系统环境的习惯。

在 Windows 中按 Win + X,打开 Windows PowerShell(管理员)终端(管理员),执行:

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

执行完成后,重启 Windows。

如果想立刻同步一次时间,可以再到:

  • 设置 -> 时间和语言 -> 日期和时间
  • 打开“自动设置时间”
  • 点击“立即同步”

恢复默认设置#

如果后面你想撤销这个修改,可以在管理员 PowerShell 中执行:

Terminal window
reg delete HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /f

方案二:修改 Linux,让 Linux 兼容 Windows#

如果你不想改 Windows,也可以反过来让 Linux 直接把 RTC 当成本地时间。

在 Linux 终端执行:

Terminal window
sudo timedatectl set-local-rtc 1 --adjust-system-clock

然后检查当前状态:

Terminal window
timedatectl

如果输出里出现下面这一项,说明设置成功:

RTC in local TZ: yes

恢复 Linux 默认行为#

如果你之后想改回 Linux 默认的 UTC 方式,可以执行:

Terminal window
sudo timedatectl set-local-rtc 0 --adjust-system-clock

再次查看:

Terminal window
timedatectl

看到下面这一项即可:

RTC in local TZ: no

两种方案怎么选#

  • 只改一次,长期稳定使用:推荐改 Windows
  • 不方便动 Windows 注册表:就改 Linux
  • 如果你经常折腾多系统、远程同步、时区切换:也更建议保留 Linux 的 UTC 逻辑,只改 Windows

修改后建议再做一次校时#

无论你选哪种方案,改完后都建议进入当前系统手动同步一次网络时间,再重启到另一个系统检查。

Linux 下可以执行:

Terminal window
timedatectl set-ntp true
timedatectl status

Windows 下则在“日期和时间”设置里点一次“立即同步”即可。

Windows+Linux双系统时间不统一修复
https://blog.aloys233.top/posts/windowslinux双系统时间不统一修复/
作者
Aloys23
发布于
2025-10-09
许可协议
CC BY-NC-SA 4.0

评论