×

为什么安装双系统会导致Windows系统的时间错乱

hqy hqy 发表于2025-10-30 02:24:46 浏览7 评论0

抢沙发发表评论

很多人在电脑上安装了双系统Windows和Linux后,发现关掉Linux进入Windows后Windows系统的时间不正确.这是因为什么呢?

原因不止一个,但最常见的根因是两个系统对硬件时钟(RTC/CMOS)的约定不一致。双系统来回切换时,Windows按本地时间写入 RTC,Linux按 UTC 读写 RTC,就会在每次重启后把对方“改过”的时间再解释一遍.



概念

  • • 硬件时钟 RTC:主板上持续走时的时钟,关机也在走,由纽扣电池供电.系统启动时把它当作初始时间。
  • • 系统时钟:操作系统内存里的当前时间;启动时从 RTC 取初值,运行期根据本机计时源前进,偶尔回写 RTC。
  • • RTC 语义差异:Windows 传统默认把 RTC 当本地时间,Linux 默认把 RTC 当UTC。这两种语义不兼容。

常见导致错乱的场景

  • • 夏令时/时区差异:即使同一城市,两个系统的时区规则或 DST 数据库不同步,导致本地时间换算不一致。
  • • RTC 语义差异:Windows 传统默认把 RTC 当本地时间,Linux 默认把 RTC 当UTC。这两种语义不兼容。
  • • Windows 快速启动技术:关机事实上是一种深度休眠,内核态时间状态被保存,可能不会及时把调过的时间写回 RTC;下一个系统启动读取到“旧 RTC”,再做校时,表现为跳变。
  • • NTP联网校时导致表观跳变:某一系统联网后做了步进校时,切回另一系统后又做一次校时或根据 RTC 重置.



如何首选统一用 UTC时间

  • • 原则:让两个系统都把 RTC 当作 UTC 存储,只在各自系统里用时区规则把 UTC→本地时间显示。
  • • Windows 设置为使用 UTC 存储 RTC:
    • • 以管理员身份运行cmd:
      reg add "HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /t REG_DWORD /d 1 /f
    • • 确保“自动设置日期和时间/时区”开启。
  • • Linux 保持不变即可(或切换为 RTC=UTC):以下代码来自网络
    timedatectl set-local-rtc 0    # 0 表示 RTC 以 UTC 存储
    timedatectl set-ntp true       # 启用网络校时(可选)
    timedatectl                     # 检查 RTC in local TZ: no
  • • 禁用 Windows 快速启动
    • • 控制面板->电源选项->定义电源按钮并启用密码保护->更改当前不可用的设置-(管理员)->关闭快速启动
  • • 检查时区与 DST 数据:
    • • Windows/ Linux 都选择同一城市的时区;Linux 保持 tzdata 更新。
  • • 主板维护:
    • • 更换老化的主板纽扣电池

按上述配置统一后,双系统切换一般就不会再出现时间错乱。


打赏

本文链接:https://kinber.cn/post/5787.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客