首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WSL2时钟与Windows不同步

WSL2时钟与Windows不同步
EN

Stack Overflow用户
提问于 2020-12-01 08:14:47
回答 10查看 29.1K关注 0票数 60

从睡眠/hibernate恢复后,WSL2时钟就不同步了。

GitHub sudo hwclock -s上共享了一个解决方案,以便在WSL中重新同步时钟,但是每次从睡眠/hibernate恢复时都必须这样做。

更新:这个BUG是固定的,只需检查更新!见时钟同步修复

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2020-12-01 08:14:47

更新:德鲁凝胶所提到的,时钟同步修复是在WSL2内核版本5.10.16.3中发布的

过时

在编写本报告时,这个GitHub问题是为bug打开的。

针对我的情况(WSL2中的单个发行版),我选择的解决办法是使用Windows在WSL中运行hwclock,无论何时Windows硬件时钟。

Windows:以管理员身份打开PowerShell

代码语言:javascript
复制
schtasks /create /tn WSLClockSync /tr "wsl.exe sudo hwclock -s" /sc onevent /ec system /mo "*[System[Provider[@Name='Microsoft-Windows-Kernel-General'] and (EventID=1)]]"
Set-ScheduledTask WSLClockSync -Settings (New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries)

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

代码语言:javascript
复制
# bottom of my file looks like this
...
...
#includedir /etc/sudoers.d
<username> ALL=(ALL) NOPASSWD:/usr/sbin/hwclock, /usr/bin/apt update, /usr/bin/apt upgrade

结果

有关如何从Windows筛选中获取事件XPath,请参见图像。用于让任务调度程序自动显示计划好的触发器。

票数 20
EN

Stack Overflow用户

发布于 2021-04-03 12:04:23

如果有人通过搜索发现这一点,并且没有注意到问题中实际上列出了一个解决方案,那么您可以通过WSL时钟漂移。

代码语言:javascript
复制
sudo hwclock -s

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

票数 72
EN

Stack Overflow用户

发布于 2021-04-15 00:53:43

更新

更新!注意,您可能需要从Windows安装WSL2,以获得每个这条来自微软的克雷格的帖子的最新内核版本。

旧答案

sudo hwclock -s给你带来了某种意义,但由于某些原因,我发现时间不确定--我经常发现未来的时间是一分钟左右!

sudo ntpdate pool.ntp.org应该给你正确的时间。

但是这一切都是因为Linux内核中的bug在某个时候应该包含在Windows中.

根据我的经验,GitHub问题中引用了许多黑客,它们可以解决这一问题,但并不总是如此。

票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65086856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档