WSL(Windows Subsystem for Linux)可以让用户在在 Windows 下体验 Linux 系统。 本文介绍WSL版本之间的差异,WSL2 的安装与使用,以及 Windows 的终端工具。
WSL1 与 WSL2的差别
WSL2 相对 WSL1 来说做了巨大的调整,使用了虚拟化技术,WSL2 具备完整的 Linux 内核,因此具备所有的 Linux系统调用;WSL1实质上是将Linux的指令调用翻译成Windows的指令。
不过 WSL2 下 Windows 与 Linux 相互访问文件系统会慢很多,因为走的是网络协议。不过按微软的说法,WSL2 Linux子系统访问本系统的文件的IO速度相对WSL1提升了许多。
架构图
具体差别
Feature | WSL 1 | WSL 2 |
---|---|---|
Integration between Windows and Linux | ✅ | ✅ |
Fast boot times | ✅ | ✅ |
Small resource foot print compared to traditional Virtual Machines | ✅ | ✅ |
Runs with current versions of VMware and VirtualBox | ✅ | ✅ |
Managed VM | ❌ | ✅ |
Full Linux Kernel | ❌ | ✅ |
Full system call compatibility | ❌ | ✅ |
Performance across OS file systems | ✅ | ❌ |
安装
启用 WSL 功能
以管理员权限打开 powershell,输入以下命令
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
检查WSL2所需系统版本
win + r
键入winver
查看系统版本
版本要求
x64系统:版本大于 1903(操作系统内部版本大于18362)
其他系统略
启用虚拟机功能
以管理员权限启动powershell, 输入以下命令
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
下载 Linux 内核更新包
下载地址 下载后双击安装,一路yes给相应的权限
设置 WSL2 为默认WSL版本
以管理员权限打开powershell, 输入以下命令
wsl --set-default-version 2
如果失败,重启电脑再试一次
安装你喜欢的Linux发行版
在微软商店搜索对应的发行版一键安装即可 笔者安装的是ubuntu 18.04 LTS
目前支持的发行版
- Ubuntu 16.04 LTS
- Ubuntu 18.04 LTS
- Ubuntu 20.04 LTS
- openSUSE Leap 15.1
- SUSE Linux Enterprise Server 12 SP5
- SUSE Linux Enterprise Server 15 SP1
- Kali Linux
- Debian GNU/Linux
- Fedora Remix for WSL
- Pengwin
- Pengwin Enterprise
- Alpine WSL
启动,按提示设置必要信息(如账号,密码等)
Windows Terminal
Windows Terminal 是微软开发的一款终端工具,等同于Linux下的终端,比 Windows 自带的 cmd 和 powershell 好用太多,而且内置了wsl的支持,建议安装。
安装
微软商店直接搜索安装即可,有稳定版 (Windows Terminal) 和开发版 ( Windows Terminal Preview),看情况选择,功能基本差不多。
一些配置
设置Default为wsl,且启动目录为home下的用户目录
设置Default为启动默认配置文件
win与Linux文件访问
win 快捷访问 Linux 文件夹
在文件资源管理器地址栏键入 \\wsl$
即可访问所有安装的Linux发行版目录
可以右键点击映射网络驱动器方便后续快速访问
Linux 访问 win 文件夹
在Linux下的/mnt
目录即是win文件夹所在, 可以通过此目录访问 win文件资源