内容提要
本文介绍通过Windows任务计划程序实现WSL 2开机免登录自动启动的方法。需确保WSL为2023年9月更新后版本,创建任务时选择“不管用户是否登录都要运行”,触发器设为“启动时”,程序路径指定为"C:\Program Files\WSL\wsl.exe",并调整条件和设置选项。作者还分享了尝试多种虚拟化方案的经历,最终选择WSL 2作为服务器方案。
延伸解读
版本要求与兼容性
文章强调,WSL 2 通过任务计划程序自动启动的功能依赖于 2023 年 9 月 27 日之后的更新版本。系统自带的旧版 WSL 不支持此功能,因此操作前需确保 WSL 已更新至最新版本。这一版本限制是实施该方案的前提条件,否则任务计划程序可能无法正常启动 WSL。
任务计划程序配置要点
配置任务时,需在“安全选项”中选择“不管用户是否登录都要运行”,触发器设为“启动时”,操作中程序路径必须为“C:\Program Files\WSL\wsl.exe”,且引号不可省略。此外,需在“条件”和“设置”选项卡中取消大部分勾选,仅保留“允许按需执行任务”。这些细节直接影响任务能否在开机时自动运行。
WSL 2 作为服务器方案的权衡
作者在尝试多种虚拟化方案后,选择 WSL 2 作为服务器,主要因其具备显卡加速且性能优于 WSL 1。但作者也指出,WSL 2 并非真正的虚拟机,稳定性可能不如专业虚拟化方案。对于更高要求的生产环境,作者建议考虑云服务如 AWS EC2。
Q&A
如何实现WSL 2开机免登录自动启动?
通过Windows任务计划程序创建任务,选择“不管用户是否登录都要运行”,触发器设为“启动时”,程序路径填写"C:\Program Files\WSL\wsl.exe",并调整条件和设置选项。
WSL 2开机自动启动需要什么版本要求?
需要WSL版本为2023年9月27日之后的更新版本,即WSL September 2023 update之后的版本,系统自带版本不支持。
为什么WSL 2无法通过任务计划程序启动?
因为WSL之前存在一个BUG,直到2023年9月27日才被修复,所以旧版本不支持通过任务计划程序启动。
在任务计划程序中设置WSL自动启动时,程序路径应该填什么?
必须填写"C:\Program Files\WSL\wsl.exe",引号也要带上,其他位置的wsl.exe都不行。
WSL 2开机自动启动后,Linux内部如何设置自启动服务?
Linux内部的自动启动需要依靠SystemD来实现,文章未详细说明具体配置。
作者尝试了哪些虚拟化方案?最终为什么选择WSL 2?
作者尝试了PVE、Linux宿主、Windows宿主虚拟机、再买电脑、WSL 1等方案,但都存在显卡透传、性能、稳定性等问题。WSL 2有显卡加速,能充分利用现有硬件,所以最终选择WSL 2作为服务器方案。