Windows11安装WSL2(Windows Subsystem for Linux)

1 配置Windows环境

任务栏搜索功能,打开 启用或关闭Windows功能 界面,勾选以下两项,然后点击 确定。

然后 重启电脑。

2 安装Linux子系统

2.1 安装默认子系统版本:

bash 复制代码
# 下载安装速度比较慢,--web-download 参数提升下载速度
wsl --install --web-download

弹出的用户账户控制界面选择 是。

2.2 进入/退出Linux

bash 复制代码
# 进入
wsl -d Ubuntu

# 退出
exit

或者 PowerShell

3 迁移子系统到其他盘

子系统默认安装到C盘:

C:\Users\xxx\AppData\Local\wsl{0b1453cf-0d9f-477b-9258-feb84e4b5281}

为了不占用C盘,将子系统迁移到别的盘。

  1. 导出镜像
bash 复制代码
# 导出之前先关闭所有子系统
wsl --shutdown

# 导出到F盘
wsl --export Ubuntu F:\WSL\Ubuntu-24.04.tar
  1. 导入镜像到F盘
bash 复制代码
wsl --import Ubuntu-24.04 F:\WSL\Ubuntu-24.04 F:\WSL\Ubuntu-24.04.tar
  1. 卸载安装在C盘的子系统
bash 复制代码
wsl --unregister Ubuntu

附录一:wsl相关命令

  1. 安装与配置
bash 复制代码
# 安装WSL和默认Ubuntu发行版
wsl --install

# 查看可安装的Linux发行版
wsl --list --online
wsl -l -o

# 安装指定发行版
wsl --install -d Ubuntu-22.04
wsl --install -d Debian

# 更新WSL内核
wsl --update

# 设置WSL默认版本
wsl --set-default-version 2
  1. 查看与管理发行版
bash 复制代码
# 列出已安装的发行版
wsl --list --verbose
wsl -l -v

# 设置默认发行版
wsl --set-default Ubuntu-22.04

# 启动指定发行版
wsl -d Ubuntu-22.04

# 以root用户启动
wsl -u root

# 卸载已安装的发行版
wsl --unregister Ubuntu
  1. 系统控制
bash 复制代码
# 关闭所有WSL实例
wsl --shutdown

# 终止指定发行版
wsl --terminate Ubuntu-22.04

# 设置发行版版本
wsl --set-version Ubuntu 2
  1. 备份和迁移
bash 复制代码
# 导出发行版备份
wsl --export Ubuntu-22.04 D:\backup\ubuntu22.tar

# 从备份导入新实例
wsl --import Ubuntu-New D:\WSL\NewUbuntu\ D:\backup\ubuntu22.tar --version 2

# 自定义导入路径
wsl --import Ubuntu-Dev D:\WSL\MyUbuntu rootfs.tar.gz --version 2
  1. 访问Windows文件
bash 复制代码
# 进入C盘
cd /mnt/c/

# 访问用户目录
ls /mnt/c/Users/你的用户名/

# 创建桌面快捷链接
ln -s /mnt/c/Users/你的用户名/Desktop/ ~/Desktop

# 从WSL调用Windows命令
explorer.exe .          # 打开当前目录到资源管理器
code .                  # 用VSCode打开当前目录

# 从Windows复制文件到WSL
copy file.txt \\wsl$\Ubuntu-22.04\home\user\
  1. 高级用法
bash 复制代码
# 在PowerShell中运行WSL命令
wsl ls -la
wsl python3 /home/username/script.py

# 执行单行命令不进入交互
wsl -d Ubuntu-22.04 -e bash -c "ls /"

# 执行多个命令
wsl bash -c "cd /home && mkdir test && echo done"
相关推荐
像风一样自由20207 小时前
52.Docker部署大模型应用从本地开发到服务化运行
运维·人工智能·docker·容器·大模型·智能体
sxgzzn7 小时前
如何利用电缆故障定位在线监测系统提升供电安全?
运维·重构·无人机·开关柜局放在线监测·gis局放在线监测
曦夜日长7 小时前
Git系统篇,Git本地使用(一):从“究极进化版“到三个区域的底层原理
大数据·linux·git·elasticsearch
mengchanmian8 小时前
VSFTP 服务器搭建(Centos)
运维·服务器·centos
shimly1234568 小时前
给断网无 sudo ubuntu22.04 机器安装 nodejs
linux
别动我齐刘海9 小时前
Linux 系统调试学习1
linux·运维·服务器·c++·学习·机器学习·机器人
Lsetea9 小时前
OpenSSL报certificate chain too long:error 22与verify_depth深度排查
linux·https·ssl证书·openssl·证书链
不像程序员的程序媛11 小时前
linux常见文本操作命令
linux·运维·服务器
wangbing112511 小时前
开发指南149-IotDB-常用命令
linux·运维·iotdb
Dovis(誓平步青云)11 小时前
常用命令藏得太深?怎么做一个快捷命令坞
运维·前端·自动化·音视频·prometheus