WSL/WSL2 安装包安装教程 适用于 Linux 的 Windows 子系统(存档)

📅 2026/7/11 22:53:24
WSL/WSL2 安装包安装教程 适用于 Linux 的 Windows 子系统(存档)
适用于 Linux 的 Windows 子系统WSL是 Windows 的一项功能可用于在 Windows 计算机上运行 Linux 环境而无需单独的虚拟机或双重启动。 WSL 旨在为想要同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验。本文主要内容基于WSL官方文档编写部分操作提供个人经验与其他方法为问题解决等提供方法和思路。安装开启「适用于 Linux 的 Windows 子系统」的附加功能无论使用 WSL 1 还是 WSL 2我们都需要开启「适用于 Linux 的 Windows 子系统」的附加功能以管理员身份打开 PowerShell 终端运行下面的命令$ Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux按照提示重启电脑WSL Linux 发行版市面上基于 WSL 有很多 Linux 发行版有广受大家欢迎的 Ubuntu、备受黑客喜爱的 Kali Linux、以及极客们都说好的 Arch Linux。大家可以根据自己的选择进行安装。如果没有特殊的需求那么直接安装 Ubuntu 最新版准没错。如果你像我一样喜欢滚动更新的 Arch Linux 发行版那么安装 Arch WSL 即可。#官方版本 WSL微软官方支持的 WSL Linux 发行版可以直接从微软商店下载。官方支持的 Linux 发行版有Ubuntu: 最新版16.04 LTS18.04 LTS和 20.04 LTS#社区支持的 WSL另外也有社区支持的 WSL Linux 发行版社区支持的第三方 WSL 发行版Arch LinuxAlpine Linux第三方支持的发行版需要按照其官方使用说明进行安装。有需要的同学请自行查看。#WSL 的安装在 开启「适用于 Linux 的 Windows 子系统」的附加功能 之后我们以 Ubuntu 最新版为例在微软商店中点击安装即可。注应用商店默认安装在C盘 可在网站下载Manual installation steps for older versions of WSL | Microsoft Learn安装包后缀改为.zip 解压后执行安装命令Add-AppxPackage .\Ubuntu_2204.1.7.0_x64.appx可能需要更新因为该安装包默认wsl2 因此需要运行$ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart $ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart后重启才能正常加载下一步下载成功后我们需要对刚刚这一发行版进行初始化。在开始菜单中没有意外的话你应该看到刚刚下载完成的 Ubuntu 快捷方式我们点击打开 Ubuntu等待初始化完成即可。初始化过程会将下载好的 Linux 发行版的文件解压缩并存储在电脑上供你使用往往会需要 1 分钟甚至更多。初始化完成之后Linux 会提示你输入一个 UNIX 用户名并为之设置一个 UNIX 密码。这一用户名和密码与你的 Windows 登录账号密码完全无关你可以任意设置。完成之后你的 Ubuntu 发行版就安装成功了。#WSL 2 的安装 注意WSL 2 需要在 WSL 已经安装完毕的基础之上才能进行安装。#使用命令行设置需要由 WSL 2 支持的发行版同样用管理员身份打开 PowerShell 终端执行下面命令找到你当前安装的 Linux 发行版及其名字$ wsl --list之后执行下面的命令将你需要的发行版设置为由 WSL 2 支持将其中的Distro修改为 Linux 发行版名称$ wsl --set-version Distro 2另外你也可以通过下面的命令将之后新安装的发行版均设置为默认由 WSL 2 支持$ wsl --set-default-version 2执行下面的命令如果发现最后一列的VERSION数为 2说明你的配置是成功的$ wsl --list --verbose到这里你应该已经成功安装完成了 WSL 的某个发行版并成功设置了 UNIX 用户名和密码登入 WSL 系统。接下来我将以 Ubuntu 为例子从终端工具、Visual Studio Code 开发环境以及更高阶的操作功能这三个角度具体介绍如何对 WSL 进行配置使之更加「开发环境友好」。如果WSL2升级安装出现问题可能是linux内核缺失需要从微软官方下载内核包wsl_update_x64.msi安装。WSL2 Linux kernel update package for x64 machinesWSL2 Linux kernel update package for ARM64 machines使用Terminal终端Windows Terminal 已经可以直接从 Microsoft Store 中直接下载同上如果想获取安装包安装在D盘可以github下载包Releases · microsoft/terminal或者网页下载也可下载到下载文件夹中Windows Terminal - Windows官方下载 | 微软应用商店 | Microsoft Store安装成功之后Windows Terminal 就应该直接识别出来我们本机上面安装的全部 WSL 环境、PowerShell 环境和 Command Prompt 环境。点击下拉菜单我们就可以看到 Windows Terminal 唤起的「环境」可以看到我安装的 Ubuntu 和 Arch WSL 均被识别成功。Windows Terminal 的配置文件是JSON的格式如果你安装有 VS Code那么你可以直接点击 Settings或者快捷键Ctrl ,唤起 VS Code 打开设置文件。在 VS Code 中打开 Windows Terminal 配置文件进行设置的时候是可以直接自动补全的。我们对 Windows Terminal 的字体、配色、快捷键和 Profile 等一系列设置项目均在这一JSON文件中配置。其中如果希望始终保持 Windows Terminal 的主题颜色为暗色方案而不跟随 Windows 系统亮暗主题可以在globals项目下的requestedTheme属性中这样配置{ globals: { requestedTheme: dark } }如果希望将 Ubuntu WSL 设置为 Windows Terminal 打开唤起的默认环境可以复制 Ubuntu WSL Profile 中的guid将之粘贴至globals项目下的defaultProfile属性类似这样{ globals: { defaultProfile: {d317d852-8b6a-4936-b241-58c11be8aeb2} // … }, profiles: [ { guid: {d317d852-8b6a-4936-b241-58c11be8aeb2}, name: Ubuntu, source: Windows.Terminal.Wsl } // … ] }如果希望将 Dracula 的配色方案添加进入 Windows Terminal可以到 iTerm2-Color-Scheme - Windows Terminal 仓库下找到自己想要使用的配色方案将JSON格式的配色复制进入 Windows Terminal 配置文件即可。比如我希望添加 Dracula 配色方案只需要访问 Dracula.json将代码部分复制并粘贴到 Windows TerminalJSON配置文件中{ // … schemes: [ { name: Dracula, background: #282A36, foreground: #F8F8F2, black: #21222C // … } ] }如果希望更改 Arch WSL Profile 的字体和配色方案为 FuraCode NF 和 DraculaFuraCode NF 是 Fira Code 的 Nerd Font 变种并为之开启 Fluent Design 的亚克力透明背景效果在commandline项为wsl.exe -d Arch的 Profile 中修改将fontFace设置为FuraCode NF将colorScheme设置为Dracula将useAcrylic设置为true将acrylicOpacity设置为0.95{ profiles: [ { acrylicOpacity: 0.95, useAcrylic: true, closeOnExit: true, colorScheme: Dracula, commandline: wsl.exe -d Arch, // … fontFace: FuraCode NF, fontSize: 12 // … } // … ] }配置项目相对较多这里不一一列举如果有更多配置需求的同学请参考原作者的 Dotfile2(https://dowww.spencerwoo.com/2-cli/2-1-terminal.html#fn2)。其他美化和配置可参考微软官方WSL文档Dev on Windows with WSL