目录
安装子系统
报错解决官方方法
步骤 1 - 启用适用于 Linux 的 Windows 子系统
步骤 2 - 检查运行 WSL 2 的要求
步骤 3 - 启用虚拟机功能
步骤 4 - 下载 Linux 内核更新包
步骤 5 - 将 WSL 2 设置为默认版本
步骤 6 - 安装所选的 Linux 分发
排查安装问题
下载发行版
安装 Windows 终端(可选)
建议的内容
设置 WSL 开发环境
排查适用于 Linux 的 Windows 子系统问题
WSL 的基本命令
比较 WSL 版本
终端安装
安装
设置默认终端应用程序
选择默认的终端配置文件
添加新的配置文件
打开新选项卡
调用命令面板
打开新窗格
配置
设置 JSON 文件
命令行参数
疑难解答
安装子系统
1.打开设置,搜索开发者选项,打开开发者模式。在控制面版的 控制面板\程序\程序和功能 中点击启用或关闭windows功能,勾选适用于windows的linux子系统和虚拟机平台,然后进行重启。
2.在microsoft直接搜索kali和Ubuntu下载
3.然后在应用商店下载好的打开kali或者Ubuntu,让他进行安装,但是可能会在命令行中进行报错,这就需要进行报错解决
报错解决官方方法
步骤 1 - 启用适用于 Linux 的 Windows 子系统
需要先启用“适用于 Linux 的 Windows 子系统”可选功能,然后才能在 Windows 上安装 Linux 分发。
以管理员身份打开 PowerShell(“开始”菜单 >“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或 Windows 11。
- 对于 x64 系统:版本 1903 或更高版本,内部版本为 18362 或更高版本。
- 对于 ARM64 系统:版本 2004 或更高版本,内部版本为 19041 或更高版本。
备注
低于 18362 的版本不支持 WSL 2。 使用 Windows Update 助手https://www.microsoft.com/software-download/windows10更新 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 并运行:
PowerShell
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重新启动计算机,以完成 WSL 安装并更新到 WSL 2。
步骤 4 - 下载 Linux 内核更新包
-
下载最新包:
- 适用于 x64 计算机的 WSL2 Linux 内核更新包https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
备注
如果使用的是 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 设置为默认版本:
PowerShell
wsl --set-default-version 2
步骤 6 - 安装所选的 Linux 分发
-
打开 Microsoft Store,并选择你偏好的 Linux 分发版。
单击以下链接会打开每个分发版的 Microsoft Store 页面:
- Ubuntu 18.04 LTS
- Ubuntu 20.04 LTS
- Ubuntu 22.04 LTS
- openSUSE Leap 15.1
- SUSE Linux Enterprise Server 12 SP5
- SUSE Linux Enterprise Server 15 SP1
- Kali Linux
- Debian GNU/Linux
- Fedora Remix for WSL
- Pengwin
- Pengwin Enterprise
- Alpine WSL
- Raft(免费试用版)
-
在分发版的页面中,选择“获取”。
首次启动新安装的 Linux 分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。 未来的所有启动时间应不到一秒。
然后,需要为新的 Linux 分发版创建用户帐户和密码。
排查安装问题
如果在安装过程中遇到问题,请查看疑难解答指南的安装部分。
下载发行版
在某些情况下,你可能无法(或不想)使用 Microsoft Store 安装 WSL Linux 发行版。 你可能正在运行不支持 Microsoft Store 的 Windows Server 或长期服务 (LTSC) 桌面操作系统 SKU,或者你的公司网络策略和/或管理员不允许在你的环境中使用 Microsoft Store。 在这些情况下,虽然 WSL 本身可用,但你可能需要直接下载 Linux 发行版。
如果 Microsoft Store 应用不可用,可使用以下链接来下载并手动安装 Linux 发行版:
- Ubuntu
- Ubuntu 22.04 LTS
- 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:
PowerShell
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 文件的名称。
Powershell
Add-AppxPackage .\app_name.appx
Appx 包下载完成后,可以通过双击 appx 文件开始运行新发行版。 (命令 wsl -l
不会在此步骤完成之前显示发行版已安装)。
如果你使用 Windows Server,或在运行上述命令时遇到问题,可在 Windows Server 文档页上找到备用安装说明,以通过将 .appx
文件更改为 zip 文件来安装该文件。
安装了发行版后,请按照说明为新的 Linux 发行版创建用户帐户和密码。
安装 Windows 终端(可选)
使用 Windows 终端可以打开多个选项卡或窗口窗格,以显示多个 Linux 发行版或其他命令行(PowerShell、命令提示符、Azure CLI 等)并在它们之间快速切换。 可使用独特的配色方案、字体样式、大小、背景图像和自定义键盘快捷键来完全自定义终端。 了解详细信息。
安装 Windows 终端。
建议的内容
-
设置 WSL 开发环境
使用此分步指南中的最佳做法设置 WSL 开发环境。 了解如何运行 Ubuntu、Visual Studio Code或 Visual Studio、Git、Windows 凭据管理器、MongoDB、MySQL、Docker 远程容器等。
-
排查适用于 Linux 的 Windows 子系统问题
提供有关在适用于 Linux 的 Windows 子系统上运行 Linux 时遇到的常见错误和问题的详细信息。
-
WSL 的基本命令
适用于 Linux 的 Windows 子系统 (WSL) 中基本命令的参考。
-
比较 WSL 版本
WSL 2 具有 WSL 1 的优点,但使用实际的 Linux 内核,而不是使用 WSL 1 之类的转换层,从而提高性能。
终端安装
安装
若要试用最新的预览功能,可能还需要安装 Windows 终端预览。
备注
如果你无法访问 Microsoft Store,GitHub 发布页上发布有内部版本。 如果从 GitHub 安装,Windows 终端将不会自动更新为新版本。 有关使用包管理器(winget、chocolatey、scoop)的其他安装选项,请参阅 Windows 终端产品存储库。
设置默认终端应用程序
重要
只有 Windows 11 支持此功能。
若要使用 Windows 终端打开任何命令行应用程序,请将其设置为默认终端应用程序。
- 打开 Windows 终端并转到设置 UI 窗口。
- 选择启动并选择“Windows 终端”作为默认终端应用程序设置。
选择默认的终端配置文件
安装后打开 Windows 终端时,它会在打开的选项卡中通过 PowerShell 命令行作为默认配置文件启动。
更改默认配置文件:
- 打开 Windows 终端并转到设置 UI 窗口。
- 选择启动并选择所偏好的默认配置文件。
如果愿意,还可以在与 Windows 终端关联的 Settings.json 文件中设置默认配置文件。
添加新的配置文件
如果已安装 WSL 发行版或多个版本的 PowerShell,Windows 终端将自动为你创建配置文件。
除了 + 新增配置文件选项之外,命令行配置文件还将列在设置 UI 中。
详细了解动态配置文件页上的动态配置文件。
打开新选项卡
可按 Ctrl+Shift+T 或选择 +(加号)按钮,打开默认配置文件的新选项卡。 若要打开其他配置文件,请选择 + 按钮旁的 ˅(箭头)打开下拉菜单。 然后可以从中选择要打开的配置文件。
调用命令面板
可以通过命令面板调用 Windows 终端的大多数功能。 调用它的默认键组合是 Ctrl+Shift+P。 你还可以使用 Windows 终端预览下拉菜单中的命令面板按钮打开它。
打开新窗格
可以使用窗格并行运行多个 shell。 若要打开窗格,可使用 Alt+Shift++ 打开垂直窗格,或使用 Alt+Shift+- 打开水平窗格。 还可使用 Alt+Shift+D 打开焦点配置文件的重复窗格。 详细了解窗格页上的窗格。
配置
若要自定义 Windows 终端的设置,请在下拉菜单中选择“设置”。 这将打开设置 UI 以配置设置。 可以在操作页上了解如何使用键盘快捷键打开设置 UI。
设置 JSON 文件
如果希望使用代码(而不是图形用户界面)配置 Windows 终端设置,则可以编辑 settings.json 文件。
在 Windows 终端下拉菜单中选择设置,同时按住 Shift 以在默认文本编辑器中打开 settings.json
文件。 (默认文本编辑器在 Windows 设置 中定义。)
可以在以下目录之一中找到 Windows 终端 settings.json 文件的路径:
- 终端(稳定版/通用版):
%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json
- 终端(预览版):
%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe\LocalState\settings.json
- 终端(未打包:Scoop、Chocolately 等):
%LOCALAPPDATA%\Microsoft\Windows Terminal\settings.json
提示
- 可以通过在下拉菜单中选择设置并按住 Alt 在默认文本编辑器中打开
defaults.json
文件来访问 Windows 终端的默认设置。 此文件是自动生成的,对其进行的任何更改都将被忽略。 - 为了将配置文件数据和配色方案存储在单独的文件中,可创建一个 JSON 片段扩展,这有助于防止配置文件太大。
命令行参数
可以使用命令行参数在特定配置中启动终端。 这些参数允许通过自定义配置文件设置打开具有特定选项卡和窗格的终端。 详细了解命令行参数页上的命令行参数。
疑难解答
如果使用终端时遇到任何问题,请参考故障排除页。 如果发现任何 bug 或要提出功能请求,可以选择终端的“关于”菜单中的反馈链接转到 GitHub 页,可以在其中提出新问题。