win10装了Ubuntu18.04后时间不正常了,怎么办?

本文介绍了Windows和Ubuntu系统对待硬件时间的不同方式,导致的时间显示差异。在Windows中,硬件时间被视为本地时间,而在Ubuntu中,硬件时间被视为UTC。为了解决双系统时间不一致的问题,文章提供了通过timedatectl命令在Ubuntu中设置硬件时间为本地时间的解决方案,从而确保两个系统的时间都能正确显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原理:

Windows把硬件时间当作本地时间,也就以为着Windows系统中显示的时间和BIOS中显示的时间是一样的.
Ubuntu把硬件时间当作UTC,也就以为着Ubuntu系统中显示的时间是硬件时间经过换算得到的.显示的时间是硬件时间+时区.而Ubuntu会定时更新时间,所以我们看到的Ubuntu时间是正常的.

为了让两个系统显示的时间都是正确的,有两种方案:

1.更改Windows中注册表

在网上找到的没用的方法:

windows系统中的注册表设置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInfomation\中添加一项数据类型为REG_DWORD,名称为RealTimesUniversal,值设为1或者用命令行:
echo off color 0a Reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInfomation /v RealTimeIsUniversal /t REG_DWORD /d 1

然而我并不能这么做,因为我的注册表中并没有SYSTEM这个目录

2.设置Ubuntu将硬件时间当作本地时间,不作为UTC时间即可.

不可行的办法

修改/etc/default/rcs,设置不使用UTC时间,设置如下:UTF=no;

似乎因为版本问题,从16版开始,Ubuntu已经由一个叫做timedatectl的东西来管理时间了,所以修改rcs没有用了.况且我根本没找到rcs这个文件

已经试验成功的方法

使用timedatectl功能就可以解决了
执行命令
timedatectl set-local-rtc 1 --adjust-system-clock

参考