wsl简单说明
WSL2(Windows Subsystem for Linux 2)是 Windows 提供的一种轻量级 Linux 运行环境,具备完整的 Linux 内核,并支持更好的文件系统性能和兼容性。它允许用户在 Windows 系统中运行 Linux 命令行工具和应用程序,而无需安装虚拟机或双系统
总结就是,你没有特别的需求就不需要使用vmware去安装Linux系统了,wsl直接帮你实现
wsl我们可以用来做什么呢?
- 作为开发,我们Windows使用redis很麻烦是吧,虽然不麻烦但是版本管理什么的呢
- 想在本地部署项目验证不方便吧
- docker环境在windows不好用是吧
- 有的都有的,使用了wsl你都可以轻松解决这些问题!
只要我们安装了wsl的Linux系统,我们就可以通过安装宝塔/1panel,然后实现在虚拟机环境部署各种环境.

接下来我们开始安装吧
✅ 一、基础系统要求
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 10 版本 2004 及以上(Build 19041+)<br>或 Windows 11 |
| 架构 | 64 位系统(x64 或 ARM64)<br>❌ 不支持 32 位(x86) |
| 管理员权限 | 安装时需要管理员权限 |
| 磁盘空间 | 至少 1 GB(建议 10 GB 以上,用于系统和应用) |
| 内存 | 至少 4 GB RAM(建议 8 GB 或以上) |
📌 查看你的 Windows 版本:
- 按
Win + R→ 输入winver→ 回车- 确保版本号 ≥ 2004,内部版本 ≥ 19041
✅ 二、WSL1 与 WSL2 的区别要求
| 功能 | WSL1 | WSL2 |
|---|---|---|
| 内核 | 用户模式翻译层 | 完整 Linux 内核(轻量级虚拟机) |
| 性能(文件 I/O) | ⚠️ 较慢(跨系统调用) | ✅ 快(原生 Linux 文件系统) |
| 网络支持 | ✅ 支持 localhost 直接访问 |
✅ 支持,但需端口转发给外部 |
| systemd 支持 | ❌ 不支持 | ✅ 可启用 |
| 图形界面(GUI) | ❌ 不支持 | ✅ 可通过 WSLg 支持 |
| 虚拟化依赖 | ❌ 不需要 | ✅ 需要 Hyper-V 虚拟机平台 |
| 嵌套虚拟化 | N/A | ✅ 可在 WSL2 中运行 Docker |
🔁 推荐使用 WSL2,性能更好,功能更完整。
✅ 三、启用 WSL2 的额外要求
WSL2 基于 Hyper-V 虚拟化技术,因此需要以下支持:
1. 开启虚拟化
- 进入 BIOS/UEFI,启用:
- Intel VT-x / AMD-V
- SVM Mode(AMD)或 Intel Virtualization Technology
- 在 Windows 中确认已开启:
- 任务管理器 → “性能”选项卡 → CPU → 查看“虚拟化”是否已启用
2. 启用 Windows 功能
以管理员身份运行 PowerShell:
# 启用 WSL 和虚拟机平台
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
这里我贴一下我使用的电脑环境

