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
时间: 2025-03-06 15:39:47 浏览: 509
### 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]。
阅读全文
相关推荐

















