手把手教你如何安装使用,适用于 Linux 的 Windows 子系统WSL

不是菜鸟 2024-10-26 12:07:01 阅读 66

目录

 前言

一,什么是WSL?

二,如何开启WSL?

2.1.适用于Linux的Windows系统,和虚拟机平台

 2.2.以管理员的方式运行打开PowerShell,执行更新操作

二,安装Linux子系统

方法一:通过微软应用商店

2.1.1在微软商店中搜索并挑选所需要的Linux版本,下载并安装

2.1.2.点击打开 

 2.1.3.按照提示输入用户名和密码即可完成安装

 方法二:命令行安装

2.2.1.管理员身份运行powershell,输入wsl --list --online

2.2.2.选择需要的版本,使用wsl.exe --install安装

三,安装过程可能存在的问题

3.1.1.打开网络设置,属性找到Internet解析版本4(TCP/IPv4),点属性

3.1.2修改默认的dns设置如下

3.2.1.先找到域名对应的主机地址

3.2.2. 将得到的地址配置到C:\Windows\System32\drivers\etc  的host中


 前言

前面讲了,如何在Linux系统安装并使用SDKMAN管理JDK,但是大多数开发者日常开发用的是Windows系统,那么Windows系统该如何安装使用呢?前面也提到了,要在Windows系统安装SDKMAN需要使用 WSL,接下来我介绍一下如何在Windows11上安装WSL,和遇到的一些问题以及解决方案,因为我的电脑是ARM64的过程中还有所不同,这个会在具体地方说明不同和如何解决。

一,什么是WSL?

WSL(Windows Subsystem for Linux)适用于 Linux 的 Windows 子系统,顾名思义这个子系统的作用是在windows下运行linux操作系统,它是由微软与Canonical公司合作开发,开发人员可以在 Windows 计算机上同时访问 Windows 和 Linux 的强大功能,允许用户在Windows系统中直接运行完整的Linux环境,无需虚拟机。通过操作系统级虚拟化,WSL将Linux子系统无缝嵌入Windows,提供原生Linux命令行工具、软件包管理器及应用程序支持。开发人员可以安装 Linux 发行版(例如 Ubuntu、OpenSUSE、Kali、Debian、Arch Linux 等),并直接在 Windows 上使用 Linux 应用程序、实用程序和 Bash 命令行工具,它具有轻量化、文件系统集成、良好的交互性及开发效率提升等优点,消除了Windows与Linux之间的隔阂,尤其适合开发者和需在Windows平台上使用Linux工具的用户。

二,如何开启WSL?

2.1.适用于Linux的Windows子系统,和虚拟机平台

在开始菜单搜索启用或关闭Windows 功能,点击打开对话窗口如下,然后找到 适用于Linux的Windows子系统,和虚拟机平台,并勾选,然后确定。重启系统Windows系统,这步是必须的否则不生效。

 2.2.以管理员的方式运行打开PowerShell,执行更新操作

wsl --update

正常情况下会完成wsl的更新。 

如果你执行完命令报了,如下红色字体的错误信息:

wsl : 无法将“wsl”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,

然后再试一次。

所在位置 行:1 字符: 1

+ wsl

+ ~~~

+ CategoryInfo : ObjectNotFound: (wsl:String) [], CommandNotFoundException

+ FullyQualifiedErrorId : CommandNotFoundException

1.请确保你的系统win10以上,我的是win11系统。

2.确保已经完成了2.1的步骤,并且重启了系统。

3.如果以上的步骤都完成了,看一下你的电脑是否是ARM64的。

在官网的Troubleshooting 中找到的答案,内容如下:

 翻译过来就是,确保已安装适用于 Linux 的 Windows系统可选组件。此外,如果您使用的是 ARM64 设备并从 PowerShell 运行此命令,您将收到此错误。需要从 PowerShell Core或命令提示符运行 wsl.exe

我的电脑恰好是ARM64的,所以正好遇到这个问题,如果不是ARM64的可能没有这个问题。

打开终端

wsl.exe --update

不再报错,完成wsl的更新!

更新完成之后就可以在终端直接使用wsl命令操作了。

二,安装Linux子系统

方法一:通过微软应用商店

2.1.1在微软商店中搜索并挑选所需要的Linux版本,下载并安装

2.1.2.点击打开 

比如我选择的是Ubuntu 22.04.3LTS,点击下载,等下载完成,直接点击打开即可开始安装

 2.1.3.按照提示输入用户名和密码即可完成安装

 方法二:命令行安装

2.2.1.管理员身份运行powershell,输入wsl --list --online

显示可用分发版列表,正常情况下应该显示如下:

wsl --list --online

2.2.2.选择需要的版本,使用wsl.exe --install安装

wsl.exe --install Debian

 接下来和前面通过Microsoft stroe安装一样,输入用户名,设置密码,如果走到这里那么恭喜你已经完成了Linux子系统的安装,接下你就可以自由发挥了!

三,安装过程可能存在的问题

但是,但是来了,很大一部分人这个地方会报错,报错如下:

无法从“https://raw.githubusercontent.com/microsoft/WSL/master/distributions/DistributionInfo.json”中提取列表分发。无法解析服务器的名称或地址

Error code: Wsl/WININET_E_NAME_NOT_RESOLVED

分析问题:https://raw.githubusercontent.com 无法响应,可能是域名解析的问题,那就先从域名解析入手试试

3.1.1.打开网络设置,属性找到Internet解析版本4(TCP/IPv4),点属性

3.1.2修改默认的dns设置如下

修改完成,重试一下,这个时候应该就会有一部分人可以了,如果你是这一部分那恭喜你了。

 如果还是报同样的问题,那就就继续想办法,修改host文件,添加地址映射

3.2.1.先找到域名对应的主机地址

打开IP地址工具,复制raw.githubusercontent.com到搜索框,回车。解析得到地址对应的IPv4 地址如下:

3.2.2. 将得到的地址配置到C:\Windows\System32\drivers\etc  的host中

185.199.108.133 raw.githubusercontent.com

185.199.109.133 raw.githubusercontent.com

185.199.110.133 raw.githubusercontent.com

185.199.111.133 raw.githubusercontent.com

保存后再次尝试,应该就没有问题了,怎么修改host文件应该不用细说了吧,默认都会!!!

到此WSL的安装就完成了!!!

有问题欢迎留言,以便及时斧正,也欢迎一起讨论!

最后祝大家工作顺利,生活安康!



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。