什么是WSL?

Windows Subsystem for Linux,适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生虚拟机开销。

在WSL中,你可以:

在 Microsoft Store 中选择你喜欢的Linux (Ubuntu/ Debian/ SUSE 等等)。

运行常用的软件/Bash shell脚本/docker 等。包括但不限于:

工具:vim、emacs、tmux

语言:Javascript/node.js、Ruby、Python、C/C++、 C# 和 F#、Rust、Go 等等

服务:sshd、MySQL、Apache、lighttpd

在 Windows 上调用 GNU/Linux 应用程序。

什么是WSL2?

WSL 2 是 WSL 中体系结构的新版本,它更改 Linux 发行版与 Windows 交互的方式。

 WSL 2 的主要目标是提高文件系统性能并增加系统调用的完全兼容性。 

每个 Linux 发行版都可以作为 WSL 1 或 WSL 2 发行版运行,并可随时进行切换。 

WSL 2 是底层体系结构的主要功能,它使用虚拟化技术和 Linux 内核来实现其新功能。

WSL2 和WSL 在用户层面的感知?

将 Linux 应用需要访问的文件放在 Linux 根文件系统中可以提高文件访问速度

在 WSL 2 预览版的初始版本中,你需要使用 IP 地址而不是 localhost 来访问网络应用程序

在windows10中安装wsl2子系统需要如下三个步骤:

第一步:启用虚拟机平台和 Linux 子系统功能

第二步:安装一个 Linux 发行版

第三步:启用 WSL2

第四步:与vmware workstation共存

注意:WSL 2 仅适用于 Windows 10 版本18917或更高版本

可在cmd中输入winver进行查看

docker windows 如何使用到 wsl系统中的目录_linux查看版本

第一步:启用虚拟机平台和 Linux 子系统功能

以管理员权限启动 PowerShell

docker windows 如何使用到 wsl系统中的目录_linux系统中安装pytorch_02

然后输入以下命令启用虚拟机平台:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

docker windows 如何使用到 wsl系统中的目录_linux系统中安装pytorch_03

以管理员权限启动 PowerShell,然后输入以下命令启用 Linux 子系统功能:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

docker windows 如何使用到 wsl系统中的目录_docker wsl2启动不了_04

在以上每一步命令执行完之后,PowerShell 中可能会提示你重新启动计算机。按“Y”可以重新启动。

第二步:安装一个 Linux 发行版

打开微软商店应用,在搜索框中输入“ubuntu”然后搜索,你可以看到搜索结果中有很多的 ubuntu发行版可以选择。选择一个你喜欢的 ubuntu发行版本然后安装:

docker windows 如何使用到 wsl系统中的目录_linux系统中安装pytorch_05

需要注意:在商店中的安装并没有实际上完成 Linux 子系统的安装,你还需要运行一次已安装的 Linux 发行版以执行真正的安装操作

点击ubuntu图标

docker windows 如何使用到 wsl系统中的目录_docker wsl2启动不了_06

等待ubuntu安装完成,设置用户名密码

docker windows 如何使用到 wsl系统中的目录_linux查看版本_07

第三步:启用 WSL2

使用 wsl -l 可以列出当前系统上已经安装的 Linux 子系统名称。注意这里的 -l 是列表“list”的缩写,是字母 l 不是其他字符。

wsl -l

如果提示 wsl 不是内部或外部命令,说明你没有启用“适用于 Windows 的 Linux 子系统”,请先完成本文第一步。

如果提示没有发现任何已安装的 Linux,说明你没有安装 Linux 发行版,或者只是去商店下载了,没有运行它执行真正的安装,请先完成本文第二步。

docker windows 如何使用到 wsl系统中的目录_linux系统中安装pytorch_08

使用 wsl --set-version 2 命令可以设置一个 Linux 发行版的 WSL 版本。命令中 替换为你安装的 Linux 发型版本的名称,也就是前面通过 wsl -l 查询到的名称。

wsl --set-version Ubuntu 2

docker windows 如何使用到 wsl系统中的目录_linux查看版本_09

注意其提示需要升级内核组件

docker windows 如何使用到 wsl系统中的目录_linux查看版本_10

升级内核后重新设置ubuntu到wsl2

docker windows 如何使用到 wsl系统中的目录_linux系统中安装pytorch_11

当然,使用以下命令可以在以后安装 Linux 的时候默认启用 WSL2:

wsl --set-default-version 2

可以使用如下命令查看当前linux子系统版本

wsl -l -v

docker windows 如何使用到 wsl系统中的目录_docker wsl2启动不了_12

可以通过输入wsl或wsl -d Ubuntu或Ubuntu启动当前已安装好的ubuntu操作系统

docker windows 如何使用到 wsl系统中的目录_docker wsl2启动不了_13

可以通过wsl --shutdown关闭子linux操作系统

docker windows 如何使用到 wsl系统中的目录_linux系统中安装pytorch_14

第四步:与vmware workstation共存

当前vmware workstation最新版本,15.5.6 build-16341506支持和hyper-v共存

docker windows 如何使用到 wsl系统中的目录_linux查看版本_15