Win + Linux双系统 时间问题

第一次安装 Linux 后,发现 Windows 的系统时间差了好几个小时。联网校准之后,只要用过 Linux,回到 Windows,系统时间就不对。后来知道,这时 Linux和 Windows 的系统时间设置方式不同的原因。

Linux和Windows的系统时间

  • 硬件时间:计算机底层(BIOS)的时间。操作系统用它来确定系统时间
  • Windows系统时间:默认硬件时间为系统时间。修改系统时间即为修改硬件时间。
  • Linux系统时间:以硬件时间为协调世界时(UTC,0时区时间),在此基础上,按照系统设置的时区加减相应小时数,得到系统时间。修改系统时间也会修改硬件时间。

以硬件时间为准同步双系统时间

(仅个人做法,网上还有其他做法,仅供参考)

  • Windows下,Win + R 打开运行窗口,输入 regedit - Enter,进入注册表

  • 定位 HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ TimeZoneInformation,单击该目录,如下图所示
    Win + Linux双系统 时间问题

  • 在右侧空白处单击右键,新建 - DWORD(32-位)值。将新建的参数的名称修改为 RealTimeIsUniversal,值修改为1。如图
    Win + Linux双系统 时间问题

  • 重启电脑,会发现Windows系统时间变为UTC时间。手动同步一次系统时间,即可。这样,Windows系统时间就和硬件时间区分开了。因为UTC是唯一的,硬件时间始终保持UTC时间不变,Windows 和 Linux 系统的时间各自取决于系统设定的时区,互不干扰。

NOTICE:此方法仅在Win 8.1系统成功过。Win7系统试过一次,在系统时区为(UTC+08:00)的情况下,Windows 系统时间仍然始终显示UTC时间,结果失败。其他Windows系统情况未知。