简介
适用于 Linux 的 Windows 子系统 (WSL) 是 Windows 的一项功能,可用于在 Windows 计算机上运行 Linux 环境,而无需单独的虚拟机或双引导。 WSL 旨在为希望同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验。
特点
使用 WSL 安装和运行各种 Linux 发行版,例如 Ubuntu、Debian、Kali 等。 安装 Linux 发行版并从 Microsoft Store 接收自动更新、导入 Microsoft Store 中没有的 Linux 发行版,或构建你自己的定制 Linux 发行版。
将文件存储在独立的 Linux 文件系统中,具体取决于安装的发行版。
运行命令行工具,例如 BASH。
运行常用的 BASH 命令行工具(例如
grep、sed、awk)或其他 ELF-64 二进制文件。运行 Bash 脚本和 GNU/Linux 命令行应用程序,包括:
工具:vim、emacs、tmux
服务:SSHD、MySQL、Apache、lighttpd、MongoDB、PostgreSQL。
使用自己的 GNU/Linux 分发包管理器安装其他软件。
使用类似于 Unix 的命令行 shell 调用 Windows 应用程序。
在 Windows 上调用 GNU/Linux 应用程序。
运行直接集成到 Windows 桌面的 GNU/Linux 图形应用程序
使用你的设备 GPU 加速 Linux 上运行的机器学习工作负载。
WSL1 与 WSL2
| 功能 | WSL 1 | WSL 2 |
|---|---|---|
| Windows 和 Linux 之间的集成 | ✅ | ✅ |
| 启动时间短 | ✅ | ✅ |
| 与传统虚拟机相比,占用的资源量少 | ✅ | ✅ |
| 可以与当前版本的 VMware 和 VirtualBox 一起运行 | ✅ | ❌ |
| 托管 VM | ❌ | ✅ |
| 完整的 Linux 内核 | ❌ | ✅ |
| 完全的系统调用兼容性 | ❌ | ✅ |
| 跨 OS 文件系统的性能 | ✅ | ❌ |
| systemd 支持 | ❌ | ✅ |
| IPv6 支持 | ✅ | ✅ |
开始使用
以下命令均在 CMD(命令提示符) 或 Windows PowerShell 中执行。
可安装列表
wsl --list --online安装 WSL
wsl --install <NAME>NAME指定镜像,默认值Ubuntu--distribution <NAME>同义
--no-launch安装但不启动--web-download通过网络下载,默认通过Microsoft Store安装--inbox使用Windows更新渠道,默认通过Microsoft Store更新
💡安装过程中会提示您配置账户信息,且请勿使用
root作为用户名。配置用户名:
Enter new UNIX username配置密码:
New password二次确认:
Retype new password
已安装列表
wsl --list --verbose如果您使用 Docker Desktop 应用程序,那么您可能会发现 以下子系统。您无法直接使用此系统。
docker-desktopdocker-desktop-data
升级更新
wsl --update--web-download从 GitHub 而不是 Microsoft Store 下载最新更新。
WSL 状态
wsl --status版本信息
wsl --version关闭 WSL
wsl --shutdown卸载 WSL
wsl --unregister <NAME>NAME您即将卸载的子系统名称
启用 Root 用户
由于安装时默认创建的用户不能为 root 因此,安装后可通过以下命令初始化 root 用户。
请确认已经入 wsl 系统命令提示符中。
如果显示结构为:<username>@<hostname>:~$ 即可说明已进入子系统中。
sudo passwd root过程中,需要输入三遍密码。
第一遍:[sudo] password for <username> 您安装时创建的用户密码
第二遍:New password root 用户的密码
第三遍:Retype new password 确认 root 用户密码
修改默认登录用户
1. 切换到 root
su修改文件
vi /etc/wsl.conf添加配置
[user]
default=root保存并重启
exit
exit
wsl --shutdown通过 CTRL + C 与 wq 保存退出 vim 编辑器。
exit 分别是退出root用户,退出<username> 用户,将会回到主机命令提示中。关闭WSL,之后通过开始菜单启动 WSL 即可直接进入子系统。
开启 SSH
sudo apt update
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh
sudo systemctl status ssh允许 root 登录 ssh
修改SSH配置文件
vi /etc/ssh/sshd_configPermitRootLogin yes保存后重启服务:ssh 与 sshd
启用 Docker
我们更推荐您独立安装 Docker 避免造成不必要的麻烦。
直通主机
如果您已经安装 Docker Desktop 桌面端应用,可通过配置直通子系统。
如果这样做,当您需要使用Docker时必须同时开启主机系统的Docker程序。

独立安装
安装 Docker Engine 仓库
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update安装 Docker Engine
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin修改网络模式
将 NAT 网络修改为 主机网络模式
在 系统盘 >> Users >> 用户名 >> 创建文件 >> .wslconfig
[experimental]
autoMemoryReclaim=gradual
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true安装 1Panel
通过脚本一键安装,同时将会安装 Docker
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh安装第三方应用商店
查看网络信息
您需要先安装网络工具,才能正常使用命令。
apt install net-toolsifconfig -a