双启动时钟时间关闭

双启动系统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):

  1. 编辑/etc/default/rcS
  2. 添加或更改以下部分

     # Set UTC=yes if your hardware clock is set to UTC (GMT) UTC=no 

Ubuntu 15.04及以上系统(例如Ubuntu 16.04 LTS):

  1. 打开终端并执行以下命令

     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

  1. Alt + F2

  2. 输入gksu gedit /etc/default/rcS并按Enter键

  3. 你可能会看到这个:

     # 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
  4. 保存文件并退出文本编辑器。

  5. 重新启动以应用更改并检查两个操作系统上的时间是否正常运行。

来源: 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时间。