Ubuntu 系统报错System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: 主机关闭
时间: 2023-11-03 09:57:44 浏览: 731
在Ubuntu系统中,当报错"System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: 主机关闭"时,这意味着系统没有使用systemd作为init系统,因此无法执行systemd命令。这在WSL中是一个已知的问题,因为WSL不支持systemd。解决这个问题的方法是使用SysV init命令代替systemd命令。
例如,如果你想查看mysql的状态,可以使用以下命令:
sudo service mysql status
如果你想启动mysql,可以使用以下命令:
sudo service mysql start
进入数据库可以使用以下命令:
mysql -u root -p123
请注意,WSL官方文档也提到了WSL不支持systemd的限制。因此,无法使用sudo systemctl命令。
相关问题
termux的Ubuntu 系统报错System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: 主机关闭
在termux的Ubuntu系统中,当出现报错"System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: 主机关闭"时,这是因为WSL并不支持systemd,而是使用了SysV init系统。因此,需要更换命令来代替systemd命令,在termux的Ubuntu中使用service命令来管理服务。例如,你可以使用以下命令来查看mysql状态:
sudo service mysql status
或者使用以下命令来启动mysql:
sudo service mysql start
请注意,termux的Ubuntu系统不支持systemd,因此使用systemctl命令会报错。
ubuntu20.04 报错System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down
### Ubuntu 20.04 WSL 中未使用 systemd 导致的错误解决方案
在 Windows Subsystem for Linux (WSL) 环境中,默认情况下并不支持 `systemd` 初始化系统,这导致了诸如 `System has not been booted with systemd as init system (PID 1)` 的错误消息[^1]。
#### 使用替代命令操作时间设置
对于需要更改时区的操作,在不依赖于 `systemd` 的环境中可以采用如下方式:
```bash
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
```
此命令直接链接到所需的时区文件从而实现时区调整的目的而不必调用 `timedatectl` 命令[^2]。
#### 配置环境变量以绕过 `systemd` 相关问题
当遇到因缺少 `systemd` 而无法正常工作的服务或工具时,可以通过配置特定的服务启动脚本来适应 WSL 特有的工作模式。例如针对 MySQL 数据库服务,可创建自定义的启动脚本并将其放置于 `/etc/profile.d/` 下以便每次登录自动加载[^5]。
#### 更新至最新版 WSL 和启用实验性功能
微软官方已经意识到部分开发者希望能在 WSL 上获得完整的 `systemd` 支持,并正在逐步改进这一情况。为了获取更好的兼容性和稳定性建议保持 Windows 以及 WSL 组件处于最新的更新状态;同时可以在 PowerShell 中执行以下指令开启预览特性:
```powershell
wsl --update
wsl --set-default-version 2
```
并且确认已在 BIOS 设置里启用了虚拟化技术选项以确保最佳性能表现[^3]。
#### 安装带有 `systemd` 支持的新发行版(适用于较新版本)
对于某些更高版本的 WSL 用户来说,现在可以直接安装那些自带 `systemd` 初始包的支持版本,比如通过 Microsoft Store 获取最新发布的 Ubuntu 发行版可能会内置对 `systemd` 更好的集成和支持[^4]。
阅读全文
相关推荐













