亢安芙 发表于 2025-6-9 10:53:56

告别虚拟机!WSL2安装配置教程!!!

作者:SkyXZ
CSDN:SkyXZ~-CSDN博客
博客园:SkyXZ - 博客园
        由于Linux的系统的稳定以及在环境管理方面的优越性,同时Linux对于ROS系统的独占,很多时候我们都乐意在Linux系统下开发我们机器人的算法,但是由于Windows和Linux系统的存在内核方面的天壤之别,在我们手边没有Linux设备的时候我们很多时候只能使用虚拟机来代替,但是虚拟机的使用往往带来了一些性能上的问题,比如资源消耗较大、启动慢、操作不够流畅等。此外,虚拟机的配置和管理也相对复杂,尤其是对开发人员来说,虚拟机的管理和切换可能会影响开发效率。但是微软推出的WSL2(Windows Subsystem for Linux 2)提供了一个更加高效且原生的解决方案,WSL2允许你在Windows 10及更高版本的操作系统上原生运行Linux内核,极大地提高了性能和兼容性,同时可以直接在Windows环境中访问Linux工具和命令,也可以直接访问系统的GPU!!!完全摒弃了虚拟机的低效和麻烦,现在开始讲解我们该如何配置自己的WSL2。

[*]具体详细步骤请参考微软官方文档:安装 WSL | Microsoft Learn
        首先我们需要确认自己的系统是否支持WSL2这项功能,我们需要使用win+R输入winver或者是在"设置—>系统—>系统信息—>Windows规格"中查看我们的系统版本号,只有运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11才能使用WSL2

        在确认无误系统支持WSL2后我们进入"控制面板—>程序—>启用或关闭Windows功能"中勾选打开如下四个功能,点击确认后系统会需要大家重启电脑来启用这些功能


        PS:系统为家庭版的用户在Windows功能中没有"虚拟机平台"以及"Hyper-V"两项,"虚拟机平台"需要用管理员身份启动Windows PowerShell额外使用如下命令开启,接着在如下网站里下载Windows内核功能包安装插件并重启电脑即可

[*] 适用于x64计算机的WSL2 Linux内核更新包:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart        而对于Hyper-V这一功能,其是微软提供的虚拟化技术,用于创建和管理虚拟机,它支持在单一物理主机上运行多个操作系统实例,广泛应用于开发、测试和生产环境,非专业版的用户默认是没有这一功能的,但是别着急,我们可以使用以下方式开启:

[*]首先我们创建一个名为”Hyper-V Installer.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
[*]接着我们将”Hyper-V Installer.txt“文件的后缀名从txt改为cmd,即文件名为”Hyper-V Installer.cmd“
[*]最后我们右键使用“以管理员身份运行”该脚本并等待安装完成即可,最后我们输入Y并重启电脑然后进入“启用或关闭Windows功能”,勾选Hyper-V后再次重启 即可
        接着我们用打开CMD输入wsl -l,如果成功打印了信息即代表WSL启用成功,如果提示: wsl 不是内部或外部命令,说明你没有启用 Windows 的 Linux 子系统,请从头检查是否按照教程配置,启用成功后我们在CMD中输入以下命令来升级我们的WSL并设置WSL2:
wsl --update# 更新
wsl --set-default-version 2 #设置为WSL2        然后我们用Ubuntu22.04来演示如何安装自己需要的Linux的系统,其他的系统版本步骤类似,在WSL中安装Ubuntu和安装虚拟机其实是类似的,我们都需要一个系统镜像来进行安装,这个镜像目前只能从微软官方获取,如果你的电脑启用了代理,那么你可以直接在cmd中输入以下命令来获取可用版本的 Linux 发行版列表,并使用如下命令进行安装
wsl --list --online #列出所有可获取发行版
wsl --install -d <Distribution Name># 安装对应的发行版
        但是如果你的电脑没有设置代理,使用上述命令大概会有如下报错,因此我建议大家可以直接从微软商店(Microsoft Store)来获取系统分发,在[开始菜单]中输入Microsoft Store后点击即可打开微软商店,在搜索框输入Ubuntu即可显示Linux系统分发,PS:如果你开着代理,大概率微软商店将无法正常加载内容


        安装完成后我们打开cmd在上方的下拉箭头便会有对应的Ubuntu22.04选项,于是我们这时候可以点击这个选项便可以进入系统配置界面,或者是直接输入wsl接着便会提示你输入系统的用户名以及密码,这里要注意的是用户名最好是使用英文小写字母不然可能会有报错,然后如果大家在"Installing,this may take a few minutes..."这个提示下等待时间过久,可以直接按ctrl+c强制退出然后进入账号创建步骤哦


        然后如果正式进入了系统那么便代表系统配置成功啦!!!这个时候我们便可以在Win设置的应用管理中将我们之前下载的系统分发删除啦!
https://img2023.cnblogs.com/blog/3505969/202501/3505969-20250116190114074-298687060.jpg
        但是到目前为止我们的WSL系统还是安装在C盘,随着后续的开发我们的C盘便会有爆满的风险,于是我们便可以将安装的系统迁移至其他盘,大家按照以下步骤即可完成迁移:(注意!以下命令请在一个终端内完成!不然重新导入后的wsl由于环境变量变化将无法设置默认用户比较麻烦!)
#step 1
wsl -l --all -v   #查看所有已安装的 Linux 发行版本
#step 2 导出wsl系统
wsl --export <Linux-name > <导出路径及名字>
wsl --export Ubuntu-22.04 d:\ubuntu22.04.tar#示例
#step 3 注销原系统
wsl --unregister <Linux-name>
wsl --unregister Ubuntu-22.04 #示例
#step 4 重新导入
wsl --import <子系统名称> <迁移到哪一个文件下> <要导入的包路径> --version 2
wsl --import Ubuntu-22.04 d:\wsl-ubuntu22.04 d:\ubuntu22.04.tar --version 2 #示例
#step 5 设置默认用户
<wsl-Linux_name> config --default-user <user>
ubuntu2204.exe config --default-user xq #示例
#step 6 删除导出包
del d:\ubuntu22.04.tar         最后我们搭配VScode即可实现Win上对Linux的优雅开发!
        然后在WSL上访问Win上USB设备的方法请查看我的另一篇博客:老奶奶看了都会的WSL2连接USB设备教程_wsl2 usb-CSDN博客
PS:如果出现如下图片的报错,请检查:

[*]是否输入过wsl --update
[*]是否下载过 适用于x64计算机的WSL2 Linux内核更新包:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
[*]是否按照教程启用了每一个Windows功能并且重启


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 告别虚拟机!WSL2安装配置教程!!!