• 社区首页
  • 版块
[经验分享] UOS/WIN双系统时间异常的解决方法
桌面家庭版2825次浏览 ·10个回复
电梯直达到第
z008
版主
发表于2021-07-01 07:59
楼主

UOS和WIN在时间管理有差异,UOS默认BIOS时间(RTC)为UTC, WIN默认BIOS(RTC)为当地时间,切换系统时如果没有开启网络同步功能,系统时间会有差异,比如北京时间会相差8小时。

#更新一下,UOS beta6全新安装的,默认BIOS时间使用当地时间,可以用timedatectl status来查看。

timedatectl status

               Local time: 五 2021-07-23 08:10:52 CEST

           Universal time: 五 2021-07-23 06:10:52 UTC

                 RTC time: 五 2021-07-23 06:10:52

                Time zone: Europe/Berlin (CEST, +0200)

System clock synchronized: yes

              NTP service: active

 

          RTC in local TZ: no

 

 

RTC in local TZ: yes  #表示BIOS时间使用当地时间,不是UTC,这样种情况下不用动WIN的设置(realtimeisuniversal=0)

如果RTC in local TZ: no, #表示BIOS时间使用UTC,不是当地时间,这样种情况需要改WIN的设置(realtimeisuniversal=1)

解决方法: 

1,  让WIN和UOS一样默认BIOS时间为UTC(推荐)

WIN下运行regedit,

2, 让UOS默认BIOS时间为当地时间

在终端中执行
timedatectl set-local-rtc 1 --adjust-system-clock
回复收藏只看作者
所有回复
黑水娃娃
uos^5
发表于2021-07-01 12:47
沙发

谢谢楼主!

(来个补充)

如果安装了Windows和Linux双系统,可能会遇到切换系统时出现时间错乱问题。具体表现为:使用一段时间Linux后,重启进入Windows,会发现Windows显示的时间不正确;反之亦然。

这是因为BIOS硬件时间本身并没有时区概念,但Windows和Linux对Bios硬件时间与时区关系的理解不一样。Linux将BIOS硬件时间视为协调世界时(UTC),即不存在本地时区;而Windows则将BIOS硬件时间视为当地时间,带上了设置后的时区。Windows这样做,一是早期为了兼容MS-DOS/Windows 3.x,二是为了照顾大众,防止用户问为什么BIOS显示的时间和实际不一致【1】【3】。

那么如何让Windows 10将BIOS硬件时间视为协调世界时(UTC)呢?答案是注册表数值名称RealTimeIsUniversal【2】。

以下列举不同操作注册表的方法,供参考。

方法一:手动操作法

1、以管理员身份打开注册表。

2、定位到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation”

3、如果没有看到“RealTimeIsUniversal”数值名称,新建一个,类型视操作系统位数而定:如果是64位,则类型为“QWORD”,如果是32位,类型为“DWORD”。

4、编辑“RealTimeIsUniversal”数值名称,将其值改成1。

5、重启。

<figure class="wp-block-image size-large"></figure>

方法二:注册表文件法

另一种方法则是将如下文本保存为注册表文件RealTimeIsUniversal.reg,然后双击导入,最后重启。

适用于64位Windows:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=hex(b):01,00,00,00,00,00,00,00

适用于32位Windows:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
     "RealTimeIsUniversal"=dword:00000001

方法三:命令行法

以管理员身份打开命令行,输入如下命令,然后重启。

注意:以下命令仅适合64位Windows。如果是32位Windows,请把REG_QWORD替换成REG_DWORD。

reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_QWORD /f

(我没有一 一尝试,看客留意风险。)

本页永久链接:https://www.orztip.com/?p=400&article_title=let-windows-recognize-bios-time-as-utc-time-with-realtimeisuniversal

回复只看作者
黑水娃娃
uos^5
发表于2021-07-01 13:09
板凳

我用了“方法一:手动操作法”,重启电脑托盘显示是7月2号5点钟,在调整时间那里“立即同步”了一下,再重启电脑就正常了。(win10)

明天再进入UOS看看结果!

回复只看作者
z008
版主
发表于2021-07-01 14:10
地板

谢谢补充,两个方法只能用其一,不能同时用,否则拨正反乱了。

回复只看作者
黑水娃娃
uos^5
发表于2021-07-01 23:25
4楼
z008

谢谢补充,两个方法只能用其一,不能同时用,否则拨正反乱了。

嗯嗯

 

回复只看作者
bxkdhao
uos^4
发表于2021-07-01 23:46
5楼

感谢,已收录。以后你也可以自己收录进去哈

https://docs.qq.com/mind/DWkJ4VlBXelRLWnVV

回复只看作者
黑水娃娃
uos^5
发表于2021-07-02 06:11
6楼
bxkdhao

感谢,已收录。以后你也可以自己收录进去哈

https://docs.qq.com/mind/DWkJ4VlBXelRLWnVV

你建的助力站么?挺有意思,有帮助

回复只看作者
bxkdhao
uos^4
发表于2021-07-02 07:05
7楼
黑水娃娃

你建的助力站么?挺有意思,有帮助

是的,多谢鼓励。你有好东西也可以填进去

回复只看作者
黑水娃娃
uos^5
发表于2021-07-02 10:44
8楼
bxkdhao

是的,多谢鼓励。你有好东西也可以填进去

好的!收藏先

回复只看作者
黑水娃娃
uos^5
发表于2021-07-19 12:17
9楼

官网文档中心的

Q8: 安装双系统后,切换系统重启,时间存在不同步的情况

A: 将硬件时钟调整为与本地时钟一致sudo timedatectl set-local-rtc 1

回复只看作者
黑水娃娃
uos^5
发表于2021-10-31 10:06
10楼

双系统(win10+UOS),以前还是个人版的时候通过修改注册表解决了时间问题,哪晓得UOS升级为家庭版后win10的时间又异常了。后来留意到1楼的更新,用命令timedatectl status查了一下,结果是RTC in local TZ: yes  ,把注册表键值由1改为0即可(realtimeisuniversal=0)

回复只看作者
杨俊杰
uos^1
发表于2022-10-18 02:16
11楼
该评论已删除!

光荣榜

  • 周榜
  • 月榜
  • 总榜