系统学习 Windows 学习路径:从 CMD 到 PowerShell、系统网络,再到 WSL 与 Server

wsl

启动和管理 WSL 发行版,在 Windows 上运行 Linux。

补充说明

wsl 负责启动默认发行版、安装和列出发行版、切换 WSL1/WSL2、导入导出以及关机。WSL1 把 Linux 系统调用翻译到 Windows 内核,启动快、访问 Windows 文件方便,但没有真实 Linux 内核,兼容性和 systemd 支持有限;WSL2 在轻量虚拟机里运行微软维护的 Linux 内核,系统调用兼容、支持 systemd 和容器,但跨系统访问 /mnt/c 明显更慢。WSL2 是当前默认版本。

版本前提:wsl --install 一键安装要求 Windows 10 2004+(Build 19041+)或 Windows 11;WSL2 本身要求 Windows 10 1903+(Build 18362+)或 Windows 11,并在固件中开启虚拟化。更老的系统要手工启用“适用于 Linux 的 Windows 子系统”和“虚拟机平台”功能。wsl --install 需要管理员权限,装完通常要重启或注销。

边界:WSL 不是双系统,也不是完整的桌面替代;图形应用依赖 WSLg,服务器能力受发行版和内核配置限制。发行版数据默认在 WSL2 的 ext4.vhdx 里;wsl --unregister 会永久删除该发行版和全部数据,没有回收站。修改 .wslconfig 或转换版本后,通常要 wsl --shutdown 才生效。

常用示例

# 1. 查看默认发行版、默认版本和内核状态
C:\> wsl --status

# 2. 列出所有发行版及 WSL1/WSL2 版本,* 表示默认发行版
C:\> wsl --list --verbose

# 3. 查看可安装发行版并安装 Ubuntu(需要管理员和网络)
C:\> wsl --list --online
C:\> wsl --install -d Ubuntu

# 4. 以 root 在指定发行版执行命令,不进入交互 shell
C:\> wsl -d Ubuntu -u root -- apt-get update

# 5. 在指定发行版的家目录启动,避免落在 /mnt/c
C:\> wsl -d Ubuntu --cd ~

# 6. 新安装默认用 WSL2;已有发行版用 --set-version 转换
C:\> wsl --set-default-version 2
C:\> wsl --set-version Ubuntu 2

# 7. 先导出备份,再导入到新位置或新机器
C:\> wsl --export Ubuntu C:\backup\ubuntu.tar
C:\> wsl --import Ubuntu C:\wsl\Ubuntu C:\backup\ubuntu.tar --version 2

# 8. 关闭全部 WSL(会中断所有发行版)或只终止某一个
C:\> wsl --shutdown
C:\> wsl --terminate Ubuntu

易错点与排错

相关命令

参考链接

读完自测

合上页面,先回答,再展开对照。

  1. WSL1 和 WSL2 的核心架构差异是什么?各自适合什么场景?
  2. wsl --set-default-version 2 能让已有 Ubuntu 变成 WSL2 吗?
  3. wsl --unregister 的危险在哪里?执行前和回滚时分别怎么做?
答案
  1. WSL1 翻译 Linux 系统调用到 Windows 内核,访问 Windows 文件快但兼容性有限;WSL2 在轻量 VM 中跑真实 Linux 内核,兼容性和 Linux 文件性能更好,但跨系统访问慢。
  2. 不能;它只影响新安装的发行版,已有发行版要执行 wsl --set-version Ubuntu 2。
  3. 会永久删除该发行版及全部数据;执行前 wsl --export 备份,回滚用 wsl --import 导入备份。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令