Skip to content

How to Install WSL?

A Guide for Absolute Beginner

什么是 WSL?

WSL,全称 Windows Subsystem for Linux(适用于 Linux 的 Windows 子系统)。可以让开发者在 windows 系统下运行 GNU/Linux 环境,包括大多数命令行工具、应用程序。

为什么要安装 WSL?

为什么要在 windows 下安装 WSL,教我使用 windows 系统你们真的不是 windows user group?

WSL 的有什么优势?

如果你是一个完全的初学者(absolute beginner),在电脑上安装 Linux 系统并进行双系统的使用会较于硬核,而我们的教程也会涉及到一些初学者非常陌生的词汇,比如引导、Legacy 和 UEFI、MBR 和 GPT、文件系统、系统时间与硬件时间等等。

相较于直接安装 Linux 系统,WSL 在安装上更为简便(堪称傻瓜式安装),且不会占用太多稀缺的硬盘空间(硬盘无论多大,硬盘空间都是稀缺资源)。WSL 提供了一种 “无痛” 的途径让初学者体验到几乎原汁原味的 Linux 系统。

当然,作为一个正经的lug,我们也会教你使用真正的 Linux 系统,其中包括实机安装 Linux(包括双系统的使用),云服务器的使用、Linux 虚拟机、树莓派(包括其他单片机电脑)上 linux 的使用,这些教程正在紧急编写中。

WSL 能做什么?

抛开体验 Linux 这一项,WSL 到底能做些什么呢?

  • 你可以在 Windows 上「安装」你喜欢的 GNU/Linux 发行版
  • 你可以直接在 Windows 上运行 grepawksed 等 Linux 原生可执行文件
  • 你可以在 Windows 上直接使用 Vim、Emacs 等工具,直接使用 Linux 版本的 Javascript/Node.js、Ruby、Python、C/C++、Rust、Go 等语言进行开发,直接运行 MySQL、Apache 等 Linux 原生应用和服务等。

最重要的一点:可以使用 Linux 命令直接操作 windows 系统的文件,个人的体验上,cmd/powershell 的命令很难用,且 Linux 的 shell 明显比 windows 的 cmd/powershell 强大。

WSL 1 与 WSL 2

功能 WSL 1 WSL 2
Windows 和 Linux 之间的集成 ☑ ☑
启动时间短 ☑ ☑
与传统虚拟机相比,占用的资源量少 ☑ ☑
可以与当前版本的 VMware 和 VirtualBox 一起运行 ☑ ☑
托管 VM ❌ ☑
完整的 Linux 内核 ❌ ☑
完全的系统调用兼容性 ❌ ☑
跨 OS 文件系统的性能 ☑ ❌

摘自微软官方文档

其中” 可以与当前版本的 VMware 和 VirtualBox 一起运行 “纯粹扯淡。有使用虚拟机需求的同学谨慎安装 WSL。其中包括安卓模拟器。

可以看出除了跨操作系统文件系统的性能外,WSL 2 体系结构在多个方面都比 WSL 1 更具优势。若无具体说明,以下 WSL 专指 WSL 2。

WSL 的安装

说了半天,这人终于是回到正题了

1.确认 windows 版本

  • 只有 Windows 10 才能安装使用 WSL。Windows 7、8 或之前的任何版本都无法使用,请及时将系统版本更新至最新。
  • 只有 Windows 10 版本 16215 或以后的版本才能够正常运行 WSL。你可以在「Windows 设置 > 系统 > 关于」处找到你的 Windows 10 操作系统版本。
  • 只有 Windows 10 版本 18362 或 18363 以及以后的版本,或小版本号为 1049 的版本,才能够正常运行 WSL 2。需要明确,WSL 2 目前只能在 Windows 10 版本 1903、1909 和 2004 中使用(其中 1903 和 1909 仅支持 x64 系统),因此你需要将自己的 Windows 系统进行升级至合适的版本,才能使用正确的 Windows 10 版本安装 WSL 2。

2.启用系统功能

启用适用于 Linux 的 Windows 子系统

以管理员身份运行 PowerShell,输入:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
并回车执行。

按照提示重启电脑。

若报错,检查 PowerShell 是否是已管理员身份运行,若不是请重新以管理员身份运行 PowerShell,因为 PowerShell 的提权比较复杂。

启用虚拟机功能

以管理员身份运行 PowerShell,输入:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
并回车执行。

按照提示重启电脑。

若报错,检查 PowerShell 是否是已管理员身份运行,若不是请重新以管理员身份运行 PowerShell,因为 PowerShell 的提权比较复杂。

3.下载运行 Linux 内核更新包

4.将 WSL 2 设置为默认版本

运行 PowerShell,输入:

wsl --set-default-version 2
并回车执行。

5.下载并安装 Linux 发行版

打开微软商店,下载 Linux 发行版。这里我们选择被很多人所喜爱的 Ubuntu。

Ubuntu-in-MSstore.png

点击下载。

其他发行版的下载见微软官方文档

下载完成后,在开始菜单中点击下载好的 Linux 发行版进行安装,然后等待初始化完成即可。

初始化后,将提示你输入用户名与密码。接下去就可以愉快地使用 WSL 玩耍了。

WSL 的管理

在 powershell 执行以下命令可查看安装的 Linux 发行版以及 WSL 版本。

wsl -l -v
若你下载的发行版是 Ubuntu,则最终结果应该和我这边类似。

wsl-l-v

请自行忽略背景

结语

至此,我们成功地在 windows 系统下跑起了 Linux,虽然只是个子系统,但我们离 Linux 更近了一步,争取早日从 wsl user group 加入 Linux user group。