Windows11 WSL中Llinux报错:System has not been booted with systemd as init system (PID 1). Can‘t operate

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。Windows11 WSL中Llinux报错:System has not been booted with systemd as init system (PID 1). Can‘t operate,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

1.序

在Windows11中安装Ubuntu,运行docker报错,安装步骤如下

Windows11 微软商店安装ubuntu子系统
Linux Ubuntu安装Docker

在Windows中使用WSL的Ubuntu时,使用systemctl命令报错:

hh@LAPTOP-O6A604DC:~$ systemctl start docker
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

在这里插入图片描述

2.问题分析

可能是因为这个Ubuntu系统并没有使用systemd,可能使用的是SysV init(sysvinit)初始化系统。
可以通过如下命令查看:

 ps -p 1

在这里插入图片描述
在这里插入图片描述

果真如此,CMD 列,显示 init,可以确定使用的是SysV init初始化系统。

SysV init:如果您的系统使用 SysVinit 作为 init 系统,您可以使用 service 命令来管理和检查服务状态。例如,要检查 Docker 服务状态,可以运行:

sudo service docker status

什么是Systemd?
Systemd是Linux系统的一套基本构建模块。它提供了一个系统和服务管理器,作为PID 1运行并启动系统的其余部分。
systemctl作为systemd的一个工具,提供与Linux机器上的服务交互

3.问题解决

3.1.方案1:

还是想要使用systemd,在WSL中启用systemd
先决条件:确保运行的是来自 Microsoft Store 且版本号为0.67.6及以上版本的WSL
更新WSL到最新版

wsl --update

查看版本

wsl --version

在这里插入图片描述

将 WSL 2 设置为默认版本 如果是WSL1,也是默认有wls.conf文件,但是就是不支持systemtcl命令,必须设置成WLS

wsl --set-default-version 2

运行命令查看版本

wsl -l -v

在这里插入图片描述
在Ubuntu实例中,打开或者添加/etc/wsl.conf文件(我这里已经安装这个了,没有的话手动添加),并编辑内容如下:

[boot]
systemd=true

在这里插入图片描述
在这里插入图片描述

然后使用wsl –shutdown命令,将运行中的Linux发行版关闭。
重新运行Ubuntu。
再次查看初始化信息,可以看出已经使用了systemd,

运行查询systemctl版本,非常完美,已经可以用了
在这里插入图片描述
已启动成功,查询正常
在这里插入图片描述

3.2.方案2:

这个错误表明系统没有以 systemd 作为 init 系统来引导(PID 1)。这可能是因为系统正在使用其他 init 系统(如 Upstart 或 SysVinit)。因此,在尝试使用 systemctl 命令时会出现问题,因为该命令是与 systemd 相关的。

如果系统没有使用 systemd 作为 init 系统,需要使用适合你的 init 系统的命令来检查服务状态。以下是一些常见 init 系统的示例:

Upstart:如果您的系统使用 Upstart 作为 init 系统,您可以使用 initctl 命令来检查服务状态。例如,要检查 Docker 服务状态,可以运行:

sudo initctl status docker

SysVinit:如果您的系统使用 SysVinit 作为 init 系统,您可以使用 service 命令来管理和检查服务状态。例如,要检查 Docker 服务状态,可以运行:

sudo service docker status

结果可用生效
在这里插入图片描述
已启动成功,查询正常
在这里插入图片描述

4.验证两种命令都可查询使用,完美

在这里插入图片描述

官方文档:
https://learn.microsoft.com/zh-cn/windows/wsl/install-manual
参考帖子:
https://blog.csdn.net/B11050729/article/details/132498547
https://blog.csdn.net/m0_68736501/article/details/130289727
https://blog.csdn.net/qq_44610529/article/details/126488898
https://blog.csdn.net/weixin_41982608/article/details/132310451

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/192694.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!