什么是 Windows 子系统 (WSL)?
WSL 是微软开发的一个兼容性层,可让您直接在 Windows 操作系统上运行成熟的 Linux® 环境。有了 WSL,您就可以使用 Linux® 命令行工具并运行 Linux® 应用程序,而无需虚拟机或双启动设置。
WSL 如何工作?
WSL 的工作原理是将 Linux® 系统调用转换为 Windows 系统调用,从而允许 Linux® 二进制程序在 Windows 上以本地方式运行。它提供了与 Linux 兼容的内核接口,可重定向系统调用并管理文件系统、网络和进程执行。这样,您就可以将 Linux® 工具和实用程序无缝集成到 Windows 工作流程中。
使用 WSL 有什么好处?
使用 WSL 有几个好处。首先,它使开发人员能够使用 Linux® 工具和实用程序,而无需切换到不同的操作系统或设置虚拟机。这使得开发和测试跨平台应用程序变得更加容易。此外,WSL 还提供了对丰富的 Linux® 生态系统的访问,包括流行的编程语言、工具和软件包管理器。与传统的虚拟化解决方案相比,它还能提供更高的性能。
我可以在任何 Windows 版本上使用 WSL 吗?
不,WSL 只适用于特定版本的 Windows。最初,它是在 Windows 10 1607 版本中引入的,之后又进行了各种更新和改进。目前,Windows 10 专业版、企业版和教育版都支持 WSL。不过,随着 Windows 11 的发布,WSL 将适用于包括家庭版在内的所有 Windows 11 版本。
WSL 支持哪些 Linux® 发行版?
WSL 目前支持多个 Linux® 发行版,包括 Ubuntu、Debian、Fedora、Kali Linux® 等。这些发行版可以直接从微软商店或通过下载发行版的 appx 软件包进行安装。每个发行版都以独立、隔离的环境运行,允许您并排安装不同的发行版。
如何在 Windows 机器上安装并启用 WSL?
安装 WSL 的步骤如下:
以管理员身份打开 Windows PowerShell。
运行 wsl --install 命令启用必要的 Windows 功能,并下载 Linux® 内核更新。
按提示重新启动计算机。
重新启动后,打开 Microsoft Store 并搜索所需的 Linux® 发行版。
选择要安装的发行版,然后点击 "安装 "按钮。
安装完成后,从 "开始 "菜单或在 "命令提示符 "或 PowerShell 中执行命令,启动分发程序。
我可以在 WSL 中访问 Windows 系统中的文件吗?
是的,您可以在 WSL 中访问 Windows 系统中的文件。WSL提供了一种方便的方式来挂载和访问Windows驱动器,让您可以在两个环境之间无缝地处理文件和目录。默认情况下,Windows驱动器会自动挂载到WSL的/mnt目录下。例如,你可以从 WSL 访问 C: 驱动器,方法是导航到 /mnt/c/。
能否使用 WSL 运行图形应用程序?
是的,通过使用 Windows X 服务器,您可以使用 WSL 运行图形应用程序。Windows X 服务器中比较流行的是 Xming。安装 X 服务器后,可以通过设置 DISPLAY 环境变量来配置 WSL 以使用它。这样就可以运行 Linux® 图形处理器 (GUI) 应用程序,并将其显示在 Windows 桌面上。
WSL 支持 Docker 吗?
是的,WSL 支持 Docker。有了 WSL 2(WSL 的最新版本),您就可以在 WSL 提供的 Linux® 环境中直接运行 Docker 容器。与在虚拟机中运行Docker相比,这可以提高性能。WSL 2还集成了Docker Desktop,使管理和使用容器变得更加容易。
能否在 WSL 中访问 Windows 命令行工具?
是的,您可以在WSL中访问Windows命令行工具。WSL提供Windows和Linux®环境之间的互操作性,允许您运行Windows可执行文件和使用Windows特定的命令。例如,你可以在WSL中执行ipconfig或regedit来访问网络信息或修改Windows注册表。
我可以使用 WSL 进行网络开发吗?
当然,WSL 是网络开发人员的热门选择,因为它可以轻松访问网络开发中常用的大量工具和框架。您可以安装 Python、Node.js 和 Ruby 等流行的编程语言,也可以运行 Apache、Nginx、MySQL 和 PostgreSQL 等流行的网络服务器和数据库。有了 WSL,您就可以在 Windows 机器上无缝地开发和测试网络应用程序。
WSL 是否支持图形处理器(GPU)加速?
目前,WSL 本身并不支持 GPU 加速。不过,微软推出了一项名为 DirectML 的技术,允许机器学习工作负载在 WSL 中利用 GPU 加速。这使开发人员能够利用 GPU 资源来完成机器学习任务和训练模型。值得注意的是,这一功能仅限于机器学习工作负载,可能不适用于其他类型的应用。
我可以使用 WSL 开发 Android™ 应用程序吗?
是的,您可以使用 WSL 进行 Android™ 开发。使用 WSL,您可以安装和配置 Android™ 开发所需的工具,如 Android™ SDK、java 开发包 (JDK) 和 Android™ Studio。这样,您就可以使用 WSL 提供的 Linux® 环境,直接在 Windows 机器上构建、测试和调试 Android™ 应用程序。
是否可以从网络上的其他设备访问 WSL?
默认情况下,WSL 只能从本地计算机访问。不过,你可以通过启用远程访问,配置WSL接受来自网络上其他设备的传入连接。这样,你就可以从连接到同一网络的另一台电脑、平板电脑或移动设备上访问和管理WSL实例。
我可以在多个 Linux® 发行版中同时使用 WSL 吗?
是的,你可以在 WSL 中同时安装和运行多个 Linux® 发行版。每个发行版都作为一个单独的实例运行,允许你在它们之间切换或并排运行不同的发行版。如果您需要在多个 Linux® 环境中工作或在不同的发行版中测试应用程序,这一点尤其有用。
WSL 是否支持图形处理器(GPU)直通机器学习任务?
虽然WSL目前还不支持GPU直通(GPU passthrough)功能,但WSL正在不断改进对GPU的支持。微软已宣布计划将 GPU 加速功能引入 WSL,并在 Windows 和 Linux® 图形子系统之间提供更好的集成,这将有利于需要 GPU 资源的机器学习工作负载。
能否通过 WSL 访问 Windows 驱动器上存储的文件?
是的,你可以在WSL中直接访问和处理存储在Windows驱动器上的文件。Windows 驱动器会自动挂载到 WSL 的 /mnt/ 目录中,让您可以在两种环境中无缝地浏览和处理文件。这样就可以在Windows和Linux®应用程序之间轻松共享文件。
本術語表僅供參考。它是理解常用術語和概念的有用資源。但是,如果您需要有關我們產品的特定支援或協助,我們鼓勵您造訪我們的專門 支援網站. 我們的支援團隊隨時準備好協助解決您可能遇到的任何問題或疑慮。