Win11_24H2安装WSL2
启用功能
- 启用「Hyper-V」
- 启用「Windows虚拟机监控程序平台」和「适用于Linux的Windows子系统」
- 重启计算机
- 将 WSL 默认版本设置为 WSL2(我这里的Windows版本已经默认设置为WSL2了,Win10低版本需要手动设置)
Win10手动更新wsl内核至wsl2
进入这个页面:WSL更新页面手动下载,下载Windows Subsystem for Linux Update - 5.10.102.2
,然后手动运行,如果失败请查看解决使用wsl_update_x64.msi手动更新wsl内核失败问题
WSL2安装Ubuntu
-
更新Linux子系统
1
wsl.exe --update
-
查看可用的 WSL 发行版:
1
wsl --list --online
输入如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
PS C:\Users\xh> wsl --list --online 以下是可安装的有效分发的列表。 使用“wsl.exe --install <Distro>”安装。 NAME FRIENDLY NAME AlmaLinux-8 AlmaLinux OS 8 AlmaLinux-9 AlmaLinux OS 9 AlmaLinux-Kitten-10 AlmaLinux OS Kitten 10 AlmaLinux-10 AlmaLinux OS 10 Debian Debian GNU/Linux FedoraLinux-42 Fedora Linux 42 SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5 SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6 Ubuntu Ubuntu Ubuntu-24.04 Ubuntu 24.04 LTS archlinux Arch Linux kali-linux Kali Linux Rolling openSUSE-Tumbleweed openSUSE Tumbleweed openSUSE-Leap-15.6 openSUSE Leap 15.6 Ubuntu-18.04 Ubuntu 18.04 LTS Ubuntu-20.04 Ubuntu 20.04 LTS Ubuntu-22.04 Ubuntu 22.04 LTS OracleLinux_7_9 Oracle Linux 7.9 OracleLinux_8_7 Oracle Linux 8.7 OracleLinux_9_1 Oracle Linux 9.1
-
安装20.04版本
1
wsl --install -d Ubuntu-20.04
-
设置用户名和密码
-
完成
常用指令
wsl -l -v
:查看已安装的发行版及其状态wsl -d Ubuntu-20.04
:-d代表启动指定版本
WSL安装的子系统可以直接访问Windows中的文件,例如D盘挂载到Ubuntu的/mnt路径下
换源
国内直接访问Linux官方的服务器还是挺慢的,这里换成国内的阿里源:
-
将系统源文件复制一份备用
1
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
-
用vim编辑器打开源文件
1
sudo vim /etc/apt/sources.list
-
清空sources.list文件(vim输入49dd即可清空),并粘贴国内源
1 2 3 4 5 6 7 8 9 10
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
-
更新
1
sudo apt-get -y update && sudo apt-get -y upgrade
VS Code连接
-
WSL终端安装open-ssh
1
sudo apt update && sudo apt install openssh-server -y
-
修改ssh配置 编辑
/etc/ssh/sshd_config
:1
sudo vim /etc/ssh/sshd_config
修改以下关键配置:
1 2 3
Port 2222 # 避免和 Windows 的默认 SSH 端口 22 冲突 ListenAddress 0.0.0.0 # 允许所有 IP 连接 PasswordAuthentication yes # 允许密码登录(可选,建议用密钥)
-
重启ssh服务
1
sudo service ssh restart
检查是否运行:
1
sudo service ssh status
-
配置 Windows 防火墙 打开2222端口,在 PowerShell(管理员) 运行:
1
New-NetFirewallRule -DisplayName "WSL SSH" -Direction Inbound -LocalPort 2222 -Protocol TCP -Action Allow
或者手动在 Windows Defender 防火墙 中修改也可以
-
获取WSL的IP地址 WSL 每次启动时 IP 可能变化,可以通过以下方式获取: 在WSL中输入:
1
hostname -I
或者在PowerShell 运行:
1
wsl hostname -I
推荐直接通过
localhost
进行连接,当WSL启动多个系统时,可以按端口号进项区分。 -
免密登录(可选) 在 PowerShell 运行:
1
ssh-keygen -t ed25519
默认保存在
C:\Users\你的用户名\.ssh\id_ed25519
。 复制公钥到WSL用户的~/.ssh/authorized_keys
文件中,即可免密登录
解决使用wsl_update_x64.msi手动更新wsl内核失败问题
-
打开「设置」>「应用」>「应用和功能」,搜索 “Windows Subsystem for Linux Update” ,然后手动尝试卸载
- 如果卸载成功,再运行
wsl_update_x64.msi
就可以正常更新了 - 如果卸载失败,需要接着往下看。
- 如果卸载成功,再运行
-
记下刚才搜索到的 Windows Subsystem for Linux Update 版本号,访问:WSL更新页面手动下载
例如,你搜索到的是 5.10.16 旧版本,就是下载 5.10.16 ,下载 msi 包目的是卸载!不是更新!
-
右键刚才下载的 msi 包,点击卸载,大概率会提示 “无法访问你试图使用的功能所在的CD-ROM或其他可移动式磁盘” 。
然后,点击浏览,手动定位你当前的 msi 包,就可以成功卸载 WSL内核,再尝试运行
wsl_update_x64.msi