本文将提供一份详细攻略,手把手教你如何将 WSL 子系统的初始化方式从 init 切换为 systemd,完成切换后,你将能够使用 systemctl 命令管理服务。
设置systemd启动
首先,在 Windows 终端使用命令wsl --version查看 WSL 版本;如果 WSL 版本小于2.x,则需要运行wsl --update进行更新;
接下来确认子系统的版本,使用命令wsl -l -v查看版本情况:
如果你的子系统版本为 1,则需要更改为 2,执行以下命令:
# 设置 WSL 的默认版本为 2
wsl --set-default-version 2
# 将子系统转换为 WSL 2,这里以 Debian 为例
wsl --set-version Debian 2
这个过程可能需要花费一些时间,耐心等待;
转换完成后,启动你的子系统,编辑/etc/wsl.conf文件,在文件中添加以下内容并保存:
[boot]
systemd=true
退出你的子系统,并在 Windows 终端执行命令wsl --shutdown关闭WSL;
重新启动子系统,输入命令ps -p 1查看是否成功以systemd启动:
ps -p 1
PID TTY TIME CMD
1 ? 00:00:00 systemd
看到systemd表示成功,此时可以使用systemctl命令管理服务。