如何在 Windows 上正确配置 WSL2 以与 Linux 配合使用

最后更新: 2025年27月11日

  • WSL2 将真正的 Linux 发行版集成到 Windows 中,具有完整的内核和完整的系统调用支持。
  • 使用 wsl --install 可以简化安装过程,它会启用组件、安装内核并默认配置 Ubuntu。
  • WSL2、Windows Terminal 和 VS Code 的组合可以创建一个几乎与生产环境完全相同的开发环境。
  • WSL2 大大改进了 Docker、数据库和 Linux 工具的使用,同时保持了 Windows 桌面的便捷性。
用于在 Windows 上使用 Linux 的 WSL2

如果你在 Windows 系统下编程,但部署到 Linux 服务器上,你可能不止一次遇到过环境差异、生产环境下无法正常运行的库,或者 Docker 运行不稳定等问题。WSL 的创建正是为了避免这些噩梦,而且…… WSL2 微软终于说到点子上了: 一个接近原生 Linux 的系统,集成到 Windows 中。 而且无需搭建庞大的虚拟机。

这已成为数千名开发者的首选方案,因为它允许你在 Windows 10 或 11 中打开 Ubuntu、Debian 或 Kali 终端,运行命令、Docker、数据库或命令行工具,就像在 Linux 服务器上一样,但又无需放弃 Windows 应用程序和游戏。让我们来看看它的工作原理、安装方法、与 WSL1 的区别,以及如何在日常工作中充分利用它。

什么是 WSL?它为何能改变 Windows 开发人员的生活?

 

世界超级联赛 是的首字母缩写 适用于 Linux 的 Windows 子系统该子系统允许您在 Windows 系统中运行 GNU/Linux 发行版,而无需传统的虚拟机或双启动。您可以安装 Ubuntu、Debian、Kali、openSUSE、Arch(使用 appx 文件)或其他发行版,并直接从 Windows 桌面使用它们的控制台工具。

与 WSL1 不同, WSL2 它使用真正的 Linux 内核 它运行在由 Windows(Hyper-V 和虚拟机平台)管理的轻量级虚拟机中,并完全支持 ELF64 系统调用。WSL1 是一个系统转换层,在某些任务上速度很快,但在兼容性方面存在严重限制,尤其是在与 Docker 等工具的兼容性方面。

对于 Web 开发人员、后端开发人员、DevOps 开发人员或数据专家来说,这意味着您可以 在与生产环境几乎完全相同的环境中工作 (大多数情况下是 Linux),使用相同的库、数据库管理器、队列、消息服务器等等,而无需放弃 Windows。“在我机器上运行正常”这种老生常谈已成为过去,因为您可以在 Windows 上进行开发,然后部署到完全不同的 Linux 发行版上。

WSL2 并非功能齐全的 Linux 图形桌面环境。 与 GNOME 或 KDE 虚拟机类似,WSL2 的主要界面是终端。不过,现在你也可以在 WSL2 上运行 Linux 图形界面应用程序,甚至可以利用 GPU 加速来处理机器学习或高级图形等工作负载。如果你需要远程访问应用程序,可以进行相应的配置。 Windows 上的 Chrome 远程桌面.

WSL2

Windows 与 Linux:经典的开发环境问题

Windows 仍然是台式电脑上安装量最大的操作系统。虽然大多数生产应用程序部署都是在 Linux 上完成的,但这种双重性一直给在 Windows 上工作但在 Linux 服务器上维护或部署应用程序的开发人员造成了冲突。

macOS 用户历来遇到的摩擦较少。 因为 macOS 拥有类似 Unix 的基础架构,许多工具的使用方式也与 Linux 类似。这正是多年前众多开发者迁移到 Mac 的原因之一:他们需要一个好用的终端和更接近生产环境的界面。

重大转折点出现在…… Docker容器技术已成为开发和部署的必备工具,但在 Windows 系统上,由于兼容层效率低下,容器的性能和用户体验都相当糟糕。WSL2 解决了其中许多问题,提供了一个 Docker 运行更加流畅的环境。

独家内容 - 点击这里  在 Windows 系统中关联 Microsoft 帐户时出现错误代码 0x80190001,我该怎么办?

WSL1 与 WSL2:区别以及为何您应该使用版本 2

WSL 主要有两个版本: WSL1 和 WSL2虽然两者都允许你在 Windows 上运行 Linux,但它们的架构已经发生了很大的变化,这在性能和兼容性方面是很明显的。

  • WSL1 转换 Linux 系统调用 它与 Windows 内核集成。这带来了极快的启动速度和良好的文件集成,但与某些应用程序的兼容性有限,尤其是一些需要真正 Linux 内核的应用程序,例如某些数据库引擎或以全速运行的 Docker。
  • WSL2 使用带有完整 Linux 内核的轻量级虚拟机。由 Windows 管理。它提供与系统调用的完全兼容性,提高了文件系统性能(尤其是在 Linux 文件系统本身上),并启用了 WSL2 上的原生 Docker 和直接内核访问等高级功能。
  • 两个版本有一些共同的特点它的优势包括与 Windows 系统集成、启动速度快、兼容 VMware 或 VirtualBox 等虚拟化工具(最新版本)以及支持多种 Linux 发行版。然而,只有 WSL2 拥有完整的 Linux 内核和全面的系统调用支持。

