WSL2的安装详细过程

这部分记录了如何安装wsl,以及如何升级到wsl2的心酸历程。


版本要求

安装wsl2对系统版本有硬性的要求:

升级windows

如果版本达到了要求,则跳过此步骤。

  • Win+S 搜索预览体验计划

加入预览体验计划,获取更新版本。

  • 进行windows更新

然后就是漫长的等待过程,无论是下载还是安装的过程都很漫长。


WSL的安装

  • 使用管理员权限打开powershell

  • 启用“适用于 Linux 的 Windows 子系统”可选功能

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

这时候wsl其实已经启用了,重启就可以了,但还要更新到wsl2,就在后面一起重启了。

升级到WSL2

  • 启用“虚拟机平台”可选组件
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  • 重启电脑。
  • 重新管理员身份打开powershell,用下面的命令将wsl2设置为默认。
wsl --set-default-version 2

出现上面这行就是好了,如果有问题请参考后文中遇到的问题及解决办法。


安装linux分发版

选择一个你喜欢的就可以了,任君挑选。

Microsoft Store 中的 Linux 分发版

安心等待片刻,就安装好了,这时你点击开始,就可以在最近安装看见你安装好的分发版了。

初次启动它会进行一个初始化的过程,需要等待一段时间。完成之后会让你设置账号和密码。

Windows 控制台中的 Ubuntu 解包


排查安装问题

下面是相关的错误和建议的修复措施。 有关其他常见错误及其解决方法,请参阅 WSL 故障排除页

  • 安装失败并出现错误 0x80070003
    • 适用于 Linux 的 Windows 子系统只能在系统驱动器(通常是 C: 驱动器)中运行。 请确保分发版存储在系统驱动器上:
    • 打开“设置”->“存储”->“更多存储设置: 更改新内容的保存位置” 用于在 C: 驱动器中安装应用的系统设置屏幕截图
  • WslRegisterDistribution 失败并出现错误 0x8007019e
    • 未启用“适用于 Linux 的 Windows 子系统”可选组件:
    • 打开“控制面板” -> “程序和功能” -> “打开或关闭 Windows 功能”-> 选中“适用于 Linux 的 Windows 子系统”,或使用本文开头所述的 PowerShell cmdlet。
  • 安装失败,出现错误 0x80070003 或错误 0x80370102
    • 请确保在计算机的 BIOS 内已启用虚拟化。 有关如何执行此操作的说明因计算机而异,并且很可能在 CPU 相关选项下。
  • 尝试升级时出错:Invalid command line option: wsl --set-version Ubuntu 2
    • 请确保已启用适用于 Linux 的 Windows 子系统,并且你使用的是 Windows 内部版本 19041 或更高版本。 若要启用 WSL,请在 PowerShell 提示符下以具有管理员权限的身份运行此命令:Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux。 可在此处找到完整的 WSL 安装说明。
  • 由于虚拟磁盘系统的某个限制,无法完成所请求的操作。虚拟硬盘文件必须是解压缩的且未加密的,并且不能是稀疏的。
  • 无法将词语“wsl”识别为 cmdlet、函数、脚本文件或可运行程序的名称。

相关链接

常见问题

WSL 2 常见问题解答

疑难解答


记录所踩的坑

上面的问题和解决办法,是官方的手册给的,下面说记录下安装的心酸历程,如果上面没找到你的问题,可以看看我的经历是不是能给你点帮助:

  1. 首先是windows版本,我一直保持着最新的版本,想当然的以为版本足够,查了各种方法也装不上wsl2,后来在一个大佬的笔记里发现要打开预览版本更新。

  2. 之后就是安装WSL 2遇到了 requires an update to its kernel component. For information please visit https://aka.ms/wsl2kernel的问题,然后就下载了最新版本的内核。

  3. 然后又遇到内核无法安装的问题,这时我已经要炸了,冷静下来想起了解决之前问题时候尝试装过一次内核,随后找到应用卸载的界面卸载了之前装的内核,安装新内核成功。

  4. 之后也成功的切换到了wsl2,但是从应用商店下载的Ubuntu20,04第一次打开加载报错,不信邪的我切换回了wsl1,再打开Ubuntu成功运行,这时候我心态已经有点崩了,搞来搞去wsl2还是不能用。

  5. 我在应用商店下载了Ubuntu18.04,切换回了wsl2重新安装,还是失败,看了下报错0xc03a001a,找到一个大佬的解答说是因为开了压缩内容以便节省磁盘空间的原因,首先确定你的一些或者所有的文件夹右上角是否都有两个相对的蓝色箭头,然后找到路径:C:\Users\user name\AppData\Local\Packages\CanonicalGroupLimited.xxxx (xxx为你所下载的对应Linux发行版)这个文件夹,若它确实是右上角带有两个相对箭头,那么:

右键 -> 属性 -> 常规 -> 高级 -> 取消勾选 压缩内容以便节省磁盘空间 这一项 -> 确定
再次启动所安装的 Linux 发行版应该就可正常使用。

  1. 随后我以为终于可以解决了,然而并没有。还是报错,具体是什么忘记了,也没查到答案。最后问题还是自己解决的。我灵机一动,既然wsl1环境可以正常安装,那我是不是在1环境下安装,再转换到2环境下呢?最后问题完美解决。
wsl --set-version Ubuntu-20.04  2

终于等到你,还好我没放弃!

猜你喜欢

转载自blog.csdn.net/huiruwei1020/article/details/107551106