Win11下WSL2怎么开启systemd支持以运行各种Linux后台服务

夜宇小哥_1312

夜宇小哥_1312

2026-10-04

940人浏览

原创

根本原因是wsl2默认未启用systemd,pid 1仍是轻量init;需通过/etc/wsl.conf配置[boot] systemd=true并执行wsl --shutdown后重启,ps -p 1 -o comm=输出systemd即成功。

win11下wsl2怎么开启systemd支持以运行各种linux后台服务

在 Win11 的 WSL2 中运行 Docker、snap、systemd timer、udev 规则或完整 GUI 应用时,常遇到 Failed to connect to bus: No such file or directory 或 System has not been booted with systemd as init system 报错,根本原因是 WSL2 默认未启用 systemd 初始化系统,PID 1 进程仍是轻量级 init,无法承载现代 Linux 服务生态。

通过 /etc/wsl.conf 启用 systemd(主推方案)

这是微软官方支持、最稳定且永久生效的方式,适用于 Ubuntu、Debian、Kali 等主流发行版,修改后每次启动自动加载 systemd。

第一步:在 WSL 终端中以 root 权限打开配置文件:sudo nano /etc/wsl.conf

第二步:严格输入以下两行内容——不能有空行、不能缩进、不能含中文、不能用 Windows 换行符(CRLF):
[boot]
systemd=true

第三步:保存退出 nano:按 Ctrl+O → 回车确认 → Ctrl+X 退出

第四步:关闭所有 WSL 实例,确保旧进程彻底释放:wsl --shutdown。这一步不可跳过,否则新配置不会加载。

第五步:重新启动该发行版(例如点击开始菜单中的 Ubuntu 图标),进入后立即执行:ps -p 1 -o comm=。若输出为 systemd,说明已成功接管 PID 1。

排查 wsl.conf 失效的常见原因

即使按上述步骤操作,仍可能因底层细节被忽略而失败。WSL 仅识别位于发行版根文件系统、权限为 644、所有者为 root、无 CRLF 的 /etc/wsl.conf 文件。

方法一:检查文件是否存在及权限是否合规:ls -l /etc/wsl.conf

方法二:若权限不是 644 或所有者不是 root,立即修复:sudo chmod 644 /etc/wsl.conf && sudo chown root:root /etc/wsl.conf

UI Scanner — Website Design System Extraction
UI Scanner — Website Design System Extraction

从给定URL爬取并分析网站的视觉设计系统,识别设计风格、色彩体系、字体排版、组件样式和UI模式。

下载

方法三:检测换行符类型:file /etc/wsl.conf。如果输出含 CRLF,说明是 Windows 风格换行,nano 在某些终端下会悄悄引入它,导致 WSL 完全忽略该文件。

【必须修复】若确认含 CRLF,先安装 dos2unix:sudo apt update && sudo apt install -y dos2unix,再执行:sudo dos2unix /etc/wsl.conf。

临时启用 systemd(快速验证用)

当你不确定当前发行版是否兼容,或想绕过配置文件直接测试 systemd 是否能跑通,可用此法。它不修改任何文件,但每次重启后失效。

在 Windows PowerShell 中执行(将 Ubuntu-22.04 替换为你实际的发行版名称):wsl -d Ubuntu-22.04 --system

终端启动后立即运行:systemctl is-system-running。若返回 running,说明内核与发行版支持无问题,可放心回退去修 wsl.conf。

注意:该命令会阻塞当前终端窗口,如需继续操作,请新开一个 WSL 窗口。

Arch Linux 用户特别说明

Arch Linux 官方 WSL 镜像自 2.4.12 版本起已默认启用 systemd,无需手动编辑 wsl.conf。你只需确认版本并验证状态即可。

在 PowerShell 中运行:wsl --list --verbose,查看 Arch Linux 对应的 VERSION 是否 ≥ 2.4.12 且状态为 Running。

若为 Stopped,执行:wsl -d archlinux 启动实例。

启动后直接运行:systemctl list-units --type=service | head -n 5。有输出即表示 systemd 已就绪。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3810

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3293

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2413

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5790

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5442

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3213

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2705

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2919

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习