WSL2
双系统的尽头 WSL
准备工作windows11(开启 WSL2 & 虚拟机平台)
在 开始菜单 搜索“
启用或关闭 Windows 功能
”,勾选:适用于 Linux 的 Windows 子系统
虚拟机平台 (Virtual Machine Platform) 点击“确定”,按提示重启电脑。
(可选)开启 Hyper-V(不是必需,某些专业/企业版可用):
Hyper-V 平台、Hyper-V 管理工具。
1、安装最新 WSL 内核 & 设置默认版本为 WSL2
以 管理员 身份打开 PowerShell:
1 |
|
1 |
|
1 |
|
1 |
|
看到
WSL version: 2
或列表中VERSION
列为 2,即表示使用 WSL2。
2、安装 ArchWSL
方式 A:离线稳定版(推荐)
从 ArchWSL 官方 Releases 下载 Arch.zip
1
https://github.com/yuk7/ArchWSL
解压到你希望保存的位置,例如:D:\WSL\Arch\ 解压后应包含:Arch.exe 与 rootfs.tar.gz
双击运行 Arch.exe 终端显示:
1
2Installing...
Installation Complete!当提示:Press enter to continue……时回车结束安装
为何推荐 Arch.zip:
- 完全离线、可控;
- 不依赖证书签名;
- 可自定义安装目录;
- 出问题时更容易手动迁移/备份。
方式 B:应用包(AppX)安装
下载 ArchWSL-AppX_x64.appx 与 对应 .cer证书
先双击安装 .cer 到“受信任的根证书颁发机构”
再右键 .appx → 安装
开始菜单中将出现 ArchWSL 图标
方式 C:命令安装(可能不可用)
1 |
|
某些环境可能找不到官方 Arch 发行版,此时请使用 方式 A
3、首次进入 ArchWSL:创建普通用户并授予 sudo(可跳过用root用户使用)
进入 Arch(开始菜单或 Arch.exe ),在 root shell 中执行:
1 |
|
1 |
|
设置默认登录用户为新用户(在 Windows 中):
1 |
|
下次启动 ArchWSL 将直接进入 hui 账户
4、pacman 密钥初始化与修复
首次安装后,务必先完成密钥初始化,否则 pacman 无法正常安装/更新
以 root 运行(sudo -i
)
1 |
|
1 |
|
1 |
|
如果
pacman-key --init
很慢,属于 WSL 熵源不足常见现象;耐心等待或多次尝试。
5、可选优化:镜像源/代理/WSL 配置
1.pacman 镜像源
编辑 /etc/pacman.d/mirrorlist
,将速度更快的镜像放到顶部:
1 |
|
1 |
|
2.pacman.conf开启32位
1 |
|
1 |
|
保存后执行
1
sudo pacman -Sy archlinuxcn-keyring
[!IMPORTANT]
稳定更新流程(防
pacman -Syyu
闪退)
不要直接在 ArchWSL 里 pacman -Syyu
全量猛更,可能导致 glibc/bash 被热替换而 WSL 闪退
请使用 root 进行以下 分阶段、可恢复 的流程:
1 |
|
1 |
|
1 |
|
1 |
|
说明:
- 为什么忽略 glibc/filesystem/bash/coreutils? 这些在 WSL 中被正在运行的进程依赖,直接替换容易导致崩溃;分步更新能显著降低风险
- 若你曾经直接
-Syyu
导致“闪退”,请重开一个 管理员 PowerShell →wsl -d Arch -u root
,然后按上述步骤修复
6、让 WSL 使用 Windows 代理
1.在 WSL 中获取 Windows 主机 IP(WSL NAT 下):
1 |
|
临时设置代理(以 Clash 默认端口 7890 为例):
1 |
|
写入 ~/.bashrc
动态生效(每次启动自动识别当前 IP):
1 |
|
2.配置 .wslconfig
(内存/交换/端口转发)
在 Windows 11 新建/编辑:%UserProfile%\.wslconfig
:
1 |
|
应用新配置:
1 |
|
下次进入 WSL 生效
7、备份 / 恢复 / 迁移 / 卸载
1.备份当前发行版(在 PowerShell)
确认发行版名称(区分大小写):
1 |
|
例:Arch、Ubuntu-22.04、Debian等确保发行版处于停止状态(避免备份时写入变化):
1 |
|
确保目标磁盘有足够空间(至少比 Linux 根分区使用量大 10–20%)
备份命令(带时间戳)
1 |
|
1 |
|
1 |
|
[!TIP]
验证(可选)
看到命令执行结束且无报错,目标目录下出现
.tar
文件,检查文件大小是否合理(一般数 GB 以上)可用
tar
(或 7-Zip)测试读取:1
tar -tf "D:\WSL\backup\ArchWSL-$stamp.tar" | Select-Object -First 20
(可选)Windows 11自带 tar
不直接产出 .tar.gz
你可以用 7-Zip 压缩成 .7z
或 .zip
:
1 |
|
2.从备份导入为新的发行版(迁移/克隆)
用 .tar
备份创建一个新的 WSL 发行版(名称自取),这等同于克隆/迁移。确定新的发行版名称,且当前系统中尚未存在同名发行版(可用 wsl -l -v
查看)
提前创建安装目录(建议放到你希望的目标盘/路径;该目录将持久存放此发行版的虚拟磁盘与数据):
1 |
|
导入
1 |
|
1 |
|
参数解释:
Arch-Clone
:新发行版显示名称(可自定义)D:\WSL\Arch-Clone
:新发行版的数据目录(你指定的位置)ArchWSL-20250101-1200.tar
:之前导出的备份文件--version 2
:显式指定以 WSL2 创建
3.卸载(彻底移除一个发行版)
1 |
|
1 |
|
执行成功后,wsl -l -v
中将不再出现该发行版
[!IMPORTANT]
清理残留(按你的安装来源不同处理)
3.1 通过 wsl --import
创建的发行版:
其数据目录就是你当初 --import
时指定的路径(如 D:\WSL\Arch-Clone
)
--unregister
仅注销发行版,但不会删除这个目录
你可手动删除该目录来释放空间
3.2 通过 Microsoft Store / AppX 安装的发行版:
1 |
|
--unregister
后该 LocalState 目录会被清理;若仍有残留,可手动删除对应包目录(谨慎)
3.3 通过 ArchWSL 的 Arch.zip
(手动运行 Arch.exe)安装:
你的安装目录(放置 Arch.exe
的位置)就是虚拟磁盘位置
通常 --unregister
会删除相应虚拟磁盘。如果你另外在磁盘上保留了安装器文件夹(含 Arch.exe
、rootfs.tar.gz
等),可手动清理这些安装文件