我的笔记本电脑上有 Arch Linux + Windows 8。在以前版本的 Windows 中,注册表 ( HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal) 中有一个可在本地时间和 UTC 之间切换的 DWORD ,但这似乎不再适用于 Windows 8。
我现在在 Windows 中获得 UTC 时间,因为它认为 BIOS 给它本地时间,这实际上是 UTC 时间,并且在重新启动到 Arch Linux 后,时钟变为 localtime-0400,因为 Arch 认为 BIOS 具有正确的 UTC 时间。
我不想让 Arch Linux 使用本地时间。在这个前提下,有没有可能的解决方案?
Jum*_*unk 15
默认的 Windows 时间服务将始终在关机时将本地时间写入硬件时钟,而不管注册表对 UTC 中的实时时间有何说明。除了此警告之外,如果注册表设置正确,Windows 将正确处理硬件时钟。尝试这个:
w32tm /config /updatesc config w32time start= disabledNeu*_*ter 11
RealTimeIsUniversal注册表项在 Windows 8 和 10 中仍然有效!使用此方法的说明在任何地方都解释了很多次,例如在这个答案中。
我将在这里复制答案:
Win+ S, regedit, Enter.
导航到键:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation。
创建新的 DWORD(32 位)值,将其命名为RealTimeIsUniversal.
将其值设置为1。
完成后,只需重新启动您的机器。再次启动并运行后,让Windows自动设置时间(点击托盘中的当前时间,Date and Time Settings> Set Time Automatically),这次它不会乱七八糟。
RealTimeIsUniversal 确实有问题,而且不是官方推荐的解决方案(也许这就是他们在 Win8 中禁用它的原因?)请参阅IBM PC 实时时钟应该在 UT 中运行以及 Raymond Chen 的回复:为什么 Windows 将 BIOS 时钟保留在本地时间?。到目前为止,我认为还没有适当的解决方案。
| 归档时间: |
|
| 查看次数: |
45464 次 |
| 最近记录: |