Windows subsystem for Linux2 (WSL2) 入坑指南
本文已投稿至公众号CodeShow,欢迎关注交流容器与云原生技术
WSL 2 是适用于 Linux 的 Windows 子系统体系结构的一个新版本,它支持适用于 Linux 的 Windows 子系统在 Windows 上运行 ELF64 Linux 二进制文件。相比于WSL1,WSL2 使用的是全新的体系结构,能够通过子系统方式运行真正的 Linux内核。
一、WSL1 与 WSL2 对比
WSL2在托管 VM 内使用实际的 Linux 内核,在牺牲部分跨OS文件系统性能(子系统和windows之间进行文件写入、复制或修改)的情况下,支持完整的系统调用兼容性以及跨 Linux 和 Windows 操作系统的性能。以下为两个版本的WSL功能对比:
功能 | WSL 1 | WSL 2 |
---|---|---|
Windows 和 Linux 之间的集成 | ✅ | ✅ |
启动时间短 | ✅ | ✅ |
与传统虚拟机相比,占用的资源量少 | ✅ | ✅ |
可以与当前版本的 VMware 和 VirtualBox 一起运行 | ✅ | ✅ |
托管 VM | ❌ | ✅ |
完整的 Linux 内核 | ❌ | ✅ |
完全的系统调用兼容性 | ❌ | ✅ |
跨 OS 文件系统的性能 | ✅ | ❌ |
内容源引:比较 WSL 版本 | Microsoft Learn
总的来讲,WSL2使用完整的Linux Kernel,且有更好的兼容性和系统互操作性。
二、Windows系统要求
注意:WSL 2 仅在 Windows 11 或 Windows 10 版本 1903、内部版本 18362 或更高版本中可用。
如果需要在低版本win10中安装wsl2,请参考 旧版 WSL 的手动安装步骤 | Microsoft Learn
安装前,需要检查windows版本。。。按windows建,输入 winver
..
三、安装WSL2及Linux
建议先手动下载WSL Kernel Update包,手动安装后,再执行下述操作
下载地址:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
使用管理员模式打开Powershell或者CMD,
- 设置WSL版本为2
1 | wsl --set-default-version 2 |
- 查看wsl发行版
1 | PS C:\Users\admin> wsl --list --online |
- 安装制定发行版。比如Ubuntu
1 | wsl --install -d Ubuntu |
等待安装完毕后,设置账密即可
- 查看已安装的Linux子系统
1 | wsl --list -v |
四、(TODO)使用WSL2的一些骚操作
- 使用VSCode实现WSL环境的开发与部署。
- 开启WSL子系统图形界面,IDE跑起来。
- 在windows11上使用Docker,打通Windows与WSL的开发部署流程。
- 在WSL中使用主机的GPU跑机器学习任务。
一起探讨更多的技术细节,试试关注公众号CodeShow