Ubuntu和Windows双系统,从一个系统切换到另一个系统后,时间就会出错,表现为——
时差8小时。
例如:
- Ubuntu中时间正常,但是切换回Windows后,后者的时间慢8个小时。
- Windows中时间正常,但是切换回Ubuntu后,后者的时间快8个小时。
注意:以下教程的前提是你的机器时间(即BIOS时间)正确。
方法一:Ubuntu中的设置
自16.04版本起, timedatectl
成为Ubuntu的时间管理工具。不带参数运行时,它会输出当前的时间,以及系统时间的一些配置参数
为了让Ubuntu能正确显示时间,需要运行以下命令,将硬件时间由UTC改为CST,重启后生效:
sudo timedatectl set-local-rtc 1
这里要注意的是,Ubuntu官方其实是不推荐如此设置的。再次运行 timedatectl
,你会发现输出的下方多了一段很长的警告,还加粗
方法二:在Windows中设置
Bruceoxl提供了另一种解决思路,在Windows中设置。打开管理员模式的命令提示符或PowerShell(在 Windows+X
快捷菜单中),输入以下命令:
reg add HKLMSYSTEMCurrentControlSetControlTimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
原理就是:在注册表项 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTimeZoneInformation
中添加一个名为 RealTimeIsUniversal
的值,类型为 REG_DWORD
,数据为 1
。此项的作用就是让Windows将硬件时间当作UTC,与Ubuntu的默认设置一致。
重启系统后即可生效。