加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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

(2023-03-31 14:25:05)
标签:

wls2

分类: Linux知识

第二代 WSL 完整的 Linux 体验

主要区别

WSL 目前有两个主要版本,分别称为 WSL1 和 WSL2。它们最大的不同是,WSL1 是基于动态翻译的方式将 Linux 的系统调用翻译为 Windows NT(Windows 操作系统的内核)的系统调用,而 WSL2 是基于虚拟机的,在 Windows 主系统之上创建完整的 Linux 内核。

开发者在 WSL1 中遇到的问题就是,部分 linux 的命令无法成功运行。当你遇到这个问题,将会一件非常恼火的事情。比如,WSL1 中无法成功运行 docker,因为需要 linux 关于名称空间的系统调用,而 WSL1 并不支持。最终,微软还是决定使用虚拟化技术来克服这一问题。

WSL1 和 WSL2 之间其它的主要功能比较,可以参照这这个微软文档中的表格:

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

从表格中可以看出,WSL2 在功能支持的数量上明显优于 WSL1,但跨 OS 文件系统的性能这一项除外。后面我们会根据实际路径说明,如何避免跨 OS 文件访问以避免性能问题。

启用 WSL2

首先,WSL2 能在 Windows 11 or Windows 10, Version 1903, Build 18362 或更高的版本号中启用。

方式一:命令行方式。最快捷的方式莫过于命令行,一行命令即可完成启用和安装,wsl --install 。该命令会帮助用户启用必要的系统组件,下载最新的 Linux 内核,设置 WSL2 为默认版本,下载并安装 Ubuntu 作为初始版本。

如果想要更细致的控制安装选项,可以使用下面的方式二手动启用。

方式二:图形选项卡。由于 WSL2 的实现方式是基于虚拟机的形式,因此在 Windows功能 的菜单里需要打开两个关键的组件「Virtual Machine Platform」和「Windows Subsystem for Linux」。否则是没有办法创建磁盘,启动并进入 WSL2 的,而 WSL1 仅需打开「Windows Subsystem for Linux」。

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

经过重启电脑后,勾选的新功能将会被启动。打开终端,输入 wsl --set-default-version 2 命令即可将 WSL 的版本设置为使用 WSL2.


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 应用商店点击一下即可安装。

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

默认情况下,这两种安装方式都会将 WSL 安装到系统盘。如果想要将 WSL 安装到非系统盘,可以参考下面这篇文章。

WSL2 跨系统访问文件

由于 WSL2 变成了一个虚拟机的形式,那么以前便捷的资源管理器访问 Linux 目录树的功能便不容易找到对应的位置了。

但是,在资源管理器中输入 \\wsl$\Ubuntu-20.04\home\user 可以通过 smb 协议访问 Linux 目录树,也可以将其绑定在网络位置中快速进入。

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

能够使用系统的资源管理器访问虚拟机的文件真的很方便。在我的使用场景中,我会用来查看实验运行结果产生的图片,以初步判断目标检测的效果。而这之前,我都需要起一个 HTTP 服务来浏览或者通过 scp 拷贝一份到本机才能浏览。


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有