WSL安装教程
安装 WSL
先决条件
必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11。
备注
若要检查 Windows 版本及内部版本号,选择 Windows 徽标键 + R,然后键入“winver”,选择“确定” 。 可通过选择“开始”>“设置”>“Windows 更新”>“检查更新”来更新到最新的 Windows 版本。
如果你运行的是旧版,或只是不想使用 install 命令并希望获得分步指引,请参阅旧版 WSL 手动安装步骤。
安装
现在,可以在管理员 PowerShell 或 Windows 命令提示符中输入此命令,然后重启计算机来安装运行适用于 Linux 的 Windows 子系统 (WSL) 所需的全部内容。
wsl -- install |
此命令将启用所需的可选组件,下载最新的 Linux 内核,将 WSL 2 设置为默认值,并安装 Linux 发行版(默认安装 Ubuntu,请参阅下文更改此设置)。
首次启动新安装的 Linux 发行版时,将打开一个控制台窗口,要求你等待将文件解压缩并存储到计算机上。 未来的所有启动时间应不到一秒。
备注:上述命令仅在完全未安装 WSL 时才有效,如果运行 wsl --install
并查看 WSL 帮助文本,请尝试运行 wsl --list --online
以查看可用发行版列表并运行 wsl --install -d <DistroName>
以安装发行版。
更改默认安装的 Linux 发行版
默认情况下,安装的 Linux 分发版为 Ubuntu。 可以使用 -d
标志进行更改。
- 若要更改安装的发行版,请输入:
wsl --install -d <Distribution Name>
。 将<Distribution Name>
替换为要安装的发行版的名称。 - 若要查看可通过在线商店下载的可用 Linux 发行版列表,请输入:
wsl --list --online
或wsl -l -o
。 - 若要在初始安装后安装其他 Linux 发行版,还可使用命令:
wsl --install -d <Distribution Name>
。
提示:如果要通过 Linux/Bash 命令行(而不是通过 PowerShell 或命令提示符)安装其他发行版,必须在命令中使用 .exe:
1 | wsl.exe -- install -d <Distribution Name> |
或若要列出可用发行版,则使用:
1 | wsl.exe -l -o |
如果在安装过程中遇到问题,请查看疑难解答指南的安装部分。
设置 Linux 用户信息
安装 WSL 后,需要为新安装的 Linux 发行版创建用户帐户和密码。 请参阅设置 WSL 开发环境的最佳做法指南来了解详细信息。
设置和最佳做法
建议遵循设置 WSL 开发环境的最佳做法这一指南,逐步了解以下操作:为已安装的 Linux 发行版设置用户名和密码、使用基本的 WSL 命令、安装和自定义 Windows 终端、针对 Git 版本控制进行设置、使用 VS Code 远程服务器进行代码编辑和调试、文件存储的最佳做法、设置数据库、装载外部驱动器、设置 GPU 加速等。
检查正在运行的 WSL 版本
可列出已安装的 Linux 发行版,并通过在 PowerShell 或 Windows 命令提示符中输入以下命令来检查每个发行版的 WSL 版本:wsl -l -v
。
要在安装新的 Linux 发行版时将默认版本设置为 WSL 1 或 WSL 2,请使用命令
1 | wsl -- set -default-version <Version #> |
将 <Version#>
替换为 1 或 2。
要设置与 wsl
命令一起使用的默认 Linux 发行版,请输入 wsl -s <DistributionName>
或 wsl --setdefault <DistributionName>
,将 <DistributionName>
替换为要使用的 Linux 发行版的名称。 例如,从 PowerShell/CMD 输入 wsl -s Debian
,将默认发行版设置为 Debian。 现在从 Powershell 运行 wsl npm init
将在 Debian 中运行 npm init
命令。
要在 PowerShell 或 Windows 命令提示符下运行特定的 WSL 发行版而不更改默认发行版,请使用命令 wsl -d <DistributionName>
,将 <DistributionName>
替换为要使用的发行版的名称。
有关详细信息,请参阅 WSL 的基本命令指南。
将版本从 WSL 1 升级到 WSL 2
要在以前安装的 Linux 发行版上从 WSL 1 更新到 WSL 2,请使用命令
wsl -- set -version <distro name> 2 |
将 <distro name>
替换为要更新的 Linux 发行版的名称。 例如,wsl --set-version Ubuntu-20.04 2
会将 Ubuntu 20.04 发行版设置为使用 WSL 2。 可能还需要启用 WSL 2 使用的虚拟机可选组件并安装内核包(如果尚未这样做)。
默认情况下,新的 Linux 安装将设置为 WSL 2,但 wsl --set-version
命令也可用于从 WSL 2 降级到 WSL 1。 要查看 Linux 发行版是设置为 WSL 1 还是 WSL 2,请使用命令 wsl -l -v
。
如需了解更多信息,请参阅 WSL 命令参考以获取 WSL 命令列表,并参阅比较 WSL 1 和 WSL 2,获取有关用于你的工作场景的指南,或参阅设置 WSL 开发环境的最佳做法,了解有关使用 WSL 设置良好开发工作流的一般指南。
使用 WSL 运行多个 Linux 发行版的方法
WSL 支持运行想要安装的任意数量的不同 Linux 发行版。 这可能包括从 Microsoft Store 选择发行版、导入自定义发行版或生成自己的自定义发行版。
安装后,有几种方法可以运行 Linux 发行版:
- 安装 Windows 终端(推荐):使用 Windows 终端支持你想要安装的任意数量的命令行,并允许你在多个标签或窗口窗格中打开它们并在多个 Linux 发行版或其他命令行(PowerShell、命令提示符、PowerShell、Azure CLI 等)之间快速切换。 可使用独特的配色方案、字体样式、大小、背景图像和自定义键盘快捷键来完全自定义终端。 了解详细信息。
- 通过访问 Windows“开始”菜单并键入已安装的发行版的名称,可以直接打开 Linux 发行版。 例如:“Ubuntu”。 这会在其自己的控制台窗口中打开 Ubuntu。
- 在 Windows 命令提示符或 PowerShell 中,可以输入已安装的发行版的名称。 例如:
ubuntu
- 在 Windows 命令提示符或 PowerShell 中,可以在当前命令行中打开默认的 Linux 发行版,方法是输入:
wsl.exe
。 - 在 Windows 命令提示符或 PowerShell 中,可以在当前命令行中使用默认的 Linux 发行版,而无需输入新的发行版名称,方法是输入:
wsl [command]
。 将[command]
替换为 WSL 命令,例如,替换为wsl -l -v
以列出已安装的发行版,或wsl pwd
以查看当前目录路径在 WSL 中的装载位置。 在 PowerShell 中,命令get-date
将提供 Windows 文件系统中的日期,而wsl date
将提供 Linux 文件系统中的日期。
选择的方法应取决于所执行的操作。 如果已在 Windows 提示符或 PowerShell 窗口中打开 WSL 命令行并想退出,请输入命令:exit
。
想要试用最新的 WSL 预览功能?
加入 Windows 预览体验计划,试用 WSL 的最新功能或更新。 加入 Windows 预览体验成员后,可以在 Windows 设置菜单内选择希望从哪个频道接收预览版,以自动接收与该版本关联的任何 WSL 更新或预览功能。 可以选择:
- 开发频道:更新最新,但稳定性低。
- Beta 版频道:非常适合早期采用者,版本比开发频道的版本更可靠。
- 发布预览频道:在下一版 Windows 即将公开发布之前的预览版修补程序和重要功能。
其他资源
旧版 WSL 的手动安装步骤
为简单起见,通常建议使用 wsl --install 安装适用于 Linux 的 Windows 子系统,但如果运行的是旧版 Windows,则可能不支持这种方式。 下面介绍了手动安装步骤。 如果在安装过程中遇到问题,请查看疑难解答指南的安装部分。
步骤 1 - 启用适用于 Linux 的 Windows 子系统
需要先启用“适用于 Linux 的 Windows 子系统”可选功能,然后才能在 Windows 上安装 Linux 分发。
以管理员身份打开 PowerShell(“开始”菜单 >“PowerShell” >单击右键 >“以管理员身份运行”),然后输入以下命令:
dism.exe /online /enable-feature /featurename :Microsoft-Windows-Subsystem-Linux /all /norestart |
建议现在转到步骤 #2,更新到 WSL 2,但如果只想安装 WSL 1,现在可以重新启动计算机,然后继续执行步骤 6 - 安装所选的 Linux 发行版。 若要更新到 WSL 2,请等待重新启动计算机,然后继续执行下一步。
步骤 2 - 检查运行 WSL 2 的要求
若要更新到 WSL 2,需要运行 Windows 10。
- 对于 x64 系统:版本 1903 或更高版本,采用内部版本 18362 或更高版本。
- 对于 ARM64 系统:版本 2004 或更高版本,采用内部版本 19041 或更高版本。
- 低于 18362 的版本不支持 WSL 2。 使用 Windows Update 助手更新 Windows 版本。
若要检查 Windows 版本及内部版本号,选择 Windows 徽标键 + R,然后键入“winver”,选择“确定”。 更新到“设置”菜单中的最新 Windows 版本。
备注
如果运行的是 Windows 10 版本1903 或 1909,请在 Windows 菜单中打开“设置”,导航到“更新和安全性”,然后选择“检查更新”。 内部版本号必须是 18362.1049+ 或 18363.1049+,次要内部版本号需要高于 .1049。 阅读详细信息:WSL 2 即将支持 Windows 10 版本 1903 和 1909。
步骤 3 - 启用虚拟机功能
安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。 计算机需要虚拟化功能才能使用此功能。
以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename :VirtualMachinePlatform /all /norestart |
重新启动计算机,以完成 WSL 安装并更新到 WSL 2。
步骤 4 - 下载 Linux 内核更新包
-
下载最新包:
备注
如果使用的是 ARM64 计算机,请下载 ARM64 包。 如果不确定自己计算机的类型,请打开命令提示符或 PowerShell,并输入:
systeminfo | find "System Type"
。 Caveat: 在非英文版 Windows 上,你可能必须修改搜索文本,对“System Type”字符串进行翻译。 你可能还需要对引号进行转义来用于 find 命令。 例如,在德语版中使用systeminfo | find '"Systemtyp"'
。 -
运行上一步中下载的更新包。 (双击以运行 - 系统将提示你提供提升的权限,选择“是”以批准此安装。)
安装完成后,请继续执行下一步 - 在安装新的 Linux 分发时,将 WSL 2 设置为默认版本。 (如果希望将新的 Linux 安装设置为 WSL 1,请跳过此步骤。)
备注:有关详细信息,请参阅 Windows 命令行博客上的文章对更新 WSL2 Linux 内核的更改。
步骤 5 - 将 WSL 2 设置为默认版本
打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:
wsl -- set -default-version 2 |
步骤 6 - 安装所选的 Linux 分发
-
打开 Microsoft Store,并选择你偏好的 Linux 分发版。
单击以下链接会打开每个分发版的 Microsoft Store 页面:
-
在分发版的页面中,选择“获取”。
首次启动新安装的 Linux 分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。 未来的所有启动时间应不到一秒。
然后,需要为新的 Linux 分发版创建用户帐户和密码。
祝贺你! 现已成功安装并设置了与 Windows 操作系统完全集成的 Linux 分发!
排查安装问题
如果在安装过程中遇到问题,请查看疑难解答指南的安装部分。
下载发行版
在某些情况下,你可能无法(或不想)使用 Microsoft Store 安装 WSL Linux 发行版。 你可能正在运行不支持 Microsoft Store 的 Windows Server 或长期服务 (LTSC) 桌面操作系统 SKU,或者你的公司网络策略和/或管理员不允许在你的环境中使用 Microsoft Store。 在这些情况下,虽然 WSL 本身可用,但你可能需要直接下载 Linux 发行版。
如果 Microsoft Store 应用不可用,可使用以下链接来下载并手动安装 Linux 发行版:
- Ubuntu
- Ubuntu 20.04
- Ubuntu 20.04 ARM
- Ubuntu 18.04
- Ubuntu 18.04 ARM
- Ubuntu 16.04
- Debian GNU/Linux
- Kali Linux
- SUSE Linux Enterprise Server 12
- SUSE Linux Enterprise Server 15 SP2
- SUSE Linux Enterprise Server 15 SP3
- openSUSE Tumbleweed
- openSUSE Leap 15.3
- openSUSE Leap 15.2
- Oracle Linux 8.5
- Oracle Linux 7.9
- Fedora Remix for WSL
这将导致 <distro>.appx
包下载到你选择的文件夹。
如果愿意,你也可通过命令行下载首选的发行版,可将 PowerShell 与 Invoke-WebRequest cmdlet 一起使用。 例如,下载 Ubuntu 20.04:
Invoke-WebRequest -Uri https: //aka .ms /wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing |
提示:如果下载需要很长时间,请通过设置 $ProgressPreference = 'SilentlyContinue'
来关闭进度栏
你还可以选择使用 curl 命令行实用程序来下载。 使用 curl 下载 Ubuntu 20.04:
curl.exe -L -o ubuntu-2004.appx https: //aka .ms /wslubuntu2004 |
在本示例中,将执行 curl.exe
(而不仅仅是 curl
),以确保在 PowerShell 中调用真正的 curl 可执行文件,而不是调用 Invoke WebRequest 的 PowerShell curl 别名。
下载了发行版后,导航到包含下载内容的文件夹,并在该目录中运行以下命令,其中 app-name
是 Linux 发行版 .appx 文件的名称。
Add-AppxPackage .\app_name.appx |
Appx 包下载完成后,可以通过双击 appx 文件开始运行新发行版。 (命令 wsl -l
不会在此步骤完成之前显示发行版已安装)。
如果你使用 Windows Server,或在运行上述命令时遇到问题,可在 Windows Server 文档页上找到备用安装说明,以通过将 .appx
文件更改为 zip 文件来安装该文件。
安装了发行版后,请按照说明为新的 Linux 发行版创建用户帐户和密码。
安装 Windows 终端(可选)
使用 Windows 终端可以打开多个选项卡或窗口窗格,以显示多个 Linux 发行版或其他命令行(PowerShell、命令提示符、Azure CLI 等)并在它们之间快速切换。 可使用独特的配色方案、字体样式、大小、背景图像和自定义键盘快捷键来完全自定义终端。 了解详细信息。
Windows Server 安装指南
适用于 Linux 的 Windows 子系统可供在 Windows Server 2019(版本 1709)和更高版本上安装。 本指南将指导你完成在计算机上启用 WSL 的步骤。
启用适用于 Linux 的 Windows 子系统
必须启用“适用于 Linux 的 Windows 子系统”可选功能并重启,然后才能在 Windows 上运行 Linux 发行版。
以管理员身份打开 PowerShell 并运行:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux |
下载 Linux 分发版
有关下载首选 Linux 分发版的说明和链接,请参阅手动安装页的下载分发版部分。
提取并安装 Linux 分发版
下载 Linux 分发版后,若要提取其内容并进行手动安装,请执行以下步骤:
-
使用 PowerShell 提取
<DistributionName>.appx
包的内容:PowerShell12Rename-Item .\Ubuntu.appx .\Ubuntu.zip
Expand-Archive .\Ubuntu.zip .\Ubuntu
-
下载了发行版后,导航到包含下载内容的文件夹,并在该目录中运行以下命令,其中
app-name
是 Linux 发行版 .appx 文件的名称。
Add-AppxPackage .\app_name.appx |
注意:安装失败并出现错误 0x8007007e:如果收到此错误,则表明系统不支持 WSL。 请确保运行的是 Windows 版本 16215 或更高版本。 检查内部版本。 另外,请进行检查以确认 WSL 已启用,并且在启用此功能后重新启动了计算机。
3. 使用 PowerShell 将 Linux 发行版路径添加到 Windows 环境路径(在本例中为 C:\Users\Administrator\Ubuntu
):
1 2 | $userenv = [System.Environment]::GetEnvironmentVariable( "Path" , "User" ) [System.Environment]::SetEnvironmentVariable( "PATH" , $userenv + ";C:\Users\Administrator\Ubuntu" , "User" ) |
现在,可以通过键入 <DistributionName>.exe
从任何路径启动你的分发版。 例如: ubuntu.exe
。
安装完成后,可为新的 Linux 发行版创建用户帐户和密码。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库