Win11配置WSL

前言废话:

在电脑上需要LINUX开发的时候,由于虚拟机无法直接连接到电脑主机的显卡,无法在LINUX上进行CUDA编程。所以如果需要在该电脑进行LINUX的CUDA开发,配置一个wsl就显得十分重要。

本次配置是在一台(刚装过vs c++和CUDA的)全新的电脑上配置的,系统是win11。

1、电脑系统内的配置

有两种方法,大同小异,可自行选择其中一种方案

1.1 用控制面板

控制面板->程序->启用或关闭 windows 功能 中,开启 Windows 虚拟化、 Linux 子系统(WSL2)、Hyper-V

wpf Treeview 虚拟化条件 wsl 虚拟化_wpf Treeview 虚拟化条件

wpf Treeview 虚拟化条件 wsl 虚拟化_bc_02

用管理员身份打开powershell,输入以下指令:

bcdedit /set hypervisorlaunchtype auto

1.2 用命令行

用管理员身份打开powershell分别输入以下的指令:

bcdedit /set hypervisorlaunchtype Auto

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform #需要重启系统,请注意按y让他重启

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

如果以上内容不能顺利运行,可以执行以下的指令:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

2、下载linux子操作系统

打开Microsoft Store,里面有很多不同的linux操作系统,有debain,Ubuntu、kali等等,在搜索框输入自己需要的操作系统名,选择下载即可,这里使用大家都爱用的Ubuntu,版本20.04。

wpf Treeview 虚拟化条件 wsl 虚拟化_重启_03

下载完成后,在cmd或者powershell输入wsl即可。初始化会让你注册用户名,设定密码等等。如果你一路操作下来都很顺利,本次安装到此结束。

如果你出现了报错,希望在第四部分,我的踩坑解决方案可以帮助到你

3、查看子系统的文件

使用Win+r调出运行界面框,输入\\wsl$即可打开wsl的文件管理器。

但我们的运行界面有时候要用别的功能,自然会希望可以在 “此电脑” 界面中直接可以打开了

我们用上面的方法打开目录后,点选上面的路径复制下来

wpf Treeview 虚拟化条件 wsl 虚拟化_重启_04

然后返回此电脑的界面,右键菜单栏选择添加一个网络位置

wpf Treeview 虚拟化条件 wsl 虚拟化_重启_05

一路点选 “下一页”,然后他要你填写网络位置的时候,把刚刚的路径粘贴进去,点选 “下一页”继续。

然后就可以在此电脑界面中直接查看wsl文件了。

4、踩坑记录

我出现的报错内容大致如下:

wpf Treeview 虚拟化条件 wsl 虚拟化_Windows_06

并且我初步配置的时候,是没有功能Hyper-V 的,而且运行下面这条指令的话,会报错功能名称 Microsoft-Hyper-V 未知。

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

4.1 解决Microsoft-Hyper-V不存在

首先在电脑新建一个txt文件,把以下内容贴进去

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

然后保存,文件后缀名改成.cmd格式,然后运行他。

运行完毕,重新在管理员权限下的powershell中运行刚刚的Microsoft-Hyper-V指令即可

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

4.2 解决wsl启动时出现一堆???的问题

首先下载Windows Subsystem for Linux Update setup 官方版将WSL1升级到WSL2。

下载地址1:https://www.xitongzhijia.net/soft/244754.html

下载地址2:https://www.aliyundrive.com/s/F297Y6SNpSf

下载完毕执行一下该msi程序。

然后重新跑一下以下代码:

bcdedit /set hypervisorlaunchtype Auto

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform #需要重启系统,请注意按y让他重启

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

然后我在完成到这一步就解决问题了。