安装wsl2需要Windows 10 2004以上版本或者Windows11,且需要为专业版及以上,不满足条件请放弃或自行升级系统
除此以外还需要检查是否已开启CPU虚拟化和虚拟机平台
打开任务管理器(Ctrl Alt Esc),切换到性能,可以在如图中看到CPU虚拟化的状态,默认是禁用,需要进入Bios开启,不同厂商主板Bios不尽相同,请自行查询,常规理性而言,会是CPU Configuration里的SVM字样设置
成功开启CPU虚拟化后,在搜索栏中搜索功能,即可出现“启用或关闭Windows功能”。如果没有,或者关闭了搜索栏,可以在控制面板-程序-程序和功能中找到此项
勾选虚拟机平台,单击确定,等待安装完成后重启
安装WSL2安装你想要安装的Linux分发版,本篇以Ubuntu20.04为列。
如果存在应用商店网络问题,可以尝试使用Host修改工具(www.dogfight360.com/blog/475/)修改微软商店相关的地址
打开Ubuntu20.04,进行初次安装和用户设置,正常会出现这样一个窗口:
出现“Enter new UNIX username:”后就可以开始设置用户名和密码了,这里自行填写你想设定的内容,设置完之后就会登入Ubuntu了
然后需要检查wsl的版本,我们需要WSL2而不是wsl
按win r, 输入cmd,以打开cmd终端,输入以下代码以查看安装的linux发行版列表
wsl -l -v
如果version为2,说明已经安装为wsl2版本,如果为1,输入以下代码:
wsl --set-version Ubuntu-20.04 2 #将Ubuntu-20.04替换为你所下载安装的Linux分发版名称
至此,WSL2的安装已经完成。
然而在这里,会存在一个问题。 每次启动时, Ubuntu的Ip无法固定。
固定WSL IP地址:将下面代码保存为bat文件,当你要使用Ubuntu系统时,先用管理员权限运行该bat文件,用来设置固定IP地址。
@echo off
setlocal enabledelayedexpansion
wsl --shutdown ubuntu
wsl -u root service ssh start | findstr "sshd" > nul
if !errorlevel! equ 0 (
echo ssh start success
wsl -u root ip addr | findstr "172.29.240.181" > nul
if !errorlevel! equ 0 (
echo wsl ip has set
) else (
wsl -u root ip addr add 172.29.240.181/24 broadcast 172.29.240.0 dev eth0 label eth0:1
echo set wsl ip success: 172.29.240.181
)
ipconfig | findstr "172.29.240.100" > nul
if !errorlevel! equ 0 (
echo windows ip has set
) else (
netsh interface ip add address "vEthernet (WSL)" 172.29.240.100 255.255.255.0
echo set windows ip success: 172.29.240.100
)
)
pause
这样每次,启动的Ubuntu-20.04 所使用的IP 都一致。