如何解决 Windows-Linux 双启动设置中显示时间错误的问题
创始人
2024-03-02 07:09:39
0

如果你 双启动 Windows 和 Ubuntu 或任何其他 Linux 发行版,你可能会注意到两个操作系统之间的时间差异。

当你 使用 Linux 时,它会显示正确的时间。但当你进入 Windows 时,它显示的时间是错误的。有时,情况正好相反,Linux 显示的是错误的时间,而 Windows 的时间是正确的。

特别奇怪的是,因为你已连接到互联网,并且已将日期和时间设置为自动使用。

别担心!你并不是唯一一个遇到这种问题的人。你可以在 Linux 终端上使用以下命令来解决这个问题:

timedatectl set-local-rtc 1

同样,不要担心。我会解释为什么你在双启动设置中会遇到时间差。我会向你展示上面的命令是如何修复 Windows 双启动后的时间错误问题的。

为什么 Windows 和 Linux 在双启动时显示不同的时间?

一台电脑有两个主要时钟:系统时钟和硬件时钟。

硬件时钟也叫 RTC(实时时钟)或 CMOS/BIOS 时钟。这个时钟在操作系统之外,在电脑的主板上。即使在你的系统关机后,它也会继续运行。

系统时钟是你在操作系统内看到的。

当计算机开机时,硬件时钟被读取并用于设置系统时钟。之后,系统时钟被用于跟踪时间。如果你的操作系统对系统时钟做了任何改变,比如改变时区等,它就会尝试将这些信息同步到硬件时钟上。

默认情况下,Linux 认为硬件时钟中存储的时间是 UTC,而不是本地时间。另一方面,Windows 认为硬件时钟上存储的时间是本地时间。这就是问题的开始。

让我用例子来解释一下。

你看我在加尔各答 UTC+5:30 时区。安装后,当我把 Ubuntu 中的时区 设置为加尔各答时区时,Ubuntu 会把这个时间信息同步到硬件时钟上,但会有 5:30 的偏移,因为对于 Linux 来说它必须是 UTC。

假设加尔各答时区的当前时间是 15:00,这意味着 UTC 时间是 09:30。

现在当我关闭系统并启动到 Windows 时,硬件时钟有 UTC 时间(本例中为 09:30)。但是 Windows 认为硬件时钟已经存储了本地时间。因此,它改变了系统时钟(应该显示为 15:00),而使用 UTC 时间(09:30)作为本地时间。因此,Windows 显示时间为 09:30,这比实际时间(我们的例子中为 15:00)早了 5:30。

同样,如果我在 Windows 中通过自动时区和时间按钮来设置正确的时间,你知道会发生什么吗?现在它将在系统上显示正确的时间(15:00),并将此信息(注意图片中的“同步你的时钟”选项)同步到硬件时钟。

如果你启动到 Linux,它会从硬件时钟读取时间,而硬件时钟是当地时间(15:00),但由于 Linux 认为它是 UTC 时间,所以它在系统时钟上增加了 5:30 的偏移。现在 Linux 显示的时间是 20:30,比实际时间超出晚了 5:30。

现在你了解了双启动中时差问题的根本原因,是时候看看如何解决这个问题了。

修复 Windows 在 Linux 双启动设置中显示错误时间的问题

有两种方法可以处理这个问题:

  • 让 Windows 将硬件时钟作为 UTC 时间
  • 让 Linux 将硬件时钟作为本地时间

在 Linux 中进行修改是比较容易的,因此我推荐使用第二种方法。

现在 Ubuntu 和大多数其他 Linux 发行版都使用 systemd,因此你可以使用 timedatectl 命令来更改设置。

你要做的是告诉你的 Linux 系统将硬件时钟(RTC)作为本地时间。你可以通过 set-local-rtc (为 RTC 设置本地时间)选项来实现:

timedatectl set-local-rtc 1

如下图所示,RTC 现在使用本地时间。

现在如果你启动 Windows,它把硬件时钟当作本地时间,而这个时间实际上是正确的。当你在 Linux 中启动时,你的 Linux 系统知道硬件时钟使用的是本地时间,而不是 UTC。因此,它不会尝试添加这个时间的偏移。

这就解决了 Linux 和 Windows 双启动时的时差问题。

你会看到一个关于 RTC 不使用本地时间的警告。对于桌面设置,它不应该引起任何问题。至少,我想不出有什么问题。

希望我把事情给你讲清楚了。如果你还有问题,请在下面留言。


via: https://itsfoss.com/wrong-time-dual-boot/

作者:Abhishek Prakash 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

那些担心操碎心的时间里有点...
那些担心操碎心的时间里有点消息都就很幸福[比心]我的生活日记
2026-01-21 17:20:19
评分这么低,这本书被严重低...
记得我给一个朋友推荐了一本书——卡尔·纽波特的《深度工作》。她说去...
2026-01-21 17:19:29
2025 年最后一波 Wi...
微软已正式宣布,在节日假期期间暂停 Windows 11 Insi...
2026-01-21 10:50:26
摩根大通:李宁复苏需要时间...
观点网讯:1月19日,摩根大通报告指,李宁复苏需要时间,认可李宁管...
2026-01-21 10:49:27
机泵在线监测太香了,企业设...
在石油化工等行业里,机泵设备就是生产线上的 “心脏”,一旦出现故障...
2026-01-20 11:26:58
Sakana AI推出&q...
这项由日本人工智能公司Sakana AI的赵天宇和Llion Jo...
2026-01-10 22:19:49

热门资讯

如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Textual:为 Pytho... 快速入门使用 TextualPython 在 Linux 上有像 TkInter 这样的优秀 GUI...
硬核观察 #1245 Open... #1 OpenAI 悄然删除禁止将 ChatGPT 用于 “军事和战争” 的禁令在 1 月 10 日...
使用时间序列数据,用开源工具助... InfluxData 是一个开源的时间序列数据库平台。下面介绍了它是如何被用于边缘应用案例的。收集到...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
硬核观察 #1249 LG 洗... #1 LG 洗衣机每天上传近 4GB 的数据?一个名为 Johnie 的 LG 洗衣机用户发现,他的...
2024 年 Linux 和开... 让我们尝试预测未来吧!新的一年快乐,朋友们 ✨2024 年的钟声已经敲过,我们有必要去预见一下将塑造...