上述所有的, 目前推荐的方案是使用 WSL2。除非你有非常具体的理由继续使用 WSL1。例如,Docker Desktop 的设计初衷就是与 WSL2 集成,而且许多现代指南和工具都已将此版本视为标准。

WSL2

在 Windows 10 和 Windows 11 上安装 WSL2 的要求

要使用 WSL2,您需要较新版本的 Windows 系统。一般来说,您必须满足以下条件:

  • Windows 10 版本 2004 或更高版本(内部版本 19041+) 使用简化命令 wsl --install.
  • 具体来说,对于 WSL2 而言, Windows 10 版本 1903,内部版本 18362 或更高版本或 Windows 11。
  • 64 位架构WSL2 不适用于 32 位 Windows 10。

除了, 您必须确保在 BIOS 中启用虚拟化功能。 你的团队。如果不是,你可能会遇到以下错误: 0x80370102这些消息通常表示硬件虚拟化未激活。进入 BIOS/UEFI,找到与 CPU 或“虚拟化技术”相关的选项,并启用它。

使用命令 wsl –install 从头开始​​安装 WSL2

在最新版本的 Windows 10 和 Windows 11 中,安装过程已大大简化:只需一条命令并重启即可。

1.以管理员身份打开 PowerShell在“开始”菜单中搜索“PowerShell”,右键单击,然后选择“以管理员身份运行”。如果出现用户帐户控制 (UAC) 提示,请接受。

2. 运行完整的安装命令:

命令: wsl --install

这条命令会处理多个内部步骤,您无需进行任何其他操作:

  • 激活必要的可选组件: 适用于 Linux 的 Windows 子系统 y 虚拟机平台.
  • 下载并安装 最新 Linux 内核 适用于 WSL。
  • 配置 默认版本为 WSL2.
  • 下载并安装默认的 Linux 发行版(通常为 Ubuntu).

3. 当 Windows 提示您重新启动计算机时,请重新启动计算机。这是新启用的功能正常运行的必要条件。

4. 在 Linux 发行版首次启动时 (除非另有指定,否则默认是 Ubuntu 系统)会打开一个控制台窗口,其中会显示解压后的文件。首次启动可能需要一些时间;后续启动通常几乎是瞬间完成。

在 WSL 中选择和更改 Linux 发行版

  • 默认情况下,该命令 wsl --install 通常安装Ubuntu。 默认发行版为[此处应填写发行版名称]。不过,您可以在安装过程中或安装后选择不同的发行版。
  • 要查看在线可用的分发列表。打开 PowerShell 并输入:
  • 列表: wsl.exe --list --online
  • 从控制台安装特定发行版,使用选项 -d 请注明您的姓名:
  • 安装发行版: wsl.exe --install -d NombreDeLaDistro
  • 如果你想更改默认发行版 (只需运行即可打开的那个) wsl您可以这样做:
  • 预定: wsl.exe --set-default NombreDeLaDistro
  • 如果您只想一次性地发布某个特定的发行版 在不更改默认设置的情况下,使用:
  • 按时发布: wsl.exe --distribution NombreDeLaDistro

除了 Microsoft Store 分发之外, 可以从 TAR 文件导入自定义发行版或安装软件包。 .appx 在某些情况下例如 Arch Linux。您甚至可以创建自己的自定义 WSL 镜像,以实现公司内部环境的标准化。

独家内容 - 点击这里  5分钟内完成端口和服务审计:实用指南

wsl2

在 WSL 中配置您的 Linux 用户名和密码

首次打开安装了 WSL 的 Linux 发行版时系统将提示您创建 UNIX 用户名和密码。此帐户将成为该发行版的默认用户。

请注意以下关于该用户的重要信息:

  • 它与您的Windows用户帐户无关。您可以(而且建议)使用不同的名称。
  • 输入密码时,屏幕上不会显示任何内容。 (不含星号)。这被称为“盲注”,在Linux系统中完全正常。
  • 该用户被视为该发行版的管理员 并且可以使用 sudo 以提升的权限执行命令。
  • 每个发行版都有自己的一组用户。 以及密码;如果您添加新的发行版,则必须重新创建帐户。

如果你喜欢 更改密码 接下来,打开发行版并运行: 更改密码: passwd

如果您忘记了发行版的用户密码 但如果您在 Windows 系统中仍然拥有管理员权限,则可以按以下步骤重新获得控制权:

  1. 以管理员身份打开命令提示符或 PowerShell。 并以 root 用户身份登录到默认发行版:
    wsl -u root
    针对特定发行版:
    wsl -d NombreDistro -u root
  2. 在根终端中, 跑:
    passwd nombre_usuario 并设置新密码。
  3. 退出 WSLexit 然后使用恢复的用户帐户正常登录。

在 Windows 上启动和使用 Linux 发行版的方法

