361 字
2 分钟
双系统时间冲突问题解决方案

安装了双系统的电脑上先打开ubuntu,再重启打开windows会造成windows的时间错误?

核心原因#

Linux (Ubuntu) 和 Windows 对硬件时钟(Hardware Clock / BIOS Time)的默认理解不同。 电脑主板上有一个独立的硬件时钟(RTC),即使断电也能走时。操作系统启动时会读取这个时间,然后根据自己的设置(时区)显示给用户。

  1. Windows 的逻辑
    • 认为硬件时钟存储的是 本地时间 (Local Time)
    • 例如:如果你在北京(UTC+8),当前时间是 20:00,Windows 会把硬件时钟设置为 20:00。
  2. Linux (Ubuntu) 的逻辑
    • 认为硬件时钟存储的是 协调世界时 (UTC)
    • 例如:如果你在北京(UTC+8),当前时间是 20:00,Linux 会把硬件时钟设置为 12:00 (20:00 - 8小时)。
    • 启动时,Linux 读取硬件时钟的 12:00,加上 8 小时时区偏移,显示为 20:00。

解决方案#

修改 Ubuntu 设置(推荐)#

让 Ubuntu 像 Windows 一样,把硬件时钟当作“本地时间”来处理。 进入 Ubuntu 系统。 打开终端(Terminal)。 输入以下命令并回车(需要输入密码):

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

验证是否设置成功,输入:

Terminal window
timedatectl

查看输出中是否有 RTC in local TZ: yes。如果有,说明设置成功。 重启进入 Windows,此时时间应该已经正确了。如果还不对,在 Windows 里同步一次时间,以后就不会再变了。

双系统时间冲突问题解决方案
https://fuwari.vercel.app/posts/双系统时间冲突问题解决方案/
作者
Jack min
发布于
2026-03-24
许可协议
CC BY-NC-SA 4.0