在Windows系统配置WSL
Win11配置WSL
前言废话:
在电脑上需要LINUX开发的时候,由于虚拟机无法直接连接到电脑主机的显卡,无法在LINUX上进行CUDA编程。所以如果需要在该电脑进行LINUX的CUDA开发,配置一个wsl就显得十分重要。
本次配置是在一台(刚装过vs c++和CUDA的)全新的电脑上配置的,系统是win11。
1、电脑系统内的配置
有两种方法,大同小异,可自行选择其中一种方案
1.1 用控制面板
在 控制面板->程序->启用或关闭 windows 功能
中,开启 Windows 虚拟化、 Linux 子系统(WSL2)、Hyper-V
用管理员身份打开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。
下载完成后,在cmd
或者powershell
输入wsl
即可。初始化会让你注册用户名,设定密码等等。如果你一路操作下来都很顺利,本次安装到此结束。
如果你出现了报错,希望在第四部分,我的踩坑解决方案可以帮助到你
3、查看子系统的文件
使用Win+r调出运行界面框,输入\\wsl$
即可打开wsl的文件管理器。
但我们的运行界面有时候要用别的功能,自然会希望可以在 “此电脑” 界面中直接可以打开了
我们用上面的方法打开目录后,点选上面的路径复制下来
然后返回此电脑的界面,右键菜单栏选择添加一个网络位置
一路点选 “下一页”,然后他要你填写网络位置的时候,把刚刚的路径粘贴进去,点选 “下一页”继续。
然后就可以在此电脑界面中直接查看wsl文件了。
4、踩坑记录
我出现的报错内容大致如下:
并且我初步配置的时候,是没有功能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
然后我在完成到这一步就解决问题了。
文章网页:https://tuoyou-hao.github.io/2022/07/15/wsl_init_Win11/