Bil*_*den 369 dual-boot windows timezone
双启动系统 Windows XP Pro 和 Ubuntu 12.04。
我将 bios 设置为正确的时间,将 Ubuntu 设置为美国东部时间。Ubuntu 将启动,时间将减少 -4 小时。如果我在 Ubuntu 中更正时间,那么当我在 Windows XP 中启动时,时间将减少 + 4 小时。
这是 12.04 的全新安装。在重新安装 Ubuntu 之前我没有这个问题。
Eri*_*lho 332
https://help.ubuntu.com/community/UbuntuTime#Multiple_Boot_Systems_Time_Conflicts
多个引导系统时间冲突
操作系统在位于主板上的硬件时钟中存储和检索时间,以便即使在系统断电时它也可以跟踪时间。大多数操作系统(Linux/Unix/Mac)默认将硬件时钟上的时间存储为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的文件,然后双击它以将内容与注册表合并:
Run Code Online (Sandbox Code Playgroud)Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation] "RealTimeIsUniversal"=dword:00000001注意: Windows 时间服务仍会在关机时将本地时间写入 RTC,无论上述注册表设置如何,因此使用此命令禁用 Windows 时间服务很方便(如果在 Windows 中使用任何第三方时间时仍需要时间同步)同步解决方案):
Run Code Online (Sandbox Code Playgroud)sc config w32time start= disabled撤消更改
您可以创建一个包含以下内容的文件,然后双击它以合并原始更改,如上:Run Code Online (Sandbox Code Playgroud)Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation] "RealTimeIsUniversal"=-如果禁用了 Windows 时间服务,请使用以下命令再次启用它:
Run Code Online (Sandbox Code Playgroud)sc config w32time start= demand让 Linux 使用“本地”时间
告诉您的 Ubuntu 系统硬件时钟设置为“本地”时间:
Ubuntu 15.04 之前的系统(例如 Ubuntu 14.04 LTS):
- 编辑
/etc/default/rcS添加或更改以下部分
Run Code Online (Sandbox Code Playgroud)# Set UTC=yes if your hardware clock is set to UTC (GMT) UTC=noUbuntu 15.04 及以上系统(例如 Ubuntu 16.04 LTS):
打开终端并执行以下命令
Run Code Online (Sandbox Code Playgroud)timedatectl set-local-rtc 1
mur*_*uru 74
要将 BIOS 时钟设置为本地时间而不是基于 systemd 的版本(15.04 及更高版本)中的 UTC,您必须使用该timedatectl命令。根据Arch 维基:
您可以通过命令行设置硬件时钟时间标准。您可以通过以下方式检查已设置使用的内容:
Run Code Online (Sandbox Code Playgroud)$ timedatectl | grep local可以通过
timedatectl命令查询和设置硬件时钟。要将硬件时钟时间标准更改为本地时间,请使用:Run Code Online (Sandbox Code Playgroud)# timedatectl set-local-rtc 1如果要恢复为 UTC 的硬件时钟,请执行以下操作:
Run Code Online (Sandbox Code Playgroud)# timedatectl set-local-rtc 0
Eli*_*gan 36
您的时区是Eastern,目前是 EDT(东部夏令时间)。EDT 是UTC减去四小时,与您遇到的偏移量相同。
在双引导系统上发生这种情况时,通常是因为一个操作系统认为硬件时钟跟踪本地时间,而另一个操作系统认为硬件时钟跟踪 UTC。
在您的情况下,您的硬件时钟可能设置为本地时间,并且:
如果您只是在 Ubuntu 系统中手动或自动重置时间,那么在 Windows 中就会出错,因此这不是一个好的解决方案。
相反,最好的解决方案可能是重新配置 Ubuntu 以将硬件时钟时间视为本地时间(然后您可以单独保留 Windows 配置和硬件时钟时间)。
为此,请/etc/default/rcS以 root 身份进行编辑并确保它具有UTC=no:
按Alt+ F2。
键入gksu gedit /etc/default/rcS并按Enter。
你可能会看到这个:
# assume that the BIOS clock is set to UTC time (recommended)
UTC=yes
Run Code Online (Sandbox Code Playgroud)
UTC=yes为UTC=no。(或者,您可能还想添加注释,将其更改为类似UTC=no # changed to accommodate Windows system.#字符后的行上的所有内容都是注释,只是为了使您的设置更具可读性。)UTC=一行。如果它没有注释(即,#开头没有 a ),则相应地更改它。如果它被注释,通过删除前导来取消注释#并确保它显示为UTC=no。保存文件并退出文本编辑器。
重新启动以应用您的更改并检查时间现在在两个操作系统上是否正常工作。
来源: https : //help.ubuntu.com/community/UbuntuTime#Make_Linux_use_.27Local.27_time
(但这很笼统;我写了这个答案专门适用于您的情况,这是一个比较常见的问题。)
Ope*_*ool 15
/etc/rcS 修复在我的 Win7 / Ubuntu 14.04x64 安装上不起作用,也没有通过时钟 GUI 进行任何修复。因为问题的根源是 BIOS 时间 VS UTC 时间,而 Windows 在使用 UTC 时很麻烦,我只是在地图上选择了一个使用 UTC+0 的点(BIOS 和 UTC 时间之间没有变化) .
尝试将您的位置更改为雷克雅未克(冰岛首都)。瞧!您的 Ubuntu 时间将更改以匹配您的 BIOS 时间。
| 归档时间: |
|
| 查看次数: |
363902 次 |
| 最近记录: |