You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何让WSL2在Windows 11锁屏或关闭屏幕后持续运行?

如何让WSL2在Windows 11锁屏或关闭屏幕后持续运行?

嘿,这个问题我太有共鸣了!之前跑后台脚本的时候也踩过这个坑——锁屏后WSL直接“躺平”,解锁才慢悠悠恢复,折腾了好一阵才摸透几个靠谱的解决办法,给你整理一下:

方案一:调整Windows电源设置,阻止系统挂起WSL

Windows默认锁屏后会触发节能策略,很容易把WSL依赖的Hyper-V虚拟机给挂起来,咱们得把这个限制掐断:

  • 按下Win+R输入control打开控制面板,找到「电源选项」
  • 点击当前正在使用的电源计划旁边的「更改计划设置」
  • 选择「更改高级电源设置」,在弹出的窗口里展开以下选项:
    • 「睡眠」→「允许混合睡眠」,把它设为「关闭」
    • 「电源按钮和盖子」→根据你的设备类型,把「关闭盖子时的操作」「按电源按钮时的操作」都设为「仅关闭显示器」(台式机可以忽略盖子选项)
    • 「处理器电源管理」→「最小处理器状态」,把电池和电源模式下都设为100%(避免系统降频限制WSL运行)
  • 点击「应用」「确定」保存设置

方案二:修改WSL配置,禁用自动挂起

WSL2本身自带自动挂起的超时机制,咱们直接把这个开关关掉:

  • 先打开管理员权限的PowerShell,输入wsl --shutdown把所有WSL实例彻底关闭
  • 打开Windows用户目录(比如C:\Users\你的用户名),创建或编辑.wslconfig文件(如果没有就新建文本文件,重命名时记得去掉.txt后缀)
  • 在文件里添加以下内容:
[wsl2]
sleepTimeout=0

这个设置的作用是彻底禁用WSL的自动挂起功能,不管系统有没有锁屏,它都会老老实实后台运行

  • 保存文件后,重新启动WSL就生效了

方案三:关闭Windows快速启动(可选)

如果上面两个方案还没解决问题,大概率是快速启动在搞鬼——它会让系统进入半休眠状态,干扰Hyper-V的正常运行:

  • 打开控制面板的「电源选项」,点击「选择电源按钮的功能」
  • 点击「更改当前不可用的设置」,然后取消勾选「启用快速启动(推荐)」
  • 保存更改后重启电脑,就能生效

另外提醒一句:如果是笔记本用电池模式,记得单独调整电池计划的电源设置,和上面的步骤一样,把节能相关的选项全部关闭就行。

备注:内容来源于stack exchange,提问作者Marijus Ambrozas

火山引擎 最新活动