本教程演示如何在您的 Windows 10 或 Windows 11 PC 上安装、管理和使用完整的 Linux 环境和 WSL2。您将运行 Linux 内核并执行本机应用程序,同时与 Windows 代码编辑器和浏览器无缝共享文件和服务。
为什么要使用 Linux?
您的虚拟主机几乎可以肯定使用Linux。它快速、开源,可运行大多数网络软件,包括:
- 服务器(Apache、NGINX、LiteSpeed 等)
- 语言运行时(PHP、Python、Node.js、Ruby等)
- 实用程序库(图像处理、ZIP 创建、电子邮件等)
- 数据库(MySQL、MongoDB、Redis等)
- 其他依赖项(Elasticsearch、RabbitMQ、代理等)
其中一些依赖项可能在 Windows 和 macOS 上可用,但安装和维护相同的版本很困难。它们通常速度较慢,您可能会遇到细微的差异,这些差异在您部署之前不会变得明显。
一些开发人员使用 Linux 作为他们的主要桌面操作系统,但如果您需要 Microsoft 或 Adobe 产品等非 Linux 软件,这可能不可行。备选方案:
- 在单个设备上使用两台 PC 或双启动。在系统之间切换可能很麻烦。
- 使用 Hyper-V、VirtualBox、Parallels、WMware 或 Vagrant 运行 Linux 虚拟机 (VM)。这需要大量的操作系统资源和合理的 IT 知识。在系统之间共享文件可能很尴尬。
- 在Docker容器中运行 Web 应用程序。这是另一个需要学习的主题,Docker 本身在 Linux 上本地运行。Windows 和 macOS 版本都在底层使用 Linux,而 Docker Desktop 的 Windows 版本需要 WSL2。
什么是适用于 Linux 的 Windows 子系统?
适用于 Linux 的 Windows 子系统 (WSL) 允许开发人员直接在 Windows 上运行 Linux 环境。它是在 Windows 中运行的完整 Linux 操作系统,因此您可以无缝使用相同的应用程序和文件。
WSL1 是开创性的,将 Linux 系统调用转换为 Windows 等价物。这可能很慢,并且某些功能不可用。WSL2 使用 Hyper-V 虚拟机技术,因此 Linux 兼容性非常好,文件访问速度比以前快 20 倍。
Windows 10 和 Windows 11 差异
微软在 2020 年推出了 WSL2,因此它在 2021 年 10 月完全集成到了 Windows 11 版本中。
Windows 10 需要更多的配置工作。如果您正在考虑升级到 Windows 11,请在安装 WSL2 之前进行。Windows 11 在某些方面并没有改进(我仍然想念任务栏图标取消分组和拖动文件!)但 WSL2 似乎更稳定,我很少遇到问题。
电脑要求
WSL2 使用 Hyper-V。这需要您必须在 BIOS 中启用硬件虚拟化支持。
注意:摆弄您的 BIOS 设置可能会破坏您的 PC!进行更改时要小心。请查阅您的主板制造商的帮助页面或搜索有关您的特定品牌和型号的在线建议。
大多数现代设备都提供硬件虚拟化,但您可以通过重新启动和打开 BIOS 面板进行检查——通常在系统启动时按DEL、F2或F10键。寻找虚拟化技术、VTx、安全虚拟机 (SVM)或类似选项。确保它们已启用、保存并重新启动计算机。
最后,确保您的C:驱动器有 1GB 的备用磁盘空间——最好是更多。您可以在设置、系统、存储中释放一些空间,或者使用Windows 管理工具中的磁盘清理工具。
在撰写本文时,WSL2 会将 Linux 安装到您的C:驱动器中,尽管安装后可以将其移动到其他地方。
视窗要求
WSL2 适用于 Windows 的 Home、Pro 或 Server 版本,但不适用于 Windows 10/11 S。S 模式仅允许 Microsoft Store 中的应用程序“提高”安全性。您可以使用Settings > Update & Security > Activation中的Switch to Windows Home选项从 S 模式切换到 Windows Home/Pro 。
Windows 10 需要 2020 年 5 月更新——即 2004 或更高版本。从“开始”菜单中选择“设置”齿轮,然后选择“系统”,然后选择“关于” 。Windows 规格显示在面板底部。
使用Settings中的Check for updates按钮,如果未安装,则使用Update & Security 。一些较旧的 PC 可能永远不会兼容,而且微软不太可能提供补丁。
禁用快速启动(可选)
快速启动将 Windows 会话和设备驱动程序保存到一个文件中,以便下次启动更快。这可能会导致 Linux 内核出现问题,在下次启动时会变得无响应。如果遇到问题,请从经典控制面板>电源选项>选择电源按钮的功能禁用快速启动:
wsl.bat或者,在您的 Startup 文件夹 ( ) 中创建一个文件C:\Users\\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup,其内容为:
wsl --shutdown
这将在 Windows 启动后关闭 WSL,但一旦您访问 Linux发行版,它将重新启动。
安装 Windows 终端(可选但推荐)
Windows Terminal是一个很棒的终端应用程序,可从Microsoft Store或其存储库github.com/microsoft/terminal/ 获得。
Windows Terminal 在安装时会自动添加 WSL2 Linux 发行版,并提供一系列可配置的选项,包括选项卡、拆分视图、主题、透明度和键绑定。
可以从“设置”菜单项 ( Ctrl+ ,)、命令面板( Ctrl+ Shift+ P) 或从“设置”面板settings.json底部访问配置。
启用 WSL2 (Windows 10)
以下说明适用于 Windows 10。它们在 Windows 11 中不是必需的,但您应该仔细检查您是否执行了 Windows 10 到 11 的升级。
必须在打开或关闭 Windows 功能中启用适用于 Linux 功能的虚拟机平台和Windows 子系统。通过点击开始并键入“功能”或从经典控制面板中的程序和功能图标访问该面板。
或者,您可以在以管理员身份运行的 Windows Powershell 终端中执行以下命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重新启动 Windows,然后通过在 Windows PowerShell 或命令提示符中输入以下命令将 WSL2 启用为默认值:
wsl --set-default-version 2