![如何阻止 Linux 更改 Windows 的时钟?](https://linux22.com/image/1564857/%E5%A6%82%E4%BD%95%E9%98%BB%E6%AD%A2%20Linux%20%E6%9B%B4%E6%94%B9%20Windows%20%E7%9A%84%E6%97%B6%E9%92%9F%EF%BC%9F.png)
我有一台计算机(HP-e010nr),可双启动 Linux Mint 18.3(Cinnamon,64 位)和 Windows 8.1(64 位)。两者都是通过 BIOS 兼容模式安装的(Windows 安装程序拒绝使用 UEFI)。我的问题是:
当我启动 Linux 时,它发现系统时钟不是 UTC,因此将其更改为 UTC(然后将其显示回 7 小时以保持正确时间)。当我启动 Windows 时,它认为系统时钟是正常时间(不是 UTC)。它将时钟显示为比我的时区早 7 小时,导致时间戳错误。
我可以在关闭 Linux 后将硬件时钟更改为正常时间,但这样做很烦人。如果我关闭 Linux 并启动 Windows,我希望它们都显示相同的时间。
是否有可能阻止 Linux 更改硬件时钟,以便其他操作系统(Windows 和 Android)显示正确的时间?
答案1
运行此命令使 Linux 使用本地时间。这将解决该问题。
timedatectl set-local-rtc 1 --adjust-system-clock
答案2
在 Windows 计算机上,打开注册表编辑器 ( Run…
regedit.exe
) 并导航到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
。创建一个名为 的 DWORDRealTimeIsUniversal
,并将其值设置为1
。- 改编自里卡多·博纳的回答
Linux 和其他 *nix 系统假定您的硬件时钟设置为 UTC,并简单地更正显示给用户的时钟。但是,Windows 将硬件时钟设置为本地时间,并在需要时(例如联网等)将其更正为 UTC。通过在注册表中设置此项,您就是在告诉 Windows 硬件时钟是 UTC,在显示给用户时应更正为本地时间。
答案3
在 Windows 机器上,在以下位置打开注册表编辑器:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
创建一个名为的 DWord 值:RealTimeIsUniversal
设置其数据 = 1