1、以管理员身份启动CMD命令行窗口执行以下命令, 从GitHub下载最新的更新
wsl --update --web-download
下载安装过程时间比较长,请耐心等待。下载安装完成后,请重启电脑。
2、上面步骤执行完成之后,登录Ubuntu系统,执行如下命令:
apt install -yqq fontconfig daemonize
这一步主要是下载安装systemctl相关的软件包。
3、使用 sudo 获取管理员权限在文本编辑器中打开 wsl.conf 文件(不存在则创建),并将以下行添加到 /etc/wsl.conf:
[boot]
systemd=true
4、在Win10系统中以管理员身份运行CMD命令行窗口,执行以下命令,停止当前正在运行的Ubuntu系统
wsl --shutdown
5、重新启动并且登录Ubuntu系统,执行以下命令
systemctl list-unit-files --type=service
运行结果如下图所示,则说明 systemctl 命令已经成功启用
注意事项
1、不能执行如下操作,否则启动Ubuntu系统时候会需要输入密码并且反应卡顿。并且会导致docker无法启动
执行命令 sudo systemctl status docker 命令报错如下:
xxx@DESKTOP-:~$ sudo systemctl status docker
[sudo] password for xxx:
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: inactive (dead)
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
执行命令 sudo service docker start 报错如下:
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
解决办法:将上述操作撤销,删除增加的文件
2、不能执行如下操作,否则会导致docker启动失败
1、在/etc/docker/daemon.json 路径下添加代码。没有这个文件的可以手动添加 touch /etc/docker/daemon.json 在里面添加代码:
{ "storage-driver": "devicemapper" }
如果执行上面操作
执行命令 sudo systemctl status docker 时候报错如下
docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2024-03-25 23:00:03 CST; 23s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Process: 708 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=>
Main PID: 708 (code=exited, status=1/FAILURE)
执行命令 sudo service docker start 报错如下:
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.