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

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

  • 10
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
这个错误提示"System has not been booted with systemd as init system (PID 1). Can't operate."常见于使用systemd命令来管理Linux上的服务时。在一般的Linux操作系统,如果没有使用systemd作为init系统(PID 1),而是使用了经典的SysV init(sysvinit)系统,就会出现这个错误。然而,在使用Windows 10的WSL下的Ubuntu时,也会使用SysV init而不是systemd。 解决这个问题的方法是使用SysV init的命令来代替systemd的命令。你可以尝试运行适用于SysV init的命令来启动docker服务。具体的命令可能会有所不同,因为它们取决于你使用的Linux发行版和版本。例如,在某些发行版,你可以使用以下命令来启动docker服务: ``` sudo service docker start ``` 另外,你还可以尝试其他与SysV init兼容的命令,如`initctl`或`service`命令,来进行docker服务的管理。 请注意,这种解决方法仅适用于在WSL运行的Ubuntu系统。如果你在其他环境遇到类似的问题,请根据该环境的特定要求和规范查找适当的解决方案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [window10下WSL使用Ubuntu报错: System has not been booted with systemd as init system (PID 1). Can‘t...](https://blog.csdn.net/weixin_44092430/article/details/121511967)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [docker报错:System has not been booted with systemd as init system (PID 1). Can‘t operate.](https://blog.csdn.net/mouday/article/details/128449952)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [基因芯片检测PTA石化废水生物分子毒性 ](https://download.csdn.net/download/weixin_38751014/12129178)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值