简介
适用于 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-desktop
docker-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_config
PermitRootLogin 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-tools
ifconfig -a