1.、Windows11家庭版开启hyper-v
安装WSL2首先要保证操作系统可以开启hyper-v功能,默认支持开启hyper-v的版本为:Windows11企业版、专业版或教育版,而家庭版是不支持开启的,但是我们如果是家庭版,可以自行安装相关组件来开启hyper-v功能。
开启步骤
- 任意目录创建文本文件,将以下代码复制并保存在文件内。
pushd "%\~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
2. 将文件重新命名为:hyper-v.bat,名称可以随意取,但是扩展名要为【.bat】这个表示可执行文件。
3. 右键【hyper-v.bat】文件,选择【以管理员身份运行】
4. 等待指令执行完毕后,会提示输入【y】以重启计算机。如已经准备好重启,此时输入【y】即可。
5. 电脑重启后,在windows功能列表里找到Hyper-V,勾选即可。
2、启用window子系统及虚拟化
以管理员身份打开windows powershell ,输入以下命令
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
3、手动安装
安装wsl2有手动安装和自动安装两种方式,手动安装比较慢,但相比与自动安装可以自己控制每个环节,可以一定程度上离线;而且在线可能需要科学上网,这个时候我们离线安装都是非常有必要的。
3.1、安装内核更新包
windows powershell ,输入以下命令
wsl --update
3.2、设置默认WSL版本
将 WSL 默认版本设置为 WSL 2
wsl --set-default-version 2
3.3、安装分发版本
我们使用ubuntu,具体的可以是ubuntu20.04,选择你需要的版本即可。下载分发系统一定要用官方的,它是带有支持图形界面功能的。
官方教程 http://learn.microsoft.com/zh-cn/windows/wsl/install-manual,正常是要通过 microsoft store来下载安装的,但这样安装会默认放到c盘,但如果两个系统都装在c盘,可能会不够用。如果有需要可以先安装在c盘,再迁移到其它盘,或都直接在其它盘安装。也有一个担心就是安装在其它盘,会无法使用图形界面。
3.3.1 下载发行版本
官方是有提供单独下载的功能的,这样我们选择20.04进行下载。可以用命令行方式:
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing
或者
curl.exe -L -o ubuntu-2004.appx https://aka.ms/wslubuntu2004
3.4 安装到C盘
安装前,系统中没有安装其它系统
wsl -l -v
双击或通过命令行方式即可安装
Add-AppxPackage .\Ubuntu.appx
安装完后,输入用户名和密码即可,接着进入子系统:
输入exit可以退出,如果看到升级提示,可以执行:
wsl.exe --update
至此,我们完成子系统的安装。
3.5 安装到D盘
3.5.1 导出镜像
windows系统盘c盘可能很小,所以最好移动到其它盘,比如D盘。
导出前无需关掉该镜像
3.5.2 导入镜像
wsl --import <导入Linux名称> <导入盘的路径> <导入tar包路径> 版本(代表wsl2)
wsl --import Ubuntu1 D:\WSL1 D:\WSL1\ubuntu.tar --version 2
导入盘的路径可以理解为安装的位置。可以看到文件夹下多一个ext4.vhdx文件夹:
接着查看当前所有的系统
如果要取消C盘安装:
可以执行:
wsl -t -d Ubuntu #或 wsl --shutdown
wsl --unregister Ubuntu
这里我们只保留c盘的。
此时vhdx文件会被删除。如果某一天C盘空间不够用,可以导出,移到其它盘。
导入后,进入时是root用户,设默认用户参考https://blog.csdn.net/weixin_43408232/article/details/128606034
3.5.3 默认系统设置及多系统选择
这时可以看到有两个。带*花的是默认系统,当输入“wsl",后会启动该系统,否则,我们要启同的同的系统需要指定:
wsl -d Ubuntu1
设置默认系统:
wsl --set-default Ubuntu1 # 或wsl -s Ubuntu1
此后,在命令行中输入wsl即可启动Ubuntu1.
3.5.4 vhdx文件导入
有时重装系统或者想把ext4.vhdx文件拿到其它机器上使用,那么可以直接导入vhdx文件,具体命令是:
wsl --import <导入Linux名称> <导入盘的路径> 版本(代表wsl2)
wsl --import-in-place ubuntu2004 D:\WSL\ext4.vhdx --version 2
4、自动安装
上边这么多安装超级费事,更简单的方法是自动安装,这一步会把从2.1到2.3.2全部完成。总共也就三条命令。
4.1 查看分发系统并安装
wsl -l -o # wsl --list --online
这个是要联网的,查看都有那些系统:
安装我们需要的系统:
wsl --install -d Ubuntu-20.04
啥也不用干,等着就行,完事就全部安装在c盘,安装过程也会有要求输入用户名和密码的环节。
安装完成后,无论是什么方法安装的,你就可以当做是一个新的装有linux系统的机器,该怎么配置就怎么配置。
5、安装windows终端
使用 Windows 终端可以打开多个选项卡或窗口窗格,以显示多个 Linux 发行版或其他命令行(PowerShell、命令提示符、Azure CLI 等)并在它们之间快速切换。 可使用独特的配色方案、字体样式、大小、背景图像和自定义键盘快捷键来完全自定义终端。这个终端与wsl关系不大,但安装后会使在使用wsl时更加方便。
按照Windows 终端安装 | Microsoft Learn官网链接完成即可。对于win11,默认就是用的这个,其实不用装,都自带了。
可以看到集成了所有的命令行界面。
6、配置图形显示界面
如果你使用 Windows 11 Build 22000 以上版本,则可以使用 WSL 2 提供的集成的桌面体验。该功能允许你直接安装并启动 Linux 桌面程序而无须其他配置。可以参看一下官网使用 WSL 运行 Linux GUI 应用 | Microsoft Learn。
基本不需要其它软件,要以和win自带的窗口一样来使用。剪切和粘贴也是可以通用。
如果是低版本的系统,不支持wslg,WSL (Windows 10) - OI Wiki (oi-wiki.org)可以按照这个文章提供的方法,使用远程桌面的方式来进行访问。
可以看到当前我们的系统里有wslg的支持。
我用的win11,命令:
wsl --update
这个命令后直接可以使用。
安装相关的图形界面的软件,就可以。
7、GPU使用
同上,执行完更新命令后这些都可以用了,目前我机器上只有一个显卡,不知道多显卡支持如何。
显卡驱动,就用windows上的,安装win11系统都自带了,要是没搞定,用个驱动精灵或nvidia官网,都可以安装。
nvidia-smi
可以安装cudatoolkit,cudnn,pytorch,tensorflow等等,做算法开发。
8、文件互访
这个也很重要,虽然可以借助图形界面和nautilus可以访问,但毕竟wsl访问文件,还是差点。
8.1 直接访问wsl文件
这个还是说通过win系统操作wsl的文件,但不能把文件给拷出来,这个就相当于是个远程桌面。
sudo apt install nautilus
nautilus

8.2 wsl 访问 win
就在/mnt下,有c,d盘:
8.3 win访问wsl
打开文件资源管理器,有个小企鹅,就是,这个是我觉的最好的互访方法。