Windows下安装配置WSL2的完整指南

发布时间:2026/9/25 16:22:03

Windows下安装配置WSL2的完整指南
1. 为什么要在Windows下运行Linux十年前想要同时使用Windows和Linux系统我们得老老实实装双系统每次切换都得重启。后来有了虚拟机但性能损耗让人头疼。直到WSL2的出现这个痛点才真正被解决。WSL2Windows Subsystem for Linux 2是微软在2019年推出的第二代Linux子系统。与第一代相比它最大的改进是使用了真正的Linux内核通过轻量级虚拟机实现近乎原生的性能。我在开发环境中实测编译同样规模的C项目WSL2比传统虚拟机快3-5倍内存占用却只有一半。注意WSL1和WSL2架构完全不同。WSL1是通过转换层实现系统调用兼容而WSL2则是完整的虚拟机方案。虽然WSL2性能更好但跨系统文件操作会变慢这点后面会详细说明。2. 安装前的准备工作2.1 硬件要求检查虽然WSL2对硬件要求不高但为了获得最佳体验建议满足以下配置CPU支持虚拟化技术Intel VT-x或AMD-V内存至少8GB16GB更佳存储建议SSD至少20GB可用空间检查CPU虚拟化支持的方法任务管理器 → 性能选项卡查看虚拟化是否显示已启用如果禁用需要进入BIOS开启不同主板设置路径不同通常是Advanced → CPU Configuration2.2 Windows版本确认WSL2需要较新的Windows版本支持对于Windows 10版本2004Build 19041或更高Windows 11所有版本都支持查看系统版本WinR → 输入winver → 查看版本号。如果版本过低需要通过Windows Update升级。3. 分步安装指南3.1 启用WSL功能以管理员身份打开PowerShell右键开始菜单 → Windows PowerShell(管理员)执行以下命令dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart重启计算机必须步骤3.2 安装WSL2内核更新包访问微软官方下载页面获取最新安装包 https://aka.ms/wsl2kernel下载完成后直接运行安装。这个更新包包含了WSL2所需的Linux内核组件。3.3 设置WSL2为默认版本再次以管理员身份打开PowerShell执行wsl --set-default-version 23.4 从Microsoft Store安装Linux发行版打开Microsoft Store搜索想要的Linux发行版推荐Ubuntu 20.04 LTS点击获取按钮下载安装首次启动安装的Linux应用时系统会提示设置用户名和密码。这个账户将是Linux子系统的管理员账户。重要提示不要使用root作为用户名也不要把密码设得太简单。虽然是在本地环境但某些网络服务可能会用到这个凭证。4. 系统配置与优化4.1 文件系统交互注意事项WSL2的一个显著特点是Windows访问Linux文件\\wsl$\发行版名称Linux访问Windows文件/mnt/c/对应C盘但要注意避免在/mnt下直接编辑代码文件性能较差推荐将项目放在Linux子系统的家目录下如~/projects4.2 内存和CPU限制调整默认情况下WSL2会占用最多50%的物理内存。对于大内存机器可以创建或修改%USERPROFILE%\.wslconfig文件[wsl2] memory8GB # 限制最大内存使用 processors4 # 限制CPU核心数 localhostForwardingtrue4.3 图形界面支持可选虽然WSL2主要是命令行环境但也可以通过X Server实现GUI支持在Windows安装VcXsrv或MobaXterm在Linux子系统中安装GUI程序例如sudo apt install gedit设置DISPLAY环境变量export DISPLAY$(awk /nameserver / {print $2} /etc/resolv.conf):05. 常见问题解决5.1 网络连接问题症状无法apt update或访问外部网络 解决方案# 先尝试重置网络配置 sudo rm /etc/resolv.conf sudo bash -c echo nameserver 8.8.8.8 /etc/resolv.conf sudo bash -c echo [network] /etc/wsl.conf sudo bash -c echo generateResolvConf false /etc/wsl.conf5.2 启动时报错参考的对象类型不支持尝试的操作这是由于某些网络优化软件冲突导致的解决方法以管理员身份运行CMD执行netsh winsock reset重启计算机5.3 磁盘空间管理WSL2使用的虚拟硬盘会不断增长但不会自动缩小。手动清理步骤关闭所有WSL实例wsl --shutdown优化磁盘diskpart # 在diskpart中执行 select vdisk fileC:\Users\用户名\AppData\Local\Packages\发行版包名\LocalState\ext4.vhdx compact vdisk6. 进阶使用技巧6.1 多发行版管理可以安装多个Linux发行版并自由切换wsl --list --verbose # 查看已安装发行版 wsl --set-default 发行版名称 # 设置默认发行版6.2 与Docker集成WSL2可以完美支持Docker for Windows安装Docker Desktop设置 → General → 勾选Use the WSL2 based engine在WSL2中可以直接使用docker命令6.3 备份与迁移备份WSL2系统wsl --export 发行版名称 备份文件路径.tar恢复备份wsl --import 新发行版名称 安装路径 备份文件路径.tar我在实际使用中发现将WSL2的工作目录放在非系统盘如D盘能显著提高性能特别是在处理大量小文件时。具体方法是在导出备份后导入时指定新的安装路径到其他分区。

相关新闻

解决atl90.dll丢失问题的完整指南

解决atl90.dll丢失问题的完整指南

2026/8/24 22:35:56

1. 问题现象与背景解析 当你在启动某个软件或游戏时突然弹出"atl90.dll文件丢失"的错误提示,这种情况通常发生在Windows系统环境下。这个dll文件属于Microsoft Visual C 2008运行库的组件之一,许多基于VC 2008开发的应用程序都需要依赖它才能正…

第十七章WSaiOS 具身感知与环境交互模型实现

第十七章WSaiOS 具身感知与环境交互模型实现

2026/8/24 20:50:51

第十七章WSaiOS 具身感知与环境交互模型实现WSaiOS Embodied Perception & Environment Interaction Model——从观察世界到参与世界作者:东塬一老翁技术支持:WSaiOS多模态智能技术研发工作室17.1 具身感知提出前面的感知体系主要解决:AI…

Linux命令行参数与环境变量解析及内存管理实践

Linux命令行参数与环境变量解析及内存管理实践

2026/8/24 22:35:56

1. Linux命令行参数与环境变量解析在Linux系统编程中,命令行参数和环境变量是程序与操作系统交互的重要桥梁。每次我们在终端输入命令时,比如ls -l /home,其实都是在传递命令行参数。而环境变量则像是程序的"背景设置",…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/25 10:06:33

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/25 9:40:47

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/25 10:06:21

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/25 9:53:52

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/25 8:58:17

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/25 10:00:17

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…

远程协作的工作台整理

远程协作的工作台整理

2026/9/24 16:02:49

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/25 9:41:47

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/25 4:22:14

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…