在我家里的pc上,我有两个磁盘,一个磁盘安装了windows10,另一个磁盘安装了CentOS 7.9。
它是一个Asrock主板,有一个引导gui,它允许我选择要引导的磁盘,并根据需要在windows和linux之间来回切换。
当我运行CentOS和时间是正确的,我重新启动并进入窗口,我的时间是+4小时前.现在是UTC的时候了。{我位于美国东北部,使用DST,我们是UTC -4}在Windows中单击同步时间并进行校正,但每次使用CentOS linux磁盘后,我都必须手动执行此操作。
我该怎么纠正呢?如果窗口和linux中显示的本地时间是正确的,那么纠正这种情况的最佳方法是什么?我怀疑CentOS正在将我的生物钟设置为UTC时间?
发布于 2021-08-02 22:17:49
默认情况下,Windows喜欢将硬件时钟保持在本地时间,而Linux系统则更喜欢将其保存在UTC中。保持时钟在UTC更好,因为它允许更容易的夏时制转换,而不跟踪HW时钟现在在哪个本地时间。
幸运的是,看起来Windows也可以配置为UTC。控制它的注册表项似乎是HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal,应该设置为1。(如果它不存在,那么首先创建它。它应该是64位系统上的QWORD,32位系统上的DWORD .)
我没有测试这个,但有几个地方说:
当然,另一种选择是将Linux配置为假定硬件时钟位于本地时间。对于systemd,要使用的命令似乎是timedatectl set-local-rtc 1。但请注意,systemd并不真正喜欢它,timedatectl警告说:
警告:系统被配置为读取本地时区中的RTC时间。无法完全支持此模式。它将造成时区变化和夏令时调整的各种问题。RTC的时间从来不更新,它依靠外部设施来维护它。如果可能的话,通过调用'timedatectl set-local-rtc 0‘在UTC中使用RTC。
如果存在/etc/adjtime,则将设置存储在那里(第三行),供hwclock实用程序使用。如果文件存在,Systemd将更新该文件,但如果该文件不存在,我不确定它将该设置存储在何处。
我也没有测试这个,DST的问题是什么,我可能会尽量避免它。
https://unix.stackexchange.com/questions/663055
复制相似问题