我在 Windows 10 上遇到了一个非常大的时间问题。每次启动计算机时,我都必须手动设置正确的时间。我不知道问题出在哪里。在设置中启用了“自动设置时间”。此外,我将 Windows 时间服务的启动类型更改为自动。但对我没有任何帮助。也许这会是有用的信息,我的计算机上有两个操作系统:Windows 10、Ubuntu。此外,只有在启动 Windows 10 之前使用 Ubuntu 时,时间才会更新。
答案1
最有可能的是,Linux 会尝试保持你的硬件时钟世界标准时间。每次需要时,它都会重新计算到所需的时区。这使得硬件时钟独立于时区、特定操作系统、DST 等。两个具有不同时区设置的操作系统可以和平共处,只要它们同意硬件时钟为 UTC。
另一方面,Windows 将硬件时钟附加到自身。它使用本地时间并期望硬件时钟根据它进行设置。两个具有不同时区设置的如此不恰当的操作系统将不断争夺硬件时钟。而且由于 Linux 试图将其保持为 UTC,它也会与 Windows 发生冲突,除非 Windows 中的本地时间应与 UTC 匹配(但在您的例子中不应该匹配)。
有几种方法可以解决这个问题。请选择一种:
让每个操作系统通过 NTP 自行同步并来回设置硬件时钟。在 NTP 守护进程/服务启动之前,系统时钟可能会关闭。如果守护进程/服务无法完成其工作,系统时钟可能会关闭。您的评论让我相信您的 Windows 时间服务根本没有启动;它应该会自动启动。我猜当您启动 Ubuntu 时时间也会关闭,但 Linux 会在您不知不觉中通过 NTP 获得正确的时钟。
使 Windows 支持 UTC 作为硬件时间。请参阅相关问题的答案。请注意,它要求您停止 Windows 时间服务。
让 Ubuntu 使用本地时间作为硬件时间。根据这个答案:
检查
/etc/adjtime
配置是否正确。如果硬件时钟使用 UTC,则第三行必须包含UTC
(恰好是这三个字符);如果硬件时钟使用本地时间(在 定义的时区中/etc/timezone
),则第三行必须包含其他内容(例如空)。显然,两个操作系统上的时区设置应该匹配。我相信使用此方法,您可以在一个操作系统或两个操作系统上通过 NTP 保持同步。
编辑
第三种方式需要有/etc/adjtime
。如果你的 Ubuntu 中没有,那么我相信这个答案给出了正确的提示:
如果文件
/etc/adjtime
不存在,systemd 假定硬件时钟设置为 UTC。可以使用命令查询和设置硬件时钟
timedatectl
。要将硬件时钟时间标准更改为本地时间,请使用:sudo timedatectl set-local-rtc 1
如果您想恢复硬件时钟的 UTC,请执行以下操作:
sudo timedatectl set-local-rtc 0
这些将
/etc/adjtime
自动生成并相应地更新 RTC;无需进一步配置。
答案2
@echo off
net start W32Time
W32tm /resync /force
echo Sync Successful
复制并粘贴以上内容到记事本中
1.保存为filename.cmd
2.右键单击此文件并创建快捷方式
3.右键单击快捷方式文件
4.单击“属性”
5.单击“高级”
6.勾选以管理员身份运行
7.单击“应用”
7.单击“确定”
将快捷方式文件复制到桌面并在启动后双击它
注意!:您需要一个有效的互联网连接