如果安装了 Windows 和 Linux(比如 Ubuntu)双系统,有时会出现两个系统的时间不一致的情况。这是因为,两个操作系统对电脑硬件时间的定义不一样,Windows 认为电脑硬件时间是“本地时间”,因此它启动后直接用该时间作为“系统时间”并显示在桌面右下角的系统托盘里;而 Ubuntu 等 Linux 发行版则认为电脑硬件时间是“全球统一时间”(即 UTC,可百度了解),它在启动后在该时间的基础上,再加上电脑设置的时区数(比如我们在中国,它就加上“8”)。根据获得的资料得知,两种模式各有利弊,但是后一种模式在遇到时区转换、夏令时等情况时,通用性更强。
基于上述原因,协调 Win/Lin 双系统时间一致的方法,就是让 Windows 也和 Linux 一样,将电脑硬件时间看作“全球统一时间”。
条件:安装了 Windows 10和Ubuntu 16.04 双系统的电脑。
1.启动进入 Windows 10 系统桌面,在小娜的输入框中输入:
regedit
小娜显示“regedit 运行命令"的结果,点击或回车,启动 regedit。
2.桌面上将出现“注册表编辑器”的窗口,在以下的操作中,将对窗口左侧列表中的 HKEY_LOCAL_MACHINE 这一分支进行操作。
3.点击展开 HKEY_LOCAL_MACHINE 分支,然后依次导航到以下位置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
右侧窗口将显示与时区信息相关的注册表键值。
4.在右侧空白处单击鼠标右键,然后依次点击“新建”——“QWORD(64位)值”。
如果安装的是 32 位系统,则需要新建“DWORD(32位)值”。
5.当前位置将会出现一个新建的键值的条目,将其“名称”改为:
RealTimeIsUniversal
它的大体意思是,硬件时间被作为全球统一时间。
单击空白处(或按回车),确保改名成功。
6.然后双击这一条目,弹出“编辑 QWORD(64位)值”的对话框,确保选中了“十六进制”,然后将“数值数据”改为“1”。最后点击“确定”。
7.修改完成后重启计算机,这时 Windows 的系统时间应该是正确的了。
如果发现时间快了 8 小时,需要重启电脑,在电脑显示 BIOS 画面时按下设置键(是指能够进入 BIOS 设置界面的按键,一般是 Del 键、F2 键等),进入 BIOS 设置界面。
8.在 BIOS 的时间设置界面,将小时数减去 8,然后按下保存键(比如本文是 F10 键),保存设置重新启动。
这时,无论是进入 Windows 系统,还是进入 Linux 系统,时间就都是正确的了,因为两个系统都认为电脑上硬件时间是 UTC 时间,并以之为基础,加上我们所在的时区数(东 8 区),作为自己的系统时间。
注意:使用本文方法,两个系统中都可以开启“时间与 Internet 同步”等功能,确保时间的准确性。
对于双系统中的 Windows 来说,如果不是 Win7 或更高版本,不能适用本文。