WSL2 安装 Arch Linux 完整指南
在 WSL2 中安装 Arch Linux 的完整步骤,包括系统初始化、镜像源配置、用户创建、systemd 启用、开发环境搭建,以及与已有 Ubuntu 共存的注意事项。
前提条件
- Windows 10(版本 19041+)或 Windows 11
- 已启用 WSL2 功能
- 以管理员身份运行的 PowerShell 或终端
确认 WSL 已就绪:
wsl --status
确认 Arch Linux 在可用发行版列表中:
wsl -l -o
列表中应该能看到 archlinux 对应的 Arch Linux。

安装 Arch Linux
第 1 步:安装
wsl --install -d archlinux
等待下载和安装完成。
注意:这和 Ubuntu 的安装方式完全一样,微软已经将 Arch Linux 纳入了官方支持列表(2025 年 4 月起)。不需要使用第三方工具(如 ArchWSL / LxRunOffline)。
第 2 步:进入 Arch
安装完成后,Arch 会自动启动。如果没有自动启动:
wsl -d archlinux
此时你应该是 root 用户。验证:
whoami
输出结果应该是“root”。
配置镜像源
这一步必须在所有
pacman -S操作之前完成。Arch 安装后自带的
/etc/pacman.d/mirrorlist包含的是全球镜像服务器,默认排在前面的是国外服务器。国内访问这些服务器要么非常慢,要么直接超时。如果不先换源,后续所有pacman操作(包括pacman -Sy下载包索引、pacman -S安装软件包)都会失败或卡住。典型报错:
textwarning: database file for 'core' does not exist (use '-Sy' to download) warning: database file for 'extra' does not exist (use '-Sy' to download) error: target not found: sudo这就是因为默认的国外镜像连不上,本地的包索引数据库为空。
初始化密钥环
pacman 依赖密钥环来验证软件包签名,刚安装的系统需要先初始化:
pacman-key --init
pacman-key --populate archlinux
如果
pacman-key --populate报网络错误,说明镜像源还没配好——先完成下面的镜像源配置,再回来执行这两条命令。
添加国内镜像
cat > /etc/pacman.d/mirrorlist << 'EOF'
## 阿里云
Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch
## 清华大学
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
## 中科大
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
## 上海交大
Server = https://mirrors.sjtu.edu.cn/archlinux/$repo/os/$arch
EOF
阿里云排在最前面,因为它使用商业 CDN,通常连通性最好。
如果某个镜像连不上,pacman会自动尝试下一个。
验证镜像列表:
cat /etc/pacman.d/mirrorlist
同步软件包数据库
这一步是必须的,只需执行一次。
刚安装的 Arch 本地没有包索引数据库,不执行这一步的话,后面所有
pacman -S都会报target not found错误。
pacman -Sy
能看到下载进度并正常完成,说明镜像源配置成功,包索引已就绪。之后安装任何软件包都不需要再单独执行此命令——日常更新用 pacman -Syu 会自动包含这一步。
安装基础系统
pacman -S base base-devel vim sudo curl wget git tree htop fzf ripgrep fd bat unzip zip
base-devel 包含编译工具链(gcc、make 等),Arch 下的很多 AUR 包都需要它。安装过程中会提示选择镜像,按回车选第一个即可。
安装中文字体(避免终端中文显示为方块):
pacman -S noto-fonts-cjk
启用 systemd
和 Ubuntu 一样,Arch 在 WSL2 中也需要启用 systemd。
echo -e "[boot]\nsystemd=true" | sudo tee /etc/wsl.conf
WSL 2 默认不用 systemd,用的是微软自己的一套初始化机制。但绝大多数 Linux 软件、教程、Docker 都默认 systemd 环境。开启后才是完整的 Linux 体验。
验证 systemd:
systemctl list-units --type=service | head -5
能正常输出服务列表即说明 systemd 已启用。
创建普通用户
Arch 安装后默认是 root 用户,需要手动创建普通用户。
为什么不建议直接用 root 做日常开发?
用 root 用户的唯一风险就是:敲错命令没有安全网。
bash# 想删当前目录下的 dist 文件夹 rm -rf ./dist # 手滑多打了一个空格 rm -rf / dist # root 用户会直接执行,系统文件全部删除 # 普通用户会报 Permission denied,环境安全在 WSL 里这意味着整个 Arch 环境报废,得重新装。创建一个普通用户只需要几条命令,换来的是不怕手滑的安全感。
创建用户
useradd -m -G wheel -s /bin/bash bowie
把
bowie替换成你想要用户名。-G wheel将用户加入wheel组(sudo 权限组),-m创建家目录,-s /bin/bash指定默认 shell。
设置密码
passwd bowie
root用户也可通过passwd root命令设置密码。
授予 sudo 权限
visudo
visudo 会打开 vim 编辑器,操作步骤:
- 输入
/# %wheel搜索目标行 - 按
0移到行首,按x删除#注释符 - 输入
:wq保存退出
修改后的内容:
%wheel ALL=(ALL:ALL) ALL
设置默认用户
通过 /etc/wsl.conf 配置默认登录用户(这是微软官方 Arch Linux 唯一可靠的方式):
echo -e "[user]\ndefault=bowie" | sudo tee -a /etc/wsl.conf
因为上一步已经写入了
[boot]段,这里用tee -a追加,/etc/wsl.conf里会同时存在[boot]和[user]两个段,这是正常的,不会冲突。
退出 Arch 可以输入以下命令:
exit
也可直接关闭 powershell 或终端窗口。
重启 WSL 使配置生效
systemd 和默认用户的配置都需要重启 WSL 才能生效,一起完成:
wsl --shutdown
wsl -d archlinux
验证默认用户:
whoami
输出:bowie
如果想切换回 root 用户,可以输入
su -或su root命令,然后输入 root 密码。
如果 root 没有设置密码,用sudo su -也可以。
开发环境搭建
Node.js
Arch 官方仓库的 Node.js 版本通常比 Ubuntu 新,直接装就行:
安装之前建议执行以下命令,同步镜像源:
sudo pacman -Syu
然后执行:
sudo pacman -S nodejs npm
检查 node.js 版本,确认安装成功:
node -v
如果需要多版本管理,可以用 nvm(和 Ubuntu 一样):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
source ~/.bashrc
nvm install --lts
Python
很多 AI 相关应用都依赖 Python,可以通过以下命令安装:
sudo pacman -S python python-pip
检查 Python 版本,确认安装成功:
python --version
Git 配置
输入以下命令安装 Git:
sudo pacman -S git
检查 Git 版本,确认安装成功:
git -v
配置 Git 可以使用以下命令:
your-name和your-email@example.com替换为你 GitHub 的用户名和邮箱。这样提交的 commit 记录会关联到你的 GitHub 账号。
git config --global user.name "your-name"
git config --global user.email "your-email@example.com"
与 Ubuntu 共存的注意事项
独立性
两个发行版完全隔离,互不影响:
| Ubuntu | Arch | |
|---|---|---|
| 文件系统 | \\wsl$\Ubuntu-24.04\ | \\wsl$\archlinux\ |
| 用户账户 | 各自独立 | 各自独立 |
| 软件包 | apt 管理 | pacman 管理 |
| WSL 配置 | /etc/wsl.conf | /etc/wsl.conf(各自一份) |
切换发行版
在 PowerShell 中:
wsl -d archlinux # 进入 Arch
wsl -d Ubuntu-24.04 # 进入 Ubuntu
在任意一个发行版中执行命令:
wsl -d archlinux -- pacman -Syu
wsl -d Ubuntu-24.04 -- apt update && apt upgrade
设置默认发行版
如果你希望打开 WSL 时默认进入 Arch:
wsl --set-default archlinux
改回 Ubuntu:
wsl --set-default Ubuntu-24.04
共享 .wslconfig
.wslconfig 是全局配置(%USERPROFILE%\.wslconfig),所有发行版共享同一个。如果你之前为 Ubuntu 配过内存限制,Arch 也会受到同样的限制,通常这是好事。
项目文件放哪里
和 Ubuntu 一样,项目文件应该放在各自发行版的 Linux 文件系统内:
# Arch 中 - 正确
~/projects/my-app
# Arch 中 - 错误,跨文件系统访问性能差
/mnt/c/Users/bowie/projects/my-app
如果你需要在两个发行版之间共享项目文件,建议用 Git 仓库来同步,而不是通过 /mnt/ 路径互相访问。
日常维护
更新系统
sudo pacman -Syu
滚动更新的核心命令,一条搞定。建议定期执行。
清理缓存
sudo pacman -Sc
常用 pacman 速查
pacman -S package-name # 安装包
pacman -R package-name # 删除包
pacman -Rs package-name # 删除包及其不需要的依赖
pacman -Ss keyword # 搜索包
pacman -Qi package-name # 查看已安装包的详细信息
pacman -Syu # 更新整个系统
VSCode 中的多发行版切换
如果同时用 Ubuntu 和 Arch 开发不同项目,VSCode Remote-WSL 支持在不同窗口连接不同的发行版:
- 打开一个新 VSCode 窗口
Ctrl+Shift+P→WSL: Connect to WSL- 选择目标发行版
卸载(如果需要)
wsl --unregister archlinux
注意:这会删除所有文件和数据,不可恢复。 操作前务必确认没有重要文件。
总结
安装完成后,你的 WSL2 环境应该是这样的:
WSL2
├── Ubuntu-24.04 ← 主力开发环境(Next.js、Claude Code、Agent 项目)
└── archlinux ← 需要最新工具链时的补充环境
两个发行版各有优势:Ubuntu 省心稳定、社区支持好;Arch 软件最新、Arch Wiki 是神器。按需切换,互不干扰。