1 什么是WSL2
WSL全称为Windows Subsystem for Linux,官网译为:适用于 Linux 的 Windows 子系统 (WSL)
官方文档直达:适用于 Linux 的 Windows 子系统文档 | Microsoft Docs
- WSL1和WSL2的比较:
功能 | WSL 1 | WSL 2 |
Windows 和 Linux 之间的集成 | ✅ | ✅ |
启动时间短 | ✅ | ✅ |
与传统虚拟机相比,占用的资源量少 | ✅ | ✅ |
可以与当前版本的 VMware 和 VirtualBox 一起运行 | ✅ | ✅ |
托管 VM | ❌ | ✅ |
完整的 Linux 内核 | ❌ | ✅ |
完全的系统调用兼容性 | ❌ | ✅ |
跨 OS 文件系统的性能 | ✅ | ❌ |
- 为什么要WSL2
官方解释:可让开发人员直接在 Windows 上按原样运行 GNU/Linux 环境(包括大多数命令行工具、实用工具和应用程序),且不会产生传统虚拟机或双启动设置开销。
我的观点:日常生活中程序的开发离不开Linux,而Windows的GUI界面又是我们常用的(微信、Office等)。我们可以有很多种方式使用Linux
单主机双系统:能实实在的运行不同、完整的操作系统;切换系统都需要重启,麻烦
双主机双系统:物理隔离方式,真正实现双系统;真的有人那么有钱吗?开发程序用两台电脑?
远程服务器:和单主机双系统一样;性能、带宽、流量有局限
虚拟机VMware:和单主机双系统一样;资源消耗大、启动慢、运行效率低。我用过之后觉得有的时候卡死也不知道怎么弄。
WSL!!! 几乎能运行完整的操作系统,资源消耗小、启动快、切换快 有些软件可能不支持…(后续有什么毛病再更新)
重点:Windows与Linux子系统将共用同一文件系统!!! 我们可以在WSL中使用三剑客命令查询分析windows文档、日志、使用shell命令或者bash脚本运行存储在windows中的linux程序、甚至在WSL中创建docker容器,在windows下使用docker desktop进行可视化管理。
总结:WSL2让我们既拥有Windows的操作界面又拥有Linux的命令行工具。
- 启用“虚拟机平台”
WSL 2 需要启用 Windows 10 的 “虚拟机平台” 特性。它独立于 Hyper-V,并提供了一些在 Linux 的 Windows 子系统新版本中可用的更有趣的平台集成。
要在 Windows 10(2004)上启用虚拟机平台,请以管理员身份打开 PowerShell 或 cmd 并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
要在 Windows 10(1903,1909)上启用虚拟机平台,请以管理员身份打开 PowerShell或 cmd 并运行:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart
为了确保所有相关部件都整齐到位,您应该在此时重启系统,否则可能会发现事情没按预期进行。
2 安装WSL2
本次安装环境
处理器 Intel® Core™ i5-10210U CPU @ 1.60GHz 2.11 GHz
机带 RAM 8.00 GB (7.79 GB 可用)
系统类型 64 位操作系统, 基于 x64 的处理器
操作系统 Windows 11 家庭中文版
注意:本次安装之前没安装过WSL和Ubuntu。
2.1 检查是否可以安装
您的电脑需要以下配置:
Windows 10 2020年5月(2004) 版, Windows 10 2019年5月(1903) 版,或者 Windows 10 2019年11月(1909) 版
一台支持 Hyper-V 虚拟化的计算机
查看是否支持Hyper-V的方法:
打开cmd,输入
systeminfo
查看Hyper-V信息
比如我的电脑就可以支持
下面将会介绍安装在C盘和D盘得方法,自行选择一种就行
2.2 安装WSL(默认安装是在C盘)
用管理员身份运行PowerShell
wsl --install
–install 命令执行以下操作:
- 启用可选的 WSL 和虚拟机平台组件
- 下载并安装最新 Linux 内核
- 将 WSL 2 设置为默认值
- 下载并安装 Ubuntu Linux 发行版(可能需要重新启动),默认是安装在 C 盘的(如果要安装其他盘可以看下面的操作)
注意:上述命令仅在完全未安装 WSL 时才有效,如果运行 wsl --install 并查看 WSL 帮助文本,请尝试运行 wsl --list --online 以查看可用发行版列表并运行 wsl --install -d以安装发行版。
等待一会会
顺便查看了一下可以支持的linux系统,大便、Kali、OpenSUSE、乌班图都有,默认安装Ubuntu。
wsl --list --online
安装了好一会儿了。。。。发现还是在85.7%,等不下去了CTRL+C了。
重新安装,这次安装指定的系统
注意!!!!如果命令行还是不行的话,可以直接在 Windows 应用商店 下载 Ubuntu 20.04 安装即可。
查看版本
wsl -l -v
如果你之前安装过 WSL,当前不是 WSL 2 版本,可以通过以下命令设置 WSL 的默认版本:
wsl --set-version Ubuntu-20.04 2
重启,然后成功了!
配置Linux
接下来打开已安装的Ubuntu,这时候会提示你配置用户和密码
配置完毕!即可享用
在PowerShell中执行wsl即可进入,测试一下,用命令 cd / && ls -lrt 查看所有文件,如下(是不是很熟悉)
2.3 ubuntu20.04(如果需要安装D盘)
下面是将 Ubuntu20.04 安装在D盘的部分:
首先先在你喜欢的盘创建一个文件夹,比如D:\Linux,因为这样即便是重装系统我也不用重新装软件。
然后进到这个文件夹 下载ubuntu20.04
Invoke-WebRequest -Uri https://wsldownload.azureedge.net/Ubuntu_2004.2020.424.0_x64.appx -OutFile Ubuntu20.04.appx -UseBasicParsing
我演示用的是d:\xiazai\linux1,等他下载完即可,文件有4G多,等一会是正常的
然后执行下面四条命令。如下图
Rename-Item .\Ubuntu20.04.appx Ubuntu.zip Expand-Archive .\Ubuntu.zip -Verbose cd .\Ubuntu\ .\ubuntu2004.exe
这个图我是直接进了wsl,因为我已经安装过了。你们第一次安装的话会弹出一个黑框框等几分钟这样,然后输你想要的入用户名和密码就行
当然这个时候可能会报错,什么样的错误都可能,我以前遇到过很多次!
我发现最好的方法就是,按照这个文章上开头的那几步重新执行一遍(确保没有遗漏),然后重启,一定要重启!重启!!之后再尝试,一般就解决了。
最后可以在powershell里面 , 看看自己安装的版本