Windows Linux 子系统 (WSL2) 彻底改变了开发人员和高级用户在 Windows 环境中使用 Linux 的方式。 此工具可让您整合两者 操作系统 几乎原生地,无需 虚拟机 繁重或复杂的双启动配置。
真正有趣的是 WSL2 允许使用完整的自定义 Linux 内核,以及更加强大和灵活的网络配置。 对于那些需要更像生产的开发环境或想要充分利用其工具的技术能力的人来说,这是一个巨大的优势。
什么是 WSL2,为什么它比 WSL1 更好?
WSL2 代表了 Windows Linux 子系统的第二代,并比其前代产品带来了显著的改进。其根本区别在于 WSL2 使用 基于Hyper-V的轻量级虚拟机 包含完整的 Linux 内核, 允许与依赖系统调用的应用程序实现更好的兼容性,并实现更好的性能,尤其是在文件系统中。
由于这些改进,我们可以:
- 运行 Docker 等工具 无需第三方依赖。
- 为 Linux 编译原生软件 在 Windows 中。
- 使用 Linux 文件系统 作为 Windows 的 ext4。
先决条件和支持的系统
在开始设置 WSL2 之前,您需要确保您的操作系统已准备就绪:
- Windows 10 带有 版本 1903 和内部版本 18362 或更高版本.
- Windows 11 完全兼容。
- 该功能还取决于激活 虚拟化 BIOS.
您可以通过输入以下内容来检查您的版本 winver
从运行对话框(Win + R)。
如何在 Windows 上启用 WSL 和 WSL2
有几种方法可以启用 WSL,从 comandos en PowerShell的 通过控制面板进入图形选项。以下是确保一切顺利运行的最全面的方法:
选项 1:使用 PowerShell(推荐)
以管理员身份运行 PowerShell 并输入以下命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
wsl --set-default-version 2
这将启用 WSL 功能并将所有新发行版设置为默认使用 WSL2。
选项 2:从控制面板
转到“打开或关闭 Windows 功能”并选择以下内容:
- Windows Linux子系统
- 虚拟机平台
- Hyper-V (可选但建议)
然后,重新启动计算机以应用更改。
安装 Linux 发行版
您可以从 Microsoft Store 安装以下发行版:
- Ubuntu (16.04,18.04,20.04,22.04)
- Debian
- 卡利Linux
- openSUSE
首次打开已安装的发行版时,它会要求您创建一个 Linux用户和密码这将是您环境中的默认用户。
配置自定义 Linux 内核
WSL2 的一个非常强大的功能是您可以使用自己的 Linux 内核。操作如下:
1. 编译或下载自定义内核
您可以使用自己编译的内核或第三方编译的内核。 确保它与 WSL2 环境兼容。
2.编辑.wslconfig文件
在您的 Windows 用户文件夹 (C:\Users\ )创建一个名为 .wslconfig
如果不存在,则在其中添加:
[wsl2]
kernel=C:\Ruta\al\kernel\vmlinuz
保存更改并重新启动 WSL:
wsl --shutdown
重新启动后,WSL2 将加载提供的自定义内核。
在 WSL2 中启用网络并通过 localhost 访问
在 WSL2 的最新版本中,微软通过以下方式启用了 Linux 和 Windows 之间的流量重定向 本地,这使得它的使用和配置变得更加容易。
这意味着您可以在 WSL2 内部启动服务器(例如, python3 -m http.server 8000
) 并从 Windows 中的浏览器访问 http://localhost:8000
。如果需要将端口暴露给网络,则需要使用 netsh
或特定工具来正确重定向 IP 和端口。
在 Windows 和 Linux 之间访问文件系统
使用 WSL2,您可以流畅地与两个平台的文件系统进行交互:
- 您可以从 Linux 访问 Windows 驱动器
/mnt/c
,/mnt/d
等等。 - 您可以通过 Windows 访问 Linux
\\wsl$\<distro>\
另外,您可以使用命令 wslpath 轻松地将路线从一个系统转换到另一个系统。
备份、导出和导入分布
WSL2 提供了对发行版进行完整备份的命令,如果您想在进行重大更改之前迁移或保存它们,这非常有用。 导出示例:
wsl --export Debian C:\backups\debian_backup.tar
并导入到另一个系统:
wsl --import Debian C:\WSL\Debian C:\backups\debian_backup.tar --version 2
这将克隆整个发行版并保持路径和设置完好无损。
在没有 Docker Desktop 的情况下在 WSL2 中使用 Docker
WSL2 的一大优势是 你可以直接运行 Docker,无需 Docker Desktop 或其他工具。 安装步骤:
- 将官方 Docker 存储库添加到您的发行版。
- 安装软件包:
docker-ce
,docker-ce-cli
,containerd.io
. - 将您的用户添加到 docker 组:
sudo usermod -aG docker $USER
. - 鲷
/etc/wsl.conf
自动启动 Docker。
然后你可以运行 docker run hello-world
并检查一切是否正常工作。
定制终端,提高您的生产力
由于您将花费大量时间在终端上工作,因此最好使其更加用户友好且实用:
安装 ZSH + Oh-My-ZSH
ZSH 是 bash 的替代品,具有更多功能,并且与框架一起 哦我的天啊 您可以访问数百个插件和视觉主题。
配置 Powerlevel10k
这款 ZSH 主题通过显示 Git 分支、错误、环境等信息来增强命令栏。它还具有高度可定制性。
ZSH 的附加插件
- zsh-自动建议
- FZF (命令历史和搜索)
- NVM (Node.js 版本管理器)
- 蝙蝠猫 (用颜色代替猫)
优于虚拟机或双启动
与传统 VM 相比,WSL2:
- 消费 更少的记忆 通过动态管理 RAM。
- 开始于 不到一秒.
- 方便系统间文件访问.
- 它通过“Remote - WSL”扩展与 VSCode 集成。
而在前面 引导 Dual 更加方便,因为它避免了重新启动,并允许您不间断地使用图形和 CLI 工具。
安装或使用 WSL2 时的常见错误
- 0x80070003: 表示发行版不在 C: 驱动器上
- 0x80370102: BIOS 中虚拟化功能被禁用。
- WSL2 需要内核更新: 访问 https://aka.ms/wsl2kernel 下载附加包。
完成所有这些设置后,您将拥有一个在 Windows 上运行的完整 Linux 环境,它包含功能齐全的内核、主动网络、Docker 运行环境,以及一个友好高效的终端和高级插件。这是当今最便捷、最强大的软件开发方式之一,而且无需牺牲您日常使用的操作系统。
对字节世界和一般技术充满热情的作家。我喜欢通过写作分享我的知识,这就是我在这个博客中要做的,向您展示有关小工具、软件、硬件、技术趋势等的所有最有趣的事情。我的目标是帮助您以简单而有趣的方式畅游数字世界。