Windows 10 Version 2004版(20H1) (Build 19041) 已经进入 RTM 阶段,可能会在2020年6月左右发布正式版,目前在 Preview Release (预览版) 通道可以更新使用。2004版其中一个很重要的更新就是 WSL2,现在就去实践体验一番。 一、什么是 WSL2 WSL是适用于 Linux 的 Windows 子系统(Windows Subsystem for Linux),可让开发人员原生运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序。也就是说,对于使用 Windows10 系统的开发人员,要开发 Linux 环境下的程序——尤其是Linux环境下的web程序以及处理和使用开源项目,一般只能使用虚拟机安装 Linux,但是虚拟机在使用中相当于一台独立的计算机,有许多不足,比如性能低、启动慢、管理不便、和宿主机 Win10 系统互操作不方便。WSL 就是为使用 Windows10 系统的软件开发人员准备的 Linux 开发环境。 WSL2 是第二代 WSL,会在 Windows 10 v2004 版中正式发布,相比第一代,新的 WSL2 重新设计了架构,使用真正的 Linux 内核,几乎具有 Linux 的所有完整功能。启用WSL2的 Linux 系统启动时间非常快,内存占用很少,并且,WSL 2 还可以直接原生运行 Docker,VS Code 编辑器还有 Remote-WSL 插件,相对于完整的linux虚拟机只是不支持systemctl、systemd。 Windows 也越来越向虚拟平台靠拢,Windows NT 内核和 Linux 内核都是运行在虚拟平台之上的,是平级的。

二、更新 Windows 版本。 打开微软官方文档,查看WSL2安装说明。 https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-install Windows版本要求 18917 或更高版本,当前可以更新到体验版来启用 WSL2。 在开始开始菜单上右键点击,打开设置,打开 Windows 更新,选择 Windows 预览体验计划,将选择预览体验成员设置为预览版:Release Preview。 打开 Windows 更新,检查更新,可能会重新启动几次,等待系统更新完成。 打开 Windows 设置,系统,关于,查看系统版本。 三、安装组件 1、安装『适用于 Linux 的 Windows 子系统』和『虚拟机平台』可选组件,可以用两种方式安装。 (1)用命令行安装。以管理员身份打开 PowerShell 并运行命令:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

(2)打开 『控制面板』『Windows功能』对话框安装或查看。 2、WSL 2 需要更新其内核组件。有关信息,请访问 https://aka.ms/wsl2kernel 按照此文档说明,下载并安装 wsl_update_x64.msi ,这个升级包下载可能比较慢。 四、安装 Ubuntu 1、默认安装 Linux 时是第一代 WSL,要在以后安装 Linux 的时候默认启用 WSL2,在Windows PowerShell中运行命令:wsl --set-default-version 2 2、如果已经安装了 Linux 系统并且是第一代,可以升级到 WSL2。同样,WSL2也可以降级到WSL1。 wsl -l -v #查看已安装Linux版本和名称,完整命令格式:wsl --list --verbose wsl --set-version Ubuntu 2 #升级到WSL2,其中 Ubuntu 是已经安装的Linux名称,命令格式:wsl --set-version <Distro> <Version>

3、打开 store ,搜索 ubuntu ,点击获取,大约不到300MB,下载速度视网络情况,下载完成后会自动启动安装,安装时要求输入一个新的用户名和密码。 五、安装 Windows Terminal Windows Terminal 对 PowerShell、SSH、WSL 都提供的支持,是新的命令行应用程序,具有多标签、分割窗口、快捷键、完整的Unicode字符支持等功能,可以更加方便的配合 WSL2 在 Linux 的命令行下操作。打开 Microsoft Store ,搜索 Windows Terminal 并安装。(目前还是预览版)

六、基本使用 1、启动与关闭 打开 Windows 开始菜单启动,或者在 Windows Terminal 中输入 wsl 启动,输入 exit 退出。


wsl #启动
wsl --shutdown #关闭所有正在运行的 Linux 和 WSL 2

2、启动 WSL2 之后,会在任务管理器中发现多了一个 虚拟机工作线程。 3、在目录


 %LOCALAPPDATA%\Packages\<PackageFamilyName>\LocalState\
 

下会出现一个 ext4.vhdx 文件。WSL2 将所有 Linux 文件存储在使用 ext4 文件系统的 VHD 中。此 VHD 自动调整大小以满足存储需求。这个VHD的初始最大存储量是256GB,当然大小是可以调整的。而在 WSL 1 中文件是放在 C 盘的。 4、当从 Linux 应用程序访问 Windows 文件或从 Windows 应用程序访问 Linux 文件时,与 WSL1 相比文件传输速度较慢, 这是 WSL2 体系结构变化导致的结果。 5、wsl2 中的默认有一个具有自己IP地址的虚拟化以太网适配器,查询 eth0 接口的 IP 地址命令:ip addr | grep eth0 。从 windows 访问 Linux 应用程序可以直接使用 localhost 访问,也可以使用 WSL2 的IP地址。 6、在 WSL2 中用可以直接打开 Windows 应用程序。比如打开 bashshell 并运行 explorer.exe ,就可以打开 Windows 文件资源管器。 7、WSL2 中也是可以安装桌面环境的,以转发或远程桌面的方式访问,但是做为开发人员估计没有人想要安装 Linux 的桌面环境吧,如果真的需要 Linux 桌面环境还是真机安装或使用虚拟机。 8、在 VMware Workstation Tech Preview 20H1 和 VirtualBox 6.0 以上版本中提供了对 Hyper-V 的支持,因此如果启用 WSL 之后再安装虚拟机时要注意版本。。 9、请参考微软官方文档: https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-install 待续: Win10 + WSL2 + VS Code + Terminal 配置开发环境