一旦你安装了多个发行版您可以根据当时最方便的方式,选择不同的打开方式。

  • Windows 终端(推荐)。 Windows Terminal 是微软的现代化终端模拟器。每次在 WSL 中安装新的 Linux 发行版时,Windows Terminal 中都会出现一个新的配置文件,您可以对其进行自定义(图标、配色方案、启动命令等)。它是同时使用多个命令行最便捷的方式。
  • 从开始菜单。 您可以输入发行版的名称(例如“Ubuntu”、“Debian”、“Kali Linux”……)。点击后,它将直接在单独的控制台窗口中打开该发行版。
  • 通过 PowerShell 或 CMD。 您可以直接输入发行版的名称(例如, ubuntu或者使用通用命令:
    wsl 进入默认发行版,或者
    wsl -d NombreDistro 输入一个特定的数字。
  • 从 Windows 系统执行特定的 Linux 命令。 使用语法:
    wsl
    例如: wsl ls -la, wsl pwd, wsl date等等。这样就可以在同一个管道中混合使用 Windows 和 Linux 命令。

Windows 终端

Windows Terminal:WSL2 的完美搭档

为了充分利用 WSL2,值得安装它。 Windows 终端 从微软商店下载。它比传统的命令提示符甚至默认的 PowerShell 窗口都更加方便强大。

Windows 终端允许 为每个发行版创建配置文件定义默认打开的终端(PowerShell、CMD、Ubuntu 等),使用标签页、分屏面板、不同的颜色主题、自定义字体、背景图像和高级键盘快捷键。

独家内容 - 点击这里  如何防止 Windows 更改显示器的刷新率

对于许多Windows开发者来说Windows Terminal + WSL2 的组合能够最接近原生 Linux 系统或带有高级终端的 macOS 的工作体验,而无需离开您常用的 Windows 环境。

搭建开发环境:VS Code、Visual Studio、Git 和数据库

WSL2启动并运行后,下一步合乎逻辑的步骤是: 集成你最喜欢的编辑器或集成开发环境 在这种环境下,微软投入了大量精力,使 Visual Studio Code 和 Visual Studio 能够与 WSL 完美兼容。

VS Code

理想情况下,你应该安装 远程开发包此扩展程序允许您像打开本地项目一样打开位于 WSL 中的文件夹,但实际上是在发行版内运行 VS Code 服务器。只需输入:

code .

在 WSL 终端中,在你的项目文件夹中,VS Code 将打开该“远程”路径及其整个生态系统:扩展、调试、集成终端等,但实际上是在 Linux 上运行。

Visual Studio

它允许您将 WSL 配置为使用 CMake 的 C++ 项目的目标环境。您可以在 Windows、WSL 或远程计算机上进行编译和调试,并可直接在 IDE 中切换目标环境。

关于版本控制,在 WSL 中使用 Git 非常简单,只需使用发行版的包管理器安装即可(例如, sudo apt install git (在 Ubuntu 系统上)配置凭据、排除文件、行尾符等。您还可以使用 Windows 凭据管理器来集成身份验证。

在 WSL 中配置数据库 在 WSL2 上运行 MySQL、PostgreSQL、MongoDB、Redis、SQL Server、SQLite 等服务与在任何 Linux 服务器上运行这些服务非常相似。您可以在发行版中启动这些服务,也可以在 WSL2 上使用 Docker 容器,然后根据需要从 Windows 或 WSL 本身连接您的应用程序。

管理外部驱动器、图形用户界面和发行版备份

WSL2 也允许 挂载外部磁盘或 USB 驱动器 直接在 Linux 环境中操作。有关使用以下命令挂载磁盘的具体文档请参见相关文档。 wsl --mount这样,在使用其他单位的数据时,你就拥有了很大的灵活性。

如果你喜欢 运行 Linux 图形应用程序 得益于微软对图形用户界面 (GUI) 应用程序的支持,现在可以在 WSL2 中使用 GUI。这意味着您可以打开图形编辑器、设计工具或轻量级桌面环境,而无需启动传统的虚拟机。

待办事项 将备份或整个发行版迁移到另一台计算机WSL包含两个非常有用的命令:

  • 导出发行版:
    wsl --export NombreDistro backup-wsl.tar
    这将生成一个包含其整个文件系统的 TAR 文件。
  • 导入发行版:
    wsl --import NombreDistro C:\ruta\destino backup-wsl.tar --version 2
    这会将该发行版及其所有内容恢复到另一个路径,并且如果您愿意,还可以确保它使用 WSL2。

这种导出/导入机制对于克隆开发环境、与同事共享或在进行重大更改之前维护安全备份非常方便。

WSL2 已成为主要的开发环境。 对于许多不想放弃在 Windows 系统上玩游戏、使用特定软件或改变工作流程,但又需要真正的 Linux 环境进行编程的 Windows 用户来说,尝试一下 WSL2 可能会彻底改变你的工作方式。

如何在本地计算机上使用 PhotoPrism 作为私有的 AI 驱动图库
相关文章:
如何在本地计算机上使用 PhotoPrism 作为私有的 AI 驱动图库