修复错误“系统尚未使用systemd作为初始化系统启动”

因此,您正在Internet上关注一些教程,并且使用了诸如sudo systemctl start之类的systemd命令。

令您惊讶的是,该命令产生以下错误:

System has not been booted with systemd as init system (PID 1). Can't operate.

原因:您的Linux系统未使用systemd

原因是您正在尝试使用systemd命令来管理Linux上的服务,但是您的系统未使用systemd,并且(很可能)使用了经典的SysV初始化系统(sysvinit)。

但这怎么可能呢? 您正在使用Ubuntu,并且该指南也适用于相同的Ubuntu版本。 为什么对您不起作用?

如果您在Windows中使用WSL运行Ubuntu,那么您将拥有SysV而不是systemd,并且当您运行systemctl命令(为具有systemd init的Linux系统设计)时,系统会抱怨。

您如何知道您使用的是哪个初始化系统? 您可以使用以下命令找出与PID 1相关联的进程的名称(系统上运行的第一个进程):

ps -p 1 -o comm=

它应该在输出中显示systemd或sysv(或类似的东西)。

如何修复“系统尚未使用systemd引导”错误?

简单的答案是不使用systemctl命令。 请使用等效的sysvinit命令。

不太困难,两个命令的语法都差不多。

该表应为您提供帮助。

Systemd命令Sysvinit命令
systemctl启动service_name服务service_name开始
systemctl停止service_name服务service_name停止
systemctl重新启动service_name服务service_name重新启动
systemctl状态service_name服务service_name状态
systemctl启用service_namechkconfig service_name在
systemctl禁用service_namechkconfig service_name关闭

无论您使用哪一篇文章,请尝试使用等效命令,您将不再看到错误“系统尚未使用systemd作为初始化系统(PID 1)进行引导。 无法操作“。

Sidebar