感受
跳槽两月有余,已缓缓度过“阵痛期”,慢慢步入正轨,同时也意识到了自身技术方面的落后,没有赶上技术潮流,要加油了自己...
犹记初入新公司第一天安装windows的linux子系统和docker时,因为网络不稳定、windows系统和docker版本等原因安装过程并不顺利。所以一直想要把这个过程记录下来。
最近工作并不忙,空下心来好好梳理了一番。
因为上家公司给配的惠普战99工作站笔记本流畅无比,就一直没有换电脑的心思。但既然离职,物归原主之后发现自己用了n多年的联想小Y已奇卡无比。所以趁最近空暇,换装了固态硬盘,并将系统重装,的确,如换新一般!!!
转载
而今天,公司大佬(Haierspi,不知此名有何含义,有机会问下,大家可以猜一猜,0.0)将之前安装文档整理了一番,我也就正好拿此“新电脑”练练手。
所以以下安装步骤说明,版权归Haierspi所有,同时也就不贴公司内部文档地址了,哈哈哈,我只是拿来借用下做个笔记分享一下。
了解
什么是wsl?
Windows Subsystem for Linux(简称WSL,windows下的Linux子系统)是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。
步骤
-
安装 windows 10 insider preview 开发预览版
- 位置在
设置 > 更新与安全 > Windows预览体验计划
- 设置预览版本为
beta渠道
- 位置在
-
必要功能的开启 (对应一些台式机需要在BIOS内开启 虚拟化)
- 右键单击 Windows 按钮并选择“应用和功能”。
- 选择相关设置下右侧的“程序和功能”。
- 选择“打开或关闭 Windows 功能”。
- 勾选“Hyper-V”和“适用于Linux的Windows子系统”,然后单击“确定”。
-
安装与启用 WSL2 (Windows Subsystem For Linux)
- 先安装WSL1
- 启用虚拟机平台可选组件:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
(注意:cmd无法运行,必须右键“以管理员身份运行”PowerShell执行此命令;启用需重启)
- 打开 Windows Store 搜索
Ubuntu 20.04.LST
下载并安装(注意:windows store不见了请参考此链接https://jingyan.baidu/article/4dc40848fdf59189d946f1a7.html) - 重启后,继续管理员身份运行PowerShell,使用“wsl -l”命令查看子系统,如图即为成功:
wsl -l
- 启用虚拟机平台可选组件:
- 升级WSL2
- 下载并安装 WSL2 Linux 内核更新包 https://docs.microsoft/zh-cn/windows/wsl/wsl2-kernel
- 设置默认WSL子系统安装版本
wsl --set-default-version 2
(注意:①遇到“命令行选项无效”问题,参考此链接
https://gitmemory/issue/microsoft/WSL/4280/509675282,检查发现,只参与预览体验计划不行,win10专业版OS版本号1909没有WSL2,必须升级到2004才可以,微软现在还未全面向用户推送2004版本,那么我们可以通过官方的“易升”软件来获取更新。②
遇到“
WSL 2 需要更新其内核组件。有关信息,请访问 https://aka.ms/wsl2kernel”卸载重装上一步的内核更新包试一下。③吐槽下“
有关与 WSL 2 的主要区别的信息,请访问 https://aka.ms/wsl2”千万不要把其当成错误,此提示说明一切正常,我居然把其当成错误研究了好久)
- 关闭WSL子系统
wsl --shutdown
- 转换WSL1子系统到WSL2
wsl --set-version Ubuntu-20.04 2
- 重置网络
netsh winsock reset
- 启用 WSL2
wsl -l -v //查看状态和版本情况 wsl //启用
- 先安装WSL1
-
问题总结
以下为自己在安装过程中遇到的问题,总结给大家,避免走弯路。
-
无法参加“Windows预览版计划”,错误代码“x0x”和“0x80072ee2”
大概率都是网络问题,参考链接:x0x解决方法 0x80072ee2解决方法
- 安装失败并出现错误 0x80070003
- 适用于 Linux 的 Windows 子系统只能在系统驱动器(通常是
C:
驱动器)中运行。 请确保分发版存储在系统驱动器上: - 打开“设置”->“存储”->“更多存储设置: 更改新内容的保存位置”
- 适用于 Linux 的 Windows 子系统只能在系统驱动器(通常是
-
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 安装说明。
- 请确保已启用适用于 Linux 的 Windows 子系统,并且你使用的是 Windows 内部版本 19041 或更高版本。 若要启用 WSL,请在 PowerShell 提示符下以具有管理员权限的身份运行此命令:
-
由于虚拟磁盘系统的某个限制,无法完成所请求的操作。虚拟硬盘文件必须是解压缩的且未加密的,并且不能是稀疏的。
- 请检查 WSL GitHub 主题 #4103,其中跟踪了此问题以提供更新的信息。
-
无法将词语“wsl”识别为 cmdlet、函数、脚本文件或可运行程序的名称。
- 请确保已安装“适用于 Linux 的 Windows 子系统”可选组件。 此外,如果你使用的是 ARM64 设备,并从 PowerShell 运行此命令,则会收到此错误。 请改为从 PowerShell Core 或从命令提示符运行
wsl.exe
。
- 请确保已安装“适用于 Linux 的 Windows 子系统”可选组件。 此外,如果你使用的是 ARM64 设备,并从 PowerShell 运行此命令,则会收到此错误。 请改为从 PowerShell Core 或从命令提示符运行
更多推荐
Windows下Linux子系统的安装与使用 wsl
发布评论