Win10和Ubuntu20.04双系统时间不同步问题
程序员文章站
2022-07-14 15:43:32
...
当我们安装完 Win10 和 Ubuntu20.04 双系统后,在 Ubuntu 下系统时间显示正常,但是回到 Win10 下面会发现此时的系统时间会与真实时间相差 8 个小时。
转念一想,8 个小时,标准北京时间和UTC时间(世界标准时间)也相差 8 个小时,是不是有什么玄机呢?
一、原因分析
主要原因:Windows 和 Ubuntu 它们在默认情况下看待硬件时间(主板上的 BIOS 显示的时间)的方式不一样。
首先了解几个时间概念:
- UTC,即 Universal Time Coordinated,协调世界时
- GMT,即 Greenwich Mean Time,格林尼治平时
- RTC时间,即 Real-time clock,是电脑的硬件时间
GMT 时间是 UTC+0,表示比 UTC 时间快 0 个小时,标准北京时间是 UTC+8,表示比 UTC 时间快 8 个小时。
差异原因:
-
Ubuntu 把硬件时间(RTC)当作 UTC 时间,本地时间(Local time)是 UTC 时间经过换算得来的,标准北京时间就是 UTC+8
-
Windows 是直接把硬件时间(RTC)当作本地时间(Local time)
二、解决方法
一般安装双系统都是以 Windows 为主系统,Ubuntu 为辅,所以尽量不要动 Windows 的时间,从 Ubuntu 下手,操作步骤如下:
- 进入 Ubuntu,打开终端,依次输入以下指令:
timedatectl set-local-rtc True --adjust-system-clock
# 根据 RTC 时间来更新系统时钟,而不是用 UTC 来更新
sudo hwclock -w
# 更新硬件时间
timedatectl
# 查看时间信息
- 输入最后一条指令后,终端显示以下信息:
Local time: 三 2021-06-09 14:32:12 CST
Universal time: 三 2021-06-09 06:32:12 UTC
RTC time: 三 2021-06-09 14:32:14
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
NTP service: active
RTC in local TZ: yes
- 此时硬件时间(RTC)已经与本地时间(Local time)相同,表示操作成功。
- 重启进入 Windows,发现时间还没改回来,这时只需要在设置里同步一下时间即可。
- 除了 Ubuntu,其他 Linux 系统也可以用这个方法解决。
三、总结
Linux 是一个非常优秀的开源操作系统,各种发行版也层出不穷,但是学习有一定门槛,初次使用也许会有很多问题,但是只要有一颗热爱的心,就一定可以找到很多解决问题的方法,最终成功解决问题。我目前使用的发行版是 Ubuntu 20.04,后续也会分享一些使用过程中自己遇到的问题以及解决问题的方法,希望大家可以一起探讨,共同进步。愿不惧困难,始终热爱,负重前行。