好了废话不多说,你的系统满足后,我们直接开始了,就不看理论了,这里我只展示一下系统的安装和使用系统,需要深入学习的大家自己去找资料。
以下是 WSL(Windows Subsystem for Linux)的完整常用命令列表,涵盖安装、管理、配置、导入导出等所有核心操作。
📚 一、基础命令(通用)
| 命令 | 说明 |
|---|---|
wsl |
启动默认 Linux 发行版 |
wsl [命令] |
在默认发行版中运行一条命令<br>例:wsl ls -la |
wsl --help |
查看所有可用命令 |
🧩 二、发行版管理
1. 查看已安装的发行版
wsl --list
# 或简写
wsl -l
2. 查看所有可用发行版(包括未安装的)
wsl --list --online
# 或
wsl -l -o
3. 安装发行版(从 Microsoft Store)
wsl --install -d <发行版名称>
wsl --install -d Ubuntu
wsl --install -d Debian
wsl --install -d KaliLinux
wsl --install -d OracleLinux_9_5
🔧 三、版本控制(WSL1 vs WSL2)
1. 设置默认版本为 WSL2
wsl --set-default-version 2
📦 四、导入/导出/备份(高级用法)
1. 导出发行版为 tar 文件(备份/帮助你把wsl的系统安装到别的盘使用)
wsl --export <发行版名称> <导出路径.tar>
wsl --export Ubuntu D:\backup\ubuntu-backup.tar
2. 导入 tar 镜像为新发行版
wsl --import <新名称> <安装路径> <tar文件路径> --version 2
wsl --import MyUbuntu D:\wsl\MyUbuntu D:\backup\ubuntu-backup.tar --version 2
🚪 五、启动与关闭
1. 启动指定发行版
wsl -d <发行版名称>
wsl -d Ubuntu
2. 设置默认发行版
wsl --set-default <发行版名称>
wsl --set-default Ubuntu
3. 关闭(终止)发行版
# 关闭某个发行版
wsl --terminate <发行版名称>
# 示例
wsl --terminate Ubuntu
4. 关闭所有 WSL 实例
wsl --shutdown
✅ 常用于:
- 重启网络
- 释放磁盘占用
- 解决卡顿问题
🗑️ 六、卸载/删除发行版
1. 卸载发行版(保留应用商店入口/你下载的这些镜像可以在微软商店看见)
wsl --unregister <发行版名称>
wsl --unregister Ubuntu
📁 八、文件系统交互(Windows ↔ Linux)
1. 在 Windows 中访问 Linux 文件
\\wsl$\Ubuntu\home\username
在文件资源管理器中输入即可。
2. 在 Linux 中访问 Windows 文件
cd /mnt/c # C 盘
cd /mnt/d # D 盘
cd /mnt/c/Users/用户名/Desktop
🛠️ 九、常用组合命令(实用技巧)
1. 一键安装并设置 WSL2
wsl --install -d Ubuntu
wsl --set-default-version 2
2. 备份 + 迁移系统
wsl --shutdown
wsl --export Ubuntu D:\backup\ubuntu.tar
wsl --unregister Ubuntu
wsl --import Ubuntu D:\wsl\Ubuntu D:\backup\ubuntu.tar --version 2
3. 设置默认用户为 root(需提前创建 wsl.conf)
# 在导入后,创建 D:\wsl\Ubuntu\wsl.conf
echo '[user]' > D:\wsl\Ubuntu\wsl.conf
echo 'default=root' >> D:\wsl\Ubuntu\wsl.conf
✅ 总结:最常用命令速查表
| 目的 | 命令 |
|---|---|
| 查看所有发行版 | wsl -l -v |
| 安装 Ubuntu | wsl --install -d Ubuntu |
| 设置默认版本为 WSL2 | wsl --set-default-version 2 |
| 转换为 WSL2 | wsl --set-version Ubuntu 2 |
| 导出备份 | wsl --export Ubuntu D:\backup.tar |
| 导入系统 | wsl --import MyOS D:\wsl D:\backup.tar |
| 关闭所有 WSL | wsl --shutdown |
| 卸载系统 | wsl --unregister Ubuntu |
| 更新内核 | wsl --update |
教程开始
1.打开PowerShell 管理员身份打开,输入
wsl --list --online

我们本次使用这个系统,你们也可以使用别的
2.输入
wsl --install -dUbuntu
安装有点慢,有条件的开梯子。

接下来就是创建账号,密码,自己按需求设置
接下里我们就进入了系统,使用sudo -i获取root权限,提示输入密码,就是你刚才设置的密码,大家有需要的可以给root设置一个自己记得的密码

3.现在系统安装好了,我们不要急着操作,目前安装的这个linux系统是在c盘的,我们要把他弄到其余盘符,不需要的可以跳过这一步。
使用导出功能,先输入exit退回到普通账号,在输入移除exit回到powershell界面,然后看图

我的OracleLinux是我安装过其余的系统,你们无需理会,这里面做的操作是先把你刚安装的ubuntu系统导出到d盘,然后在把你刚才安装的系统卸载了。
接下来就是导入

我们已经成功导入,并把系统放到了d盘

很好,这样就不会占用c盘的内存了
4.接下来我们开始安装必要的库文件,待会好安装宝塔
✅ 一、更新系统软件包(第一步,必须做)
# 更新软件源列表
sudo apt update
# 升级所有已安装的包
sudo apt upgrade -y
# 清理无用包(可选)
sudo apt autoremove -y
⏱️ 首次运行可能需要几分钟,请耐心等待。
✅ 二、安装宝塔面板编译/运行所需的核心工具
宝塔面板虽然提供一键安装脚本,但为了确保顺利安装和后续使用(如编译PHP、Nginx等),建议先安装以下常用开发工具和依赖:
1. 安装基础编译工具(必备)
sudo apt install -y \ build-essential \ gcc \ g++ \ make \ cmake \ autoconf \ automake \ libtool \ pkg-config
build-essential:包含 GCC、G++、make 等核心编译工具cmake:现代 C/C++ 项目构建工具autoconf/automake/libtool:用于编译开源软件(如 Nginx、MySQL)
2. 安装常用库和开发头文件
sudo apt install -y \ libssl-dev \ libpcre3-dev \ zlib1g-dev \ libsqlite3-dev \ libbz2-dev \ libreadline-dev \ libffi-dev \ libncurses5-dev \ liblzma-dev \ uuid-dev \ libedit-dev
| 库 | 用途 |
|---|---|
libssl-dev |
OpenSSL,用于 HTTPS、SSL 加密 |
libpcre3-dev |
Nginx、Apache 正则支持 |
zlib1g-dev |
压缩支持(gzip) |
libsqlite3-dev |
SQLite 数据库支持 |
libbz2-dev |
bzip2 压缩支持 |
libreadline-dev |
命令行历史、补全 |
libffi-dev |
Python 调用 C 库 |
uuid-dev |
生成唯一 ID |
3. 安装 Python 相关工具(宝塔依赖)
sudo apt install -y \ python3 \ python3-pip \ python3-dev \ python3-venv \ python3-setuptools
宝塔面板使用 Python3 构建,这些是必须的。
4. 安装其他常用工具(推荐)
sudo apt install -y \ curl \ wget \ git \ vim \ net-tools \ iproute2 \ dnsutils \ htop \ unzip \ zip \ sudo \ software-properties-common \ apt-transport-https \ lsb-release
| 工具 | 用途 |
|---|---|
curl/wget |
下载文件 |
git |
版本控制 |
vim |
文本编辑器 |
net-tools |
ifconfig 命令 |
iproute2 |
ip addr 等网络命令 |
htop |
进程监控 |
unzip/zip |
解压缩 |
sudo |
权限管理 |
software-properties-common |
添加 PPA 源 |
✅ 三、验证安装是否成功
# 检查 GCC gcc --version # 检查 Python3 python3 --version # 检查 make make --version # 检查 OpenSSL 开发库 pkg-config --exists openssl && echo "OpenSSL dev installed" || echo "Not found"
✅ 四、为宝塔面板做准备
1. 创建 swap 交换空间(可选但推荐)
WSL 默认没有 swap,建议创建一个 2GB 的 swap 文件,防止编译时内存不足。
# 创建 2GB swap 文件
sudo fallocate -l 2G /swapfile
# 设置权限
sudo chmod 600 /swapfile
# 格式化为 swap
sudo mkswap /swapfile
# 启用 swap
sudo swapon /swapfile
# 添加到 fstab(重启后仍有效)
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
💡 2GB 足够编译 PHP/Nginx。
接下来开始安装宝塔
if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec

很好完成了

上面给出的内网和公网链接,不出意外你是访问不了的,你可以在本地浏览器通过locohost去访问

细心的朋友就发现了,使用本地的局域网Ip也无法访问,例如


这个时候就不用着急,首先在ubuntu系统里面 ip addr 看看IP,然后单独启动一个powershell 然后输入这个端口转发的命令,就解决了。

netsh interface portproxy add v4tov4 listenport=23066 listenaddress=0.0.0.0 connectport=23066 connectaddress=172.25.234.18
教程到这里就结束了,相信大家都会使用宝塔的,自己登录进去折腾吧
后面发现这样弄太麻烦了,每一个端口都需要单独放行,现在还有一个办法

创建一个这个文件
[experimental]
networkingMode=mirrored
dnsTunneling=true
autoProxy=true
hostAddressLoopback=true
输入这个内容,然后搜索这个应用


然后去关闭正在运行的wsl系统 重新启动,wsl –shutdown 然后wsl启动

这个是删除端口转发的例子,可以删除上面的转发。
netsh interface portproxy show v4tov4
netsh interface portproxy delete v4tov4 listenport=8901 listenaddress=0.0.0.0
2025-09-22 10:56:56,某些文章具有时效性,若有错误或已失效,请在下方
留言。












暂无评论内容