问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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

创作时间:
作者:
@小白创作中心

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

引用
1
来源
1.
https://www.cnblogs.com/SkyXZ/p/18675628

随着Linux在系统稳定性和环境管理方面的优势日益凸显,特别是在ROS系统开发中的独占地位,越来越多的开发者倾向于在Linux环境下进行机器人算法开发。然而,Windows和Linux之间的内核差异往往使得虚拟机成为不得已的选择,但虚拟机的性能问题和管理复杂性又成为开发效率的瓶颈。微软推出的WSL2(Windows Subsystem for Linux 2)提供了一个更加高效且原生的解决方案,它允许用户在Windows 10及更高版本的操作系统上原生运行Linux内核,极大地提高了性能和兼容性,同时可以直接在Windows环境中访问Linux工具和命令,完全摒弃了虚拟机的低效和麻烦。本文将详细介绍如何配置WSL2。

系统要求检查

首先需要确认自己的系统是否支持WSL2这项功能。可以通过以下几种方式查看系统版本:

  • 使用快捷键 win+R,输入 winver
  • 或者是在"设置—>系统—>系统信息—>Windows规格"中查看

只有运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11才能使用WSL2。

启用WSL2功能

在确认系统支持WSL2后,需要进入"控制面板—>程序—>启用或关闭Windows功能"中勾选打开以下三个功能:

  • Windows Subsystem for Linux
  • Virtual Machine Platform
  • Containers

点击确认后系统会需要重启电脑来启用这些功能。

特别提示:系统为家庭版的用户在Windows功能中没有"虚拟机平台"这一项,需要用管理员身份启动Windows PowerShell额外使用以下命令开启:

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

接着在以下网站里下载Windows内核功能包安装插件并重启电脑:

安装WSL2

打开CMD输入 wsl -l,如果成功打印了信息即代表WSL启用成功。如果提示:

wsl 不是内部或外部命令

说明你没有启用 Windows 的 Linux 子系统,请从头检查是否按照教程配置。

启用成功后,可以在CMD中输入以下命令来升级WSL并设置WSL2:

wsl --update # 更新
wsl --set-default-version 2 # 设置为WSL2

安装Ubuntu 22.04

在WSL中安装Ubuntu和安装虚拟机其实是类似的,我们都需要一个系统镜像来进行安装,这个镜像目前只能从微软官方获取。如果你的电脑启用了代理,可以使用以下命令来获取可用版本的 Linux 发行版列表并进行安装:

wsl --list --online # 列出所有可获取发行版
wsl --install -d <Distribution Name> # 安装对应的发行版

但是如果你的电脑没有设置代理,使用上述命令大概会有如下报错,因此建议直接从微软商店(Microsoft Store)来获取系统分发。在开始菜单中输入"Microsoft Store"后点击即可打开微软商店,在搜索框输入Ubuntu即可显示Linux系统分发。

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

迁移WSL系统

到目前为止,WSL系统还是安装在C盘,随着后续的开发,C盘可能会爆满。因此,可以将安装的系统迁移至其他盘。按照以下步骤即可完成迁移:

#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博客

特别提示:
如果出现以下报错,请检查:

  1. 是否输入过 wsl --update
  2. 是否下载过适用于x64计算机的WSL2 Linux内核更新包:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
  3. 是否按照教程启用了每一个Windows功能并且重启
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号