双启动时钟时间关闭
双启动系统Windows XP Pro和Ubuntu 12.04。
我将bios设置为正确的时间,Ubuntu设置为美国东部时间。 Ubuntu将启动,时间将关闭-4小时。 如果我在Ubuntu中更正时间,那么当我在Windows XP中启动时,时间将会减少+4小时。
这是12.04的全新安装。 在重新安装Ubuntu之前我没有遇到此问题。
https://help.ubuntu.com/community/UbuntuTime#Multiple_Boot_Systems_Time_Conflicts
多个引导系统时间冲突
操作系统在主板上的硬件时钟中存储和检索时间,以便即使系统没有电源也可以跟踪时间。 大多数操作系统(Linux / Unix / Mac)默认将时间作为UTC存储在UTC上 ,尽管某些系统(特别是Microsoft Windows)将时间作为“本地”时间存储在硬件时钟上。 如果两个系统以不同方式查看硬件时钟,则会导致双引导系统出现问题。
将硬件时钟设置为UTC的优点是,在时区之间移动时或夏令时(DST)开始或结束时,您不需要更改硬件时钟,因为UTC没有DST或时区偏移。
将Linux更改为使用本地时间比将Windows更改为使用UTC更容易,更可靠,因此双启动Linux / Windows系统倾向于使用本地时间。
由于Intrepid(8.10),UTC = yes是默认值。
使Windows使用UTC
注意:此方法最初在Windows Vista和Server 2008上不受支持,但在Vista SP2,Windows 7,Server 2008 R2和Windows 8 / 8.1中都有回来。
使MS Windows计算从硬件时钟开始的时间为UTC。
使用以下内容创建名为WindowsTimeFixUTC.reg的文件,然后双击它以将内容与注册表合并:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation] "RealTimeIsUniversal"=dword:00000001
注意: Windows Time服务仍会将本地时间写入RTC,无论上面的注册表设置是否关闭,因此使用此命令禁用Windows时间服务非常方便(如果在Windows中仍需要时间同步,则使用任何第三方时间)同步解决方案):
sc config w32time start= disabled
扭转变化
您可以创建包含以下内容的文件,然后双击它以合并原始更改,如上所述:Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation] "RealTimeIsUniversal"=-
如果禁用了Windows时间服务,请使用以下命令再次启用它:
sc config w32time start= demand
让Linux使用“本地”时间
告诉您的Ubuntu系统硬件时钟设置为“本地”时间:
Pre-Ubuntu 15.04系统(例如Ubuntu 14.04 LTS):
- 编辑
/etc/default/rcS
添加或更改以下部分
# Set UTC=yes if your hardware clock is set to UTC (GMT) UTC=no
Ubuntu 15.04及以上系统(例如Ubuntu 16.04 LTS):
打开终端并执行以下命令
timedatectl set-local-rtc 1
要在基于systemd的版本(15.04及更高版本)中将BIOS时钟设置为本地时间而不是UTC,您必须使用timedatectl
命令。 根据Arch Wiki :
您可以通过命令行设置硬件时钟时间标准。 您可以通过以下方式检查您要使用的内容:
$ timedatectl | grep local
可以使用
timedatectl
命令查询和设置硬件时钟。 要将硬件时钟时间标准更改为本地时间,请使用:# timedatectl set-local-rtc 1
如果要恢复为UTC的硬件时钟,请执行以下操作:
# timedatectl set-local-rtc 0
您所在的时区是Eastern ,目前是EDT(Eastern Daylight Time)。 EDT是UTC减去四小时,与您正在经历的偏移相同。
当这种情况发生在双启动系统上时,通常是因为一个操作系统认为硬件时钟跟踪本地时间,而另一个操作系统认为硬件时钟跟踪UTC。
在您的情况下,您的硬件时钟可能设置为当地时间,并且:
- Windows设置为使用本地时间,其中(给定您的时间设置)是正确的 。
- Ubuntu设置为使用UTC,(给定您的时间设置) 不正确 。
如果您只是手动或自动重置Ubuntu系统中的时间,那么在Windows中就会出错,因此这不是一个好的解决方案。
相反,最好的解决方案可能是重新配置Ubuntu以将硬件时钟时间视为本地时间 (然后您可以单独保留Windows配置和硬件时钟时间)。
为此,请以root身份编辑/etc/default/rcS
并确保它具有UTC=no
:
-
按Alt + F2 。
-
输入
gksu gedit /etc/default/rcS
并按Enter键 。 -
你可能会看到这个:
# assume that the BIOS clock is set to UTC time (recommended) UTC=yes
- 如果这样做,请将
UTC=yes
更改为UTC=no
。 (或者您也可以添加注释,将其UTC=no # changed to accommodate Windows system
。#
字符后面的所有内容都是注释,只是为了让您的设置更加人性化 -可读的。) - 如果不这样做,请查找任何
UTC=
行。 如果它没有注释(即,开头没有#
),请相应地更改它。 如果已注释,请通过删除前导#
取消注释,并确保它显示UTC=no
。
- 如果这样做,请将
-
保存文件并退出文本编辑器。
-
重新启动以应用更改并检查两个操作系统上的时间是否正常运行。
来源: https : //help.ubuntu.com/community/UbuntuTime#Make_Linux_use_.27Local.27_time
(但这是非常笼统的;我已经写了这个答案专门适用于你的情况,这是一个有点常见的问题。)
/ etc / rcS修复程序在我的Win7 / Ubuntu 14.04×64安装上不起作用,也没有通过时钟GUI进行任何修复。 因为问题的根源是BIOS时间VS UTC时间,并且在使用UTC时Windows是一个痛苦的屁股,我只是在地图上选择了一个使用UTC + 0的点(BIOS和UTC时间之间没有变化) 。
尝试将您的位置更改为雷克雅未克(冰岛首都)。 瞧! 您的Ubuntu时间将更改以匹配您的BIOS时间。