Windows subsystem for linux WSL2时钟与Windows不同步

Windows subsystem for linux WSL2时钟与Windows不同步,windows-subsystem-for-linux,clock,windows-task-scheduler,wsl-2,Windows Subsystem For Linux,Clock,Windows Task Scheduler,Wsl 2,WSL2时钟在从睡眠/休眠状态恢复后不同步。 在WSL中,sudo hwclock-s与resync clock共享了一个解决方案,但每次从睡眠/休眠状态恢复时,都必须执行此操作。在撰写本文时,这是为该错误打开的 我为自己的情况选择的解决方法(WSL2中的单个发行版)是使用Windows任务调度器在WSL中运行hwclock,只要Windows重新同步硬件时钟 Windows:以管理员身份打开PowerShell WSL2:运行sudo visudo并将hwclock添加到sudoers以跳过

WSL2时钟在从睡眠/休眠状态恢复后不同步。

在WSL中,sudo hwclock-s与resync clock共享了一个解决方案,但每次从睡眠/休眠状态恢复时,都必须执行此操作。

在撰写本文时,这是为该错误打开的

我为自己的情况选择的解决方法(WSL2中的单个发行版)是使用Windows任务调度器在
WSL
中运行
hwclock
,只要Windows重新同步硬件时钟

Windows:以管理员身份打开PowerShell

WSL2:运行
sudo visudo
并将
hwclock
添加到sudoers以跳过密码提示

#我的文件底部如下所示
...
...
#包括IR/etc/sudoers.d
ALL=(ALL)NOPASSWD:/usr/sbin/hwclock、/usr/bin/apt update、/usr/bin/apt update
结果

有关如何从Windows事件筛选获取事件XPath的信息,请参见图。按提供的方式使用可让任务计划程序自动显示计划的触发器


只要重新启动wsl,它对我来说工作正常

wsl --shutdown
然后


在PowerShell中

如果有人通过搜索找到此问题,但没有注意到问题中实际列出了解决方案,您可以通过以下方式修复WSL时钟漂移

sudo hwclock -s

如果您只是偶尔需要这样做,这是一个很好的解决方案。如果你需要做的更频繁,请考虑@ PuSon的解决方案

< P> <代码> SUDO HWCHOL-S 让你有点,但由于某些原因没有得到确切的时间-我经常发现它是一分钟左右的未来!
sudo ntpdate pool.ntp.org
应该会为您提供正确的时间

但这都是因为在某个时候Windows更新中应该包含一个

在我的经验中,有很多在文章中提到的黑客可以解决这个问题,大多数情况下,但并不总是如此


更新:修复程序现在已启动!在Windows Insiders版本中,至少:

您可以按照此注释中的方法手动将WSL2内核更新为5.10.16:。我已通过此方法修复了问题。

但每次问题再次出现时,您都必须重新启动。@piouson Exactly我的解决方案通过使用Windows任务计划程序自动重新运行,消除了每次重新启动的需要。。我为懒得执行您的解决方案的任何人提供选项。这取决于他们选择哪一个。如果你运行的是ubuntu,这在WSL中很常见,这种方法会无声地失败,因为为hwclock列出的路径不正确。在ubuntu上,正确的路径是
/sbin/hwcock
我调试了我的脚本两天,才意识到这是一个时钟问题。HWCock-s对我不起作用。ntpdate做到了。非常感谢。我希望这也能在WSL 1上工作,但我得到了错误
hwclock:无法通过任何已知方法访问硬件时钟。
wsl
sudo hwclock -s