Windows 中运行 Linux 探索 WSL2 非双系统 保姆级教程 home 编辑时间 2021/12/07 ![](/api/file/getImage?fileId=61aed31dda7405001300998c) <br><br> ## 前言 作为开发者,在Linux下确实要比Windows方便许多,就比如Docker、Redis等工具天生就没有原生Windows版本,在Windows或即使Mac下开发,也是非常麻烦,需要使用类似虚拟机。此外在Windows下编译各种程序,执行各种脚本,执行效率也要比Linux低不少。例如同一个Java程序使用Maven编译,Windows下需要至少20秒,而Linux只要6秒即可编译完成。 <br> 目前使用Linux作为工作环境,优点固然明显,缺点也非常突出,首先国产软件有一大批还不支持Linux,比如微信、QQ,就需要使用到类似Wine的工具,模拟Windows环境才能执行,非常麻烦。 <br> 另外使用双系统,会大量占用磁盘空间,例如500G的固态硬盘,至少要划分给Linux 100G作为系统盘。个别程序如果在Linux下模拟Windows环境不方便,还需要重启切换系统才能正常使用。 <br> 综上所述,急需一个在Windows内执行Linux,并且保证Linux内核完整,而且不过渡占用磁盘,最重要的是效率特别突出的方案。目前最合适的就是今天要折腾的 `WSL2` ,全称是 `Windows Subsystem for Linux` ,可以理解为 Windows子系统Linux ,区别于虚拟机中执行Linux,拥有更好的兼容性,磁盘数据互通,且更高的执行效率 <br> 燃鹅,在我最后体验完WSL2后,我觉得上面说的这些全部需要推翻!原因我写到了最后! <br><br> ## 准备 <br> 具体步骤可以参考官网 [https://docs.microsoft.com/zh-cn/windows/wsl/install](https://docs.microsoft.com/zh-cn/windows/wsl/install) 首先得到一个提示,Windows版本必须高于2004 `必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11。` <br> `Windows键` + `R` 运行命令 `winver` 可以查看当前版本是否满足 我这里显然是1909,不满足2004 **(如果你的系统满足要求,则直接跳到本文第三章 折腾环节即可)** ![](/api/file/getImage?fileId=61aed790da74050013009997) <br> 我的笔记本是买来到手就强制禁用了Windows自动更新的,因为特别恶心各种强制更新,关机重启更新等智障设计。由于一不小心这个强制禁止更新,有点过于强制,过于彻底,已经无法再次开启Windows的更新,导致不能用系统内设置里的更新来解决问题。具体如图 <br> 设置更新系统 报错 0x80070422 `安装更新时出现一些问题,但我们稍后会重试。如果你继续看到此错误,并且想要搜索 Web 或联系支持人员以获取相关信息,以下信息可能会对你有帮助: (0x80070422)` ![](/api/file/getImage?fileId=61aed652da74050013009993) <br> 手动开启 `Windows Update` 服务 会报 `拒绝访问` ![](/api/file/getImage?fileId=61aed6acda74050013009994) <br><br> 所以我这里直接用Windows官方出品的一个外部程序来更新系统,Windows易升,地址如下,这里点击`立即更新`按钮,会下载Windows易升程序 [https://www.microsoft.com/zh-cn/software-download/windows10](https://www.microsoft.com/zh-cn/software-download/windows10) ![](/api/file/getImage?fileId=61aed652da74050013009992) <br><br> 下载完成后执行,一路下一步即可,会自动下载最新系统更新包,速度略慢,大约需要 30 ~ 60 分钟 ![](/api/file/getImage?fileId=61aed716da74050013009995) <br> 结束以后会要求重新启动,如果没有需要保存的数据,点`立即重新启动` ,一共需要大约 30 ~ 90 分钟 ![](/api/file/getImage?fileId=61aed82eda74050013009998) <br> 重启以后在此查看系统版本 右击我的电脑 - 属性 也可以查看 已经升级到了`21H2` ![](/api/file/getImage?fileId=61aef6f2da740500130099a5) <br><br> ## 折腾 <br> 系统版本符合要求以后,开始折腾,再看文档下一步 [https://docs.microsoft.com/zh-cn/windows/wsl/install](https://docs.microsoft.com/zh-cn/windows/wsl/install) <br> 右击开始按钮,选择 Windows PowerShell(管理员) ![](/api/file/getImage?fileId=61aef7a9da740500130099a7) <br> 在PowerShell中输入命令 ```shell wsl --install ``` ![](/api/file/getImage?fileId=61aef7a9da740500130099a6) <br> 安装官方的说法能一次成,我这里遇到一点小波折,wsl安装正确,但ubuntu显示下载失败,于是就只有wsl没有linux内核 于是我根据官网提示按照后面的方法更新wsl再安装ubuntu ```shell # 更新wsl到最新版本 wsl --update # 强制重启wsl以生效新版 wsl --shutdown # 获取可以选择的linux发行版 wsl -l -o # 选择ubuntu(我这里看到的列表基本都是debian系,选ubuntu因为相对最方便) wsl --install -d ubuntu ``` <br> 最终看到这个界面说明ubuntu安装完毕 ![](/api/file/getImage?fileId=61aefd1dda740500130099b6) <br> 到这里,你就已经在一个无图形界面的ubuntu的系统里了,可以进行一些简单的Linux命令操作。 至于有什么用,除了docker以外还真说不上来有什么用。 即使docker我也还是更喜欢老办法,用VirtualBox ## END 然后我就反手一套停止删除清空连招全部删完了 这玩意居然没有图形化? 还需要用软件远程图形化? 而且完全看不出比Oracle VM VirtualBox 里面跑Docker 好在哪 债见! 送人玫瑰,手留余香 赞赏 Wechat Pay Alipay Arch Linux 初体验 安装在虚拟机 VirtualBox 从零开始学 Oculus Quest 2 VR 国内激活、游戏下载、离线安装 等折腾笔记