Bash on Windows(WSL2)

一、基础知识

1. 什么是WSL 2?

Windows 10专业版(其它版本不支持)中集成了Bash on Windows功能,可以在默认的命令行中直接使用Linux的命令来处理Windows的文件,对于仅支持Linux的软件也可以直接运行,此工具在编程和仿真方面都非常方便。
2016年微软Build 2016大会最让开发人员兴奋的消息之一,就是在Windows上可以原生运行linux bash。
WSL(Windows Subsystem for Linux)是Windows10的Linux子系统。WSL提供了一个微软开发的Linux兼容内核接口(不包含Linux代码),能够在Windows 10上运行原生Linux二进制可执行文件。可以简单的认为它是在 Windows 上安装了一个 Linux 环境。

2020年微软把之前的wsl从一代升级到了二代,根据微软的说法,体验是极大的提升。

WSL 2 是 WSL 中体系结构的新版本,它更改了 Linux 分发版与 Windows 进行交互的方式。 WSL 2 的主要目标是提高文件系统性能并增加完全的系统调用兼容性。

WSL 2 是对基础体系结构的一次重大改造,它使用虚拟化技术和 Linux 内核来实现其新功能。

2. 为什么使用WSL 2?

由于开发方便的需要,我们有时要使用到类 Unix 环境。目前支持类Unix的软件有:
Cygwin是运行于Windows平台的POSIX“子系统”,提供Windows下的类Unix环境,并提供将部分 Linux 应用“移植”到Windows平台的开发环境的一套软件。
MinGW(Minimalist GNU for Windows)用于开发原生(32位) Windows 应用的开发环境,它的编译产物一般是原生 Windows 应用。
MinGW-w64,MinGW-W64 则是新一代的 MinGW,支持更多的 API,支持 64 位应用开发,甚至支持 32 位 host 编译 64 位应用以及反过来的“交叉”编译。除此之外,它本身也有 32 位和 64 位不同版本,其它与 MinGW 相同。

MSYS,是MinGW 开发者从曾经比较旧的 Cygwin 创建的一个分支,也用于提供类 Unix 环境。但与 Cygwin 的大而全不同,MSYS 是冲着小巧玲珑的目标去的,大小在 200M 左右,并且没有多少扩展能力。MSYS 是用于辅助 Windows 版 MinGW 进行命令行开发的配套软件包,如果不喜欢庞大的 Cygwin,可以试试。不过喜欢完整体验、不在乎磁盘占用等等,还是推荐 Cygwin 而不是 MSYS。

MSYS2,由于 MinGW 万年不更新,MSYS 更是,Cygwin的许多新功能 MSYS 没有同步过来,于是 Alex 等人建立了新一代的 MSYS 项目。仍然是 fork 了 Cygwin(较新版),但有个更优秀的包管理器 pacman,有活跃的开发者跟用户组,有大量预编译的软件包(虽然肯定没有Cygwin多)……对于不喜欢庞大的 Cygwin 的用户而言,推荐试试 msys2

而WSL可以让你像CMD控制台一样简单使用Linux的操作,并且无缝的在Linux shell 与 Windows CMD之间来回切换;Windows自带服务,只需简单设置安装,使用更方便;

缺点:没有图形化界面

二、安装WSL

1. 启用开发人员模式

如果你正在使用计算机进行一般的日常活动,如玩游戏、进行 Web 浏览、收发电子邮件或使用 Office 应用,则不需要激活开发人员模式,并且实际上不应该激活该模式。 
此页面上的其余信息对你来说并不重要,你可以放心地重新执行你正在执行的任何操作。 谢谢拜访。
但是,如果你是首次在计算机上使用 Visual Studio 编写软件,则需要在开发电脑和用于测试代码的所有设备上启用开发人员模式。

无法在 Windows 更新中找到开发人员模式程序包。 错误代码 0x80004005 了解详细信息”

发生此错误可能是由于网络连接问题、企业设置,或者程序包可能丢失。

若要解决此问题:

  1. 确保你的计算机连接到 Internet。
  2. 如果你位于加入域的计算机上,请与网络管理员联系。 默认情况下,WSUS 中阻止了开发人员模式程序包,如所有按需功能。 2.1. 为了在当前和之前的版本中解除阻止开发人员模式程序包,应该允许在 WSUS 中使用以下 KB:4016509、3180030、3197985
  3. 在“设置”>“更新和安全”>“Windows 更新”中检查 Windows 更新。
  4. 在“设置”>“系统”>“应用和功能”>“管理可选功能”>“添加功能”中验证 Windows 开发人员模式是否存在。 如果缺少,Windows 无法为计算机找到正确的程序包。

在执行上述任意步骤后,禁用并随后重新启用“开发人员模式”以验证是否解决该问题。

Win10更新时出现错误0x80070422

1、首先按“baiwin+R”打开du运行窗口,点击输入“services.msc”,回车确定。

2、然后在弹出来的窗口中点击打开“windows update服务”,改为自动

 

 

打开设置->安全和更新->开发者选项,选择为“开发人员模

 

 

2. 准备安装条件

若要更新到 WSL 2,必须满足以下条件:

输入后发现内部版本不符合要求

 

 检查更新

 企业版和企业版LTSB是不能通过易升升级的,企业版没有免费升级通道所引起的,那么难道win10企业版就无法直升win10 升级吗?其实方法还是有的,我们可以通过下面方法进行操作!

 

1、按下win+i 组合键打开windows 设置,点击 更新和安全 如图:

2、加入预览版计划,选择release通道,找到rs1字样;

3、重启电脑后,等待一段时间,就能找到周年版的release更新,更新完后,退出预览版计划即可!

win10设置中没有Windows预览体验计划选项怎么办

1. 按键盘Win+R打开运行窗口>输入netplwiz

2. 在打开的用户账户工具中,点击添加按钮>点击"

不使用Microsoft账户登录">选择"本地账户">输入用户名(密码留空就行)

3. 双击新建好的用户名称>组成员>选择"管理员"

4. 右键点击开始按钮>关机或注销>注销

5. 使用刚才新建的账户登录Windows系统

由于我的操作系统是企业版,即使如上操作,依然看不到Windows预览体验计划选项,故宣告wsl2安装失败

 

 

参考文档:

WSL 2 中的新增功能

https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-index

WIN10如何安装wsl2

https://baijiahao.baidu.com/s?id=1668484084087037453&wfr=spider&for=pc

Windows 安装和配置 WSL

https://www.jianshu.com/p/3e627ff45ccb

Bash On Windows安装教程

https://www.jianshu.com/p/ac7ff1d20b32?utm_source=oschina-app

配置Bash on Windows (WSL)并自定义安装位置

https://www.bilibili.com/read/cv1429071/

深入体验bash on windows!在windows上搭建原生的linux开发环境环境

https://blog.csdn.net/donglynn/article/details/53502249

深入体验bash on windows!在windows上搭建原生的linux

http://www.360doc.com/content/18/0115/16/7210702_722149146.shtml

 

 
posted @   六只小猫  阅读(1368)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示