如何解决“系统尚未使用 systemd 作为初始化系统(PID 1)启动。”?我无法重启 Ubuntu

use*_*006 7 reboot windows-subsystem-for-linux 18.04

我在 apache 的设置过程中遇到了问题。我正在使用 Ubuntu 18.04 版。不知道是什么原因导致出现这个问题...

我只会列出我所有的命令。

apt-get update
apt-get upgrade
Run Code Online (Sandbox Code Playgroud)

我尝试升级后看到一个错误:

E: Sub-process /usr/bin/dpkg returned an error code (1) 
Run Code Online (Sandbox Code Playgroud)

为了解决它或解决方案,我使用了以下一些命令:

vi usr/sbin/policy-rc.d
Run Code Online (Sandbox Code Playgroud)

内容:

#!bin/sh
exit 101

chmod +x /usr/sbin/policy-rc.d
dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl
Run Code Online (Sandbox Code Playgroud)

这些来自这个文档

apt-get install apache2
apt-get install php
apt-get install libapache2-mod-php
apt-get install php-mbstring
apt-get install php-gd
apt-get install php-curl php-xml
apt-get install mariadb-server
/usr/bin/mysql_secure_installation

use mysql;
update user set plugin='' where User='root';
flush privileges;
exit;
apt-get install php-mysql

adduser

a2ensite
Run Code Online (Sandbox Code Playgroud)

我下载了phpmyadmin。

在所有这些命令之后,我想重新启动 Ubuntu,但它没有用。命令后,reboot我看到这样的消息:

System has not been booted with systemd as init system (PID 1). Can't 
operate. Failed to talk to init daemon.
Run Code Online (Sandbox Code Playgroud)

reboot -f

Rebooting.
Failed to reboot: Invalid argument
Run Code Online (Sandbox Code Playgroud)

我完全是新手...我不知道我应该做什么

我刚刚重新安装了 Ubuntu 并且收到了上面提到的相同消息,尽管我什么也没做,只是reboot在重新安装后进行了尝试。

小智 7

我在尝试使用 Docker 的安装说明在 Linux 上安装 Docker 时遇到了类似的问题(https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu- 18-04 ) 或 ( https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce-1 )。

解决方案是使用 Windows 安装过程安装 Docker,然后将适用于 Linux 的 Windows 子系统链接到 Windows Docker。据我了解,失败的原因是无法从 Windows 子系统访问 docker 所需的文件,而这些文件最终位于 Windows 上。该解决方案绕过了这一点。希望这可以帮助!

https://blog.jayway.com/2017/04/19/running-docker-on-bash-on-windows/