WSL2完全指南:在Windows 10和11上无缝运行Linux

本教程详细介绍了如何在Windows 10和11上安装、配置和使用WSL2,包括Linux环境设置、文件共享、Docker集成和VS Code开发环境配置,帮助开发者在Windows上高效运行Linux应用。

WSL2教程:Windows 10和11完全指南

主要内容

WSL2允许在Windows 10和11上无缝集成Linux环境,使您能够同时使用Linux应用程序和Windows资源。

与Windows 10相比,Windows 11上的WSL2安装和设置更加简化,Windows 10需要手动启用虚拟机功能。

使用WSL2可以直接在Windows中运行Linux GUI应用程序,无需额外的X服务器软件。

Docker可以在WSL2中高效使用,启动时间更快,性能更好,无需专用的Hyper-V。

通过挂载和符号链接,可以轻松在Linux和Windows之间共享文件和管理。

VS Code与WSL2集成提供了强大的开发环境,可以直接在编辑器中访问Linux文件和终端。

为什么使用Linux?

您的Web主机几乎肯定使用Linux。它快速、开源,并运行大多数Web软件,包括:

  • 服务器(Apache、NGINX、LiteSpeed等)
  • 语言运行时(PHP、Python、Node.js、Ruby等)
  • 实用程序库(图像处理、ZIP创建、电子邮件发送器等)
  • 数据库(MySQL、MongoDB、Redis等)
  • 其他依赖项(Elasticsearch、RabbitMQ、代理等)

其中一些依赖项可能在Windows和macOS上可用,但安装和维护相同版本很困难。它们通常较慢,并且您可能会遇到细微差异,直到部署时才会显现。

然而,我们不能总是在笔记本电脑上使用Linux作为主要操作系统。例如,如果您使用非Linux软件(如Microsoft或Adobe产品),则必须使用Windows或macOS。但我们可以使用一些替代方案:

  • 使用两台PC或在单台设备上双启动。在系统之间切换可能很麻烦。
  • 使用Hyper-V、VirtualBox、Parallels、WMware或Vagrant运行Linux虚拟机(VM)。这需要相当大的操作系统资源和合理的IT知识。在系统之间共享文件可能很麻烦。
  • 在Docker容器中运行Web应用程序。这是另一个需要学习的主题,Docker本身在Linux上本地运行。Windows和macOS版本在底层使用Linux,Windows版的Docker Desktop需要WSL2。

什么是Windows Subsystem for Linux?

Windows WSL2允许开发人员直接在Windows上运行Linux环境。它是一个在Windows内部运行的全功能Linux操作系统,因此您可以无缝使用相同的应用程序和文件。

WSL1是开创性的,并将Linux系统调用转换为Windows等效调用。但它速度慢,并且某些功能不可用。WSL2使用Hyper-V虚拟机技术,因此Linux兼容性极佳,文件访问速度比之前快20倍。

Windows 10和Windows 11的区别

Microsoft在2020年推出了WSL 2,因此它在2021年10月的Windows 11发布中完全集成。

Windows 10需要更多的配置工作。如果您考虑升级到Windows 11,请在安装WSL 2之前进行。Windows 11在某些方面并非改进(我仍然怀念任务栏图标取消分组和拖放文件!),但WSL 2似乎更稳定,我很少遇到问题。

PC要求

WSL 2使用Hyper-V。这需要硬件虚拟化支持,您必须在BIOS中启用它。

警告:摆弄BIOS设置可能会损坏您的PC!更改时要小心。查阅主板制造商的帮助页面或在线搜索有关您特定品牌和型号的建议。

大多数现代设备都支持硬件虚拟化,但您可以通过重启并打开BIOS面板来检查——通常在系统启动时按DEL、F2或F10键。查找Virtualization Technology、VTx、Secure Virtual Machine(SVM)或类似选项。确保它们已启用,保存并重启机器。

最后,确保您的C:驱动器有1GB的可用磁盘空间——理想情况下更多。您可以在设置、系统、存储中或使用Windows管理工具中的磁盘清理工具释放一些空间。

WSL 2默认将您的Linux发行版安装在C:驱动器上的隐藏文件夹中。安装后可以将其移动到其他地方。

Windows要求

WSL2可用于Windows的家庭版、专业版或服务器版,但不适用于Windows 10/11 S。S模式仅允许来自Microsoft Store的应用程序以“提高”安全性。您可以使用设置 > 更新和安全 > 激活中的“切换到Windows家庭版”选项从S模式切换到Windows家庭版/专业版。

Windows 10需要2020年5月更新——版本2004或更高。要更新,从开始菜单中选择设置,然后选择系统,接着选择关于。Windows规格显示在面板底部。

如果未安装,使用设置中的“检查更新”按钮,然后选择更新和安全。然而,一些旧的Windows机器可能永远不兼容,Microsoft不太可能提供补丁。

禁用快速启动(可选)

快速启动将Windows会话和设备驱动程序保存到文件中,以便下次启动更快。这可能会导致Linux内核出现问题,下次启动时无响应。如果遇到问题,从经典控制面板 > 电源选项 > 选择电源按钮的功能禁用快速启动:

或者,在启动文件夹(C:\Users<用户名>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup)中创建一个wsl.bat文件,内容如下:

1
wsl --shutdown

这将在Windows启动后关闭WSL,但一旦您访问Linux发行版,它将重新启动。

安装Windows Terminal(可选但推荐)

Windows Terminal是一个很棒的终端应用程序,可从Microsoft Store或其存储库github.com/microsoft/terminal/获取。

Windows Terminal在安装WSL2 Linux发行版时自动添加它们,并提供可配置的选项,包括标签、分割视图、主题、透明度和键绑定。

配置可从设置菜单项(Ctrl + ,)、命令面板(Ctrl + Shift + P)或设置面板底部的settings.json访问。

启用WSL2(Windows 10)

本WSL2教程中的步骤适用于WSL2 Windows 10。然而,它们也应在Windows 11中正常工作,但如果您执行了Windows 10到11的升级,应再次检查。

必须在“打开或关闭Windows功能”选项中启用虚拟机平台和Windows Subsystem for Linux功能。通过点击开始并输入“功能”或从经典控制面板中的“程序和功能”图标访问该面板。

或者,您可以在以管理员身份运行的Windows Powershell终端中执行以下命令:

1
2
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重启Windows,然后通过

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计