启用WLS2,不用虚拟机也能体验完整Linux

标签:
wls2 |
分类: Linux知识 |
第二代 WSL 完整的 Linux 体验
主要区别
WSL 目前有两个主要版本,分别称为 WSL1 和 WSL2。它们最大的不同是,WSL1 是基于动态翻译的方式将 Linux 的系统调用翻译为 Windows NT(Windows 操作系统的内核)的系统调用,而 WSL2 是基于虚拟机的,在 Windows 主系统之上创建完整的 Linux 内核。
开发者在 WSL1 中遇到的问题就是,部分 linux 的命令无法成功运行。当你遇到这个问题,将会一件非常恼火的事情。比如,WSL1 中无法成功运行 docker,因为需要 linux 关于名称空间的系统调用,而 WSL1 并不支持。最终,微软还是决定使用虚拟化技术来克服这一问题。
WSL1 和 WSL2 之间其它的主要功能比较,可以参照这这个微软文档中的表格:

从表格中可以看出,WSL2 在功能支持的数量上明显优于 WSL1,但跨 OS 文件系统的性能这一项除外。后面我们会根据实际路径说明,如何避免跨 OS 文件访问以避免性能问题。
启用 WSL2
首先,WSL2 能在 Windows 11 or Windows 10, Version
1903,
方式一:命令行方式。最快捷的方式莫过于命令行,一行命令即可完成启用和安装,wsl
--install
如果想要更细致的控制安装选项,可以使用下面的方式二手动启用。
方式二:图形选项卡。由于 WSL2 的实现方式是基于虚拟机的形式,因此在 Windows功能 的菜单里需要打开两个关键的组件「Virtual Machine Platform」和「Windows Subsystem for Linux」。否则是没有办法创建磁盘,启动并进入 WSL2 的,而 WSL1 仅需打开「Windows Subsystem for Linux」。
经过重启电脑后,勾选的新功能将会被启动。打开终端,输入 wsl --set-default-version
2
PS C:\Users\someone> wsl --set-default-version 2
For information on key differences with WSL 2 please visit https://aka.ms/wsl2 The operation completed successfully.
安装 Linux 发行版应该不必多说,通过 Windows 应用商店点击一下即可安装。
默认情况下,这两种安装方式都会将 WSL 安装到系统盘。如果想要将 WSL 安装到非系统盘,可以参考下面这篇文章。
WSL2 跨系统访问文件
由于 WSL2 变成了一个虚拟机的形式,那么以前便捷的资源管理器访问 Linux 目录树的功能便不容易找到对应的位置了。
但是,在资源管理器中输入 \\wsl$\Ubuntu-20.04\home\user
能够使用系统的资源管理器访问虚拟机的文件真的很方便。在我的使用场景中,我会用来查看实验运行结果产生的图片,以初步判断目标检测的效果。而这之前,我都需要起一个 HTTP 服务来浏览或者通过 scp 拷贝一份到本机才能浏览。