Ubuntu 20.04与Windows 10双系统时钟偏移问题求助
你好呀!我来帮你搞定这个双系统时钟的麻烦~
你遇到的情况其实很常见:Windows默认把硬件时钟(主板上的CMOS时钟)当成本地时间,而Linux默认把它当成UTC时间,之前你用timedatectl set-local-rtc 1让Linux也把硬件时钟认成本地时间,这步方向是对的,但大概率是时区设置没匹配上,才导致Linux显示GMT而非本地时间。
下面给你一步步的解决办法,完全不用依赖网络同步:
先检查当前时区设置
运行命令timedatectl status,看看输出里的「Time zone」项是不是你所在的本地时区(比如国内是Asia/Shanghai)。如果显示的是GMT或者其他时区,那就是问题所在了。设置正确的本地时区
- 先列出所有可用时区,找到你对应的那一个:
timedatectl list-timezones(可以用管道过滤,比如国内用户输timedatectl list-timezones | grep Asia快速查找) - 用管理员权限设置时区,比如国内就输:
sudo timedatectl set-timezone Asia/Shanghai
- 先列出所有可用时区,找到你对应的那一个:
确保硬件时钟与本地时间绑定(并同步系统时间)
重新运行带同步参数的命令,避免系统时间和硬件时钟冲突:sudo timedatectl set-local-rtc 1 --adjust-system-clock
这步会让Linux把硬件时钟作为本地时间的基准,同时自动调整系统时间匹配硬件时钟。关闭网络时间同步(可选,如果你不想依赖网络)
运行sudo timedatectl set-ntp false,这样系统就不会自动联网同步时间了。手动设置时间(如果需要)
要是当前时间还是不对,可以手动指定:sudo timedatectl set-time "YYYY-MM-DD HH:MM:SS"
比如sudo timedatectl set-time "2024-05-20 15:45:00"
完成这些步骤后,你可以重启系统试试,Linux应该会显示正确的本地时间,切换到Windows也不会再出现时钟偏移的问题啦~
备注:内容来源于stack exchange,提问作者Shweta Kiran




