使用 wsl2 linux 子系统时,在 Windows 休眠唤醒后时间不同步
系统:Ubuntu22.04
1 | 版本 Windows 11 企业版 |
wsl2 启动的 linux 子系统,在 windows 睡眠唤醒后,时间会延迟,理论上可以使用 sudo hwclock -s
来同步硬件时间,并加入定时任务每小时执行一次,但这并不太可靠,有时必须 wsl --shutdown
关闭并重启 wsl 才能生效,所以使用以下方式解决
/lib/systemd/system/systemd-timesyncd.service 中 [Unit] 单元下注释掉原 ConditionVirtualization 属性,添加新 ConditionVirtualization 属性
1 | sudo vim /lib/systemd/system/systemd-timesyncd.service |
重新加载 systemctl 管理服务的配置文件
1 | sudo systemctl daemon-reload |
重启 systemd-timesyncd 服务
1 | sudo systemctl restart systemd-timesyncd |
查看 systemd-timesyncd 运行状态
1 | sudo systemctl status systemd-timesyncd |
如果没有 systemd-timesyncd ,可以安装一下
1 | sudo apt install systemd-timesyncd |
参考链接:
https://github.com/microsoft/WSL/issues/5324