安装WSL下的Linux子系统
在 Windows 11 电脑上安装 Linux 子系统(WSL2)的详细步骤
🔧 一、准备工作
- 启用虚拟化技术(默认已启用)
- 重启电脑,进入 BIOS/UEFI(开机时按
Del/F2/F10等键,因主板而异)。 - 在高级设置中启用 Intel VT-x 或 AMD-V 虚拟化支持。
- 保存设置并重启进入 Windows。
- 在任务管理器中确认已启用虚拟化技术。

- 重启电脑,进入 BIOS/UEFI(开机时按
- 启用 Windows 功能
- 在任务栏搜索 功能 或在控制面板中打开 启用或关闭 Windows 功能 。
- 勾选 Hyper-V 和 适用于 Linux 的 Windows 子系统 点击确定,按照提示重启电脑。
⚙️ 二、安装
-
通过终端安装默认的 Ubuntu 发行版
-
以管理员身份打开 PowerShell(右键开始菜单 → “终端管理员”):
1
wsl --install
-
此命令将启用运行 WSL 并安装 Linux 的 Ubuntu 分发所需的功能。
-
安装过程中会提示设置用户名和密码。
-
-
也可以安装其他 Linux 发行版
-
在终端中输入命令可获取所有可安装的发行版:
1
wsl --list --online
-
通过命令安装系统如 kali-linux:
1
wsl.exe --install kali-linux
-
-
当国内网络导致下载问题时
-
在命令后添加参数
--web-download:1
2wsl.exe --install --web-download
wsl.exe --install kali-linux --web-download
-
🐧 三、子系统的启动和停止
-
查看已安装的子系统列表
-
在 PowerShell 中执行命令:
1
wsl --list -v
-
包括系统名称、默认子系统、系统状态等基本信息。
-
可更改设置默认子系统:
1
wsl --set-default kali-linux
-
-
启动子系统
-
在终端的标签处下拉菜单选择需要的系统点击即可快速启动子系统。
-
-
结束子系统
- 直接关掉当前终端窗口标签页即可直接关闭子系统。
🔍 四、卸载备份与恢复
-
卸载命令
-
终端中执行卸载命令:
1
2wsl --unregister Ubuntu
# Ubuntu 为待卸载系统名,可由 wsl -l -v 命令获取
-
-
备份命令
-
在 指定文件夹运行终端,执行备份命令:
1
2
3wsl --export Ubuntu ubuntu.tar
# Ubuntu 为待备份系统名,由 wsl -l -v 命令获取
# ubuntu.tar 为备份文件名与压缩格式
-
-
备份导入
-
终端中执行导入命令:
1
2
3
4wsl --import Ubuntu2 D:/wsl C:\Users\<username>\Desktop\ubuntu.tar
# Ubuntu2 为新定义的系统名
# D:/wsl 为导入后系统创建 vhdx 文件的路径
# C:\Users\<username>\Desktop\ubuntu.tar 为备份文件的地址
-
⚡ 五、高级配置(可选,未测试)
-
迁移存储位置到非系统盘
-
关闭 WSL:
wsl --shutdown -
将
ext4.vhdx文件(默认位于C:\Users\<用户名>\AppData\Local\Packages\<发行版文件夹>\LocalState)剪切到目标盘(如D:\WSL)。 -
管理员 CMD 中创建符号链接:
1
2mklink /J "原路径" "D:\WSL"
```:cite[2]:cite[7]。
-
-
安装 SSH 服务(支持远程连接)
-
Linux 子系统中执行:
1
2sudo apt install openssh-server
sudo vi /etc/ssh/sshd_config修改以下两项:
1
2PermitRootLogin yes
PasswordAuthentication yes重启服务:
sudo service ssh restart。
-
-
安装图形化桌面(如 GNOME)
-
安装桌面环境:
1
sudo apt install ubuntu-desktop
-
安装远程桌面服务:
1
2
3
4sudo apt install xrdp
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini # 避免端口冲突
echo "gnome-session" > ~/.xsession
sudo systemctl restart xrdp -
Windows 端按
Win+R输入mstsc,连接localhost:3390。
-
⚠️ 六、常见问题解决
- WSL2 安装报错:确保已开启 BIOS 虚拟化,且 Hyper-V 未占用资源。
- 启动卡顿:检查系统更新(
设置 → Windows 更新),或手动更新内核包。 - 文件互传:直接通过
\\wsl$访问,或在 Linux 中操作/mnt/c下的 Windows 文件。
💎 总结
通过上述步骤,你的 Windows 11 已完整集成 Linux 子系统,可无缝使用命令行工具、开发环境及图形界面。后续建议:
1️⃣ 定期运行 sudo apt update && upgrade 保持更新;
2️⃣ 使用 VS Code 安装 Remote - WSL 插件 提升开发效率;
3️⃣ 关键操作前备份数据(导出系统:wsl --export <发行版> <备份路径>)。
参考文档:微软官方 WSL 文档 | WSL2 内核更新包。
(WSL)操作使用遇到问题
遇到权限访问问题:
如显示:PermissionError: [Errno 13] Permission denied: ‘/data’
表示没有访问/data的权限。
1 | # 查看权限: |
可能没有权限:
1 | # 输出: |
可能目录不存在:
1 | # 输出: |
遇到Nvidia库文件找不到问题
如在进行训练时显示,如:
1 | Could not load library libcudnn_cnn_infer.so.8. Error: libcuda.so: cannot open shared object file: No such file or directory |
表示:你的系统无法与 NVIDIA GPU 通信
这通常由以下三种情况导致:
- NVIDIA 驱动程序没有正确安装。 (最常见)
- NVIDIA 驱动程序已安装,但其库文件路径不在系统的动态链接器搜索路径中。
- 你在一个没有 GPU 支持的环境中运行(如某些 Docker 容器)。
先确认驱动程序已安装、执行nvidia-smi有正常显示。
确认库文件是否存在:
1 | sudo find /usr -name "libcuda.so*" |
检查环境变量输出是否为空:
1 | echo $LD_LIBRARY_PATH |
设置环境变量永久解决问题:
1 | echo 'export LD_LIBRARY_PATH=/usr/lib/wsl/lib:$LD_LIBRARY_PATH' >> ~/.bashrc |
代理使用问题
-
windows下已经安装clash并已经启用系统代理。
-
确保clash已安装并启用tun代理模式。
-
测试windows下和wls下代理状态是否正常?
1 | ping google.com |