ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Win10/11 WSL 安装与默认目录迁移:让 C 盘彻底松口气

2026/10/1 13:47:16 拓冰建站 浏览量
Win10/11 WSL 安装与默认目录迁移:让 C 盘彻底松口气 最近两年我在三台机器上反复折腾过 WSL一台是公司配的 Win10 21H2 台式机一台是家里的 Win11 笔记本还有一台是留给家里老人看视频的老笔记本装的是 Win10 LTSC。这三台机器有一个共同的坑C 盘都是 SSD容量普遍只有 256G 或者 512G而 WSL 默认会把整个 Linux 发行版塞进C:\Users\用户名\AppData\Local\Packages\下面一个 Ubuntu 加上开发环境动辄二三十个 G再装上 CUDA、Docker 镜像和几个数据集C 盘见红是迟早的事。所以这篇内容我想聊的就是一件很具体的事在 Win10/11 下把 WSL 装起来并且把 WSL 默认安装目录挪到其他盘让 C 盘彻底松口气。整套流程我自己跑过至少五遍包括全新安装、迁移老实例、内网离线安装这几种情况踩过的坑基本都记在下面了不管你是刚听说 WSL 的新手还是已经用了一阵子想把体积搬走的老人应该都能直接抄作业。1. 为什么要把 WSL 的安装目录挪到其他盘1.1 WSL 的体积到底藏在哪儿很多人以为 WSL 就是个命令行工具装完几百兆就完事了其实那只是外壳。真正的 Linux 文件系统是一个叫ext4.vhdx的虚拟磁盘文件它默认躺在C:\Users\用户名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\这个又长又深的目录里发行版不同那串包名后缀会略有差别但路径结构是一致的。这个 vhdx 是会随着你的使用不断膨胀的装一个 Python 环境几个 G拉一套 CUDA toolkit 又是几个 G如果你还习惯把数据集、模型权重、Docker 镜像都放在 Linux 侧五十个 G 是很容易到的。更麻烦的是 WSL2 的磁盘增长机制。它用的是动态扩展的虚拟磁盘只会涨不会自己缩也就是说你删掉一堆文件之后vhdx 的实际占用并不会跟着变小得手动去压缩。我第一台机器上就吃过这个亏一个 Ubuntu 从最初的 1.5G 一路涨到 68G而 C 盘只剩不到 8G 空间系统开始各种卡顿、更新失败最后只能忍着做迁移。所以哪怕你现在觉得空间还够我也建议在装机阶段就把目录定到其他盘后面省心太多。1.2 迁到其他盘之后实际能省下什么先说最直接的收益C 盘的空间焦虑基本消失。我现在的做法是把 WSL 全部放到一块独立的 1T 固态上分了D:\WSL这个目录统一管理所有发行版的 vhdx、导出的备份 tar 包、离线 rootfs 都往里丢。C 盘只保留系统本身和少量必须装在系统盘的工具清爽很多Windows 的更新也从没再因为空间不足失败过。第二个收益是管理方便。当所有 Linux 实例都集中在一个目录下你备份、迁移、清理的思路会非常清晰。比如我想给某台机器重装系统直接把D:\WSL整个目录连同里面的导出包拷到移动硬盘新系统装好 WSL 之后一条导入命令就能恢复比重新配一遍环境快得多。我甚至见过同事把这套目录放在一个专门的 SSD 上台式机和笔记本之间轮流插着用虽然需要重新 import 一次但开发环境是现成的这种玩法对经常换设备的人挺友好。第三个收益是个隐性好处读写性能反而可能更好。很多人有个误解觉得东西放在 C 盘系统盘通常是 NVMe肯定最快。实际上 WSL 的运行性能主要取决于 vhdx 所在磁盘的顺序读写能力如果你有一块速度更好的独立固态把 vhdx 放上去处理大文件编译、解压、跑数据集的时候体感是能感觉出来的。当然这个提升不算决定性真正的痛点还是空间别为了追求那点速度去折腾够用就行。2. 安装前的自检清单版本、虚拟化与系统功能2.1 系统版本与硬件能力核对WSL 不是随便哪个 Windows 都能装的动手之前先确认三件事能省掉后面一大堆莫名其妙的报错。第一是系统版本WSL2 要求 Win10 版本 1903内部版本 18362及以上想用wsl --install这条傻瓜命令则建议 200419041及以上Win11 全系都没问题。怎么查按Win R输入winver弹窗里写的版本号和内部版本号一目了然。顺便提一句 LTSC 用户Win10 LTSC 2019 基于 1809太老了wsl --install这条命令它压根不认识得老老实实走手动开启功能 安装内核更新包的路子LTSC 2021 基于 21H2支持情况就好很多。第二是 CPU 虚拟化。WSL2 底层跑的是轻量级虚拟机必须依赖硬件虚拟化能力。打开任务管理器切到性能页看 CPU 那一栏右下角有没有虚拟化已启用。如果显示已禁用就得进 BIOS 里找Intel VT-x、Intel Virtualization Technology或者 AMD 平台上的SVM Mode把它打开。这个步骤听起来简单但我见过太多人卡在这里安装完重启报虚拟机平台未启用或者直接启动失败回头折腾半天才发现是 BIOS 里的开关没开。不同品牌主板的菜单路径差别很大一般在 Advanced 或者 CPU Configuration 分类下面。第三是磁盘空间。这里说的不是 C 盘而是你准备放 WSL 的那块盘。建议至少留出 100G 以上的可用空间因为后续你要装的东西会越来越多而且迁移过程本身需要额外空间——export 出来的 tar 包大小基本等于当前实例占用import 又要占一份也就是峰值会到两倍左右。如果你的实例已经很大可以先清理掉不用的东西再导出能省不少事。2.2 开启虚拟化与相关 Windows 功能确认完硬件条件接下来是开启系统功能。如果你用的是比较新的 Win11 或者打了补丁的 Win10直接跑wsl --install它会帮你自动开启所需功能包括适用于 Linux 的 Windows 子系统和虚拟机平台两个可选组件。但在老一点的版本或者某些被精简过的企业镜像里自动开启会失败这时候就得手动来。以管理员身份打开 PowerShell 或者终端依次执行下面两条命令dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart第一条开启的是 WSL 的基础组件第二条是 WSL2 依赖的虚拟机平台。执行完重启一次系统这一步别偷懒跳过很多人执行完不重启就去装发行版结果报一堆看不懂的错。重启之后还建议把默认版本设成 2命令是wsl --set-default-version 2这样以后新装的发行版默认就走 WSL2省得一个个去改。注意如果你是 Win10 且系统版本在 2004 以上但执行wsl --install时提示找不到命令通常是 WSL 功能组件没装全。可以先手动执行上面两条 dism 命令并重启然后再试。反之如果 dism 报错提示功能名不存在多半是系统版本太老需要先升级系统。还有一点容易被忽略Windows 自带的Windows 虚拟机监控程序平台或者某些安全软件的内核隔离功能可能和 WSL2 抢占虚拟化资源。如果你开启虚拟化后 WSL2 仍然启动失败可以检查一下内核隔离里的内存完整性是不是开着某些机型上它会和虚拟化冲突。这不是普遍问题只是我遇到过一次顺手提一下排查的时候多一个方向。3. Win10/11 安装 WSL 的完整流程3.1 一条命令搞定wsl --install 的正确用法新版 Windows 上安装 WSL 已经被简化到极致了打开终端管理员权限敲这么一行wsl --install它会自动做完下面这几件事启用两个必要的 Windows 功能、下载并安装 WSL2 内核更新包、把 WSL2 设成默认版本、然后拉取一个默认发行版一般是 Ubuntu。执行完之后重启一次系统会自动弹出一个终端窗口让你给 Linux 创建用户名和密码这个账号是 Linux 系统里的普通用户跟你的 Windows 账号没有任何关系密码输入时屏幕不会显示任何字符这是正常的盲打进去回车就行。创建完就进入 shell 了ls一下看到根目录结构说明装好了。如果你不想用默认发行版或者想一次装指定的版本可以用wsl --install -d 发行版名。先用wsl --list --online看看有哪些可选常见的有 Ubuntu、Ubuntu-22.04、Debian、kali-linux 等等。命令大概是这样的wsl --list --online wsl --install -d Ubuntu-22.04安装完成后建议做几个基础设置。第一是把默认发行版设成你常用的那个命令wsl --set-default Ubuntu-22.04这样以后直接敲wsl回车就进去不用每次带-d参数。第二是检查版本wsl --list --verbose简写wsl -l -v会列出所有发行版和它们跑的是 WSL1 还是 WSL2如果某个实例显示 1手动升级一下wsl --set-version Ubuntu-22.04 2。提示如果你的机器上装了 Docker Desktop安装 WSL 之后它可能会问你要不要用 WSL2 后端这个选项建议开比 Hyper-V 后端省资源启动也快。再说一个高频问题为什么有人跑wsl --install特别慢甚至卡住不动原因多半是它要从微软的分发渠道下载发行版和内核包网络环境不理想时就会很磨人出现wsl --list --online超时、下载进度条半天不动的情况。这种时候有两个思路一是加--web-download参数让安装器走另一个下载通道试试二是干脆放弃在线安装走下一节的离线方案这也是我在公司内网环境下最常用的做法一次搞定不求人。3.2 在线安装受限时的离线方案公司内网、校园网、或者某些安全策略比较严的环境里访问外部下载源经常被拦截报 403 或者连接超时是家常便饭。这时候别死磕网络离线安装才是正路。整套离线方案分两步装 WSL2 内核更新包导入发行版 rootfs。第一步找一台能正常下载的机器去微软官方文档页面下载wsl_update_x64.msi这个内核更新包几百 KB 到几 MB 不等用 U 盘拷到目标机器上双击安装即可。如果你的环境彻底无法访问外网可以从同事那里要一份或者找系统管理员拿内网镜像源里的版本这个包本身不带任何敏感内容就是标准的内核组件。装完之后wsl --set-default-version 2走一遍。第二步准备发行版的离线镜像。Ubuntu 官方会发布 WSL 用的 rootfs tar.gz 包通常叫ubuntu-22.04-server-cloudimg-amd64-wsl.rootfs.tar.gz这类名字你也可以在任意一台已经装好的机器上用wsl --export导出一个现成的 tar 包带过去。拿到 tar 包之后在目标机器上找个目录放好然后执行导入命令mkdir D:\WSL\Ubuntu wsl --import Ubuntu-22.04 D:\WSL\Ubuntu D:\WSL\ubuntu2204.tar --version 2这条命令的四个部分分别是发行版名字自己起别和已有的重名、安装目录这就是我们要解决的默认目录问题直接指定到 D 盘、rootfs 来源、版本号。执行完wsl -l -v就能看到新实例了直接wsl -d Ubuntu-22.04进去。这里有个很重要的细节用--import导入的实例默认登录用户是root而不是像在线安装那样提示你创建普通用户。root 权限用起来是有风险的也不方便和 Windows 侧做文件互访所以导入后第一件事是创建普通用户并把它设成默认登录用户。进入 WSL 之后执行adduser devuser usermod -aG sudo devuser然后在实例里创建/etc/wsl.conf写入默认用户配置[user] defaultdevuser保存退出回到 PowerShell 执行wsl --terminate Ubuntu-22.04把实例关掉再重新进入就会以devuser身份登录了。这个配置文件是 WSL 的全局行为控制文件后面调优还会用到它记住这个位置。如果不想用/etc/wsl.confUbuntu 也可以用ubuntu2204.exe config --default-user devuser这种发行版自带的工具改但通用性不如 wsl.conf我一般两种都用先写配置文件再用工具确认一遍。4. 迁移 WSL 默认安装目录到其他盘的实战4.1 三种迁移方案横向对比把已经装好的 WSL 搬到其他盘市面上流传的做法主要有三种我自己都试过各有适用场景先用一张表把它们摆清楚你再决定用哪个。方案核心操作优点缺点适用人群A. export import导出 tar注销旧实例导入到新目录操作规范、结果干净、跨机器可复用会换掉实例标识需要重建默认用户绝大多数人尤其是想顺便备份的B. 改注册表 Lxss BasePath改注册表里的安装路径再移动 vhdx不重建实例配置完整保留手动改注册表有风险路径要完全对齐折腾型选手、实例配置很复杂不想动的C. 软链接 mklink把 LocalState 目录做目录联接指向其他盘操作最快系统更新、权限异常时容易出问题不推荐临时应急不推荐长期用我对这三种的态度很明确日常首选方案 A它虽然是重建式的但胜在可控、可回滚导出包在手出什么事都能恢复方案 B 保留实例完整性适合那些配置特别复杂、重装一遍要一整天的环境但要对注册表有敬畏之心方案 C 我踩过坑某次系统更新之后联接失效WSL 直接起不来找问题找了一下午从那以后再也不用了。4.2 方案 Aexport import 迁移最推荐先把整个流程走一遍。第一步看看现在有哪些实例、分别在哪、多大wsl -l -v假设我们要迁的是Ubuntu-22.04。第二步彻底关闭 WSL这一步必须做否则导出的数据可能不完整wsl --shutdown第三步导出成一个 tar 包路径自己定建议就放在目标盘的 WSL 目录里方便管理wsl --export Ubuntu-22.04 D:\WSL\backup\ubuntu2204.tar这个过程根据实例大小可能要几分钟到十几分钟导出的 tar 包可以用压缩工具再压一下能省不少空间但注意后续导入要的是未压缩的 tar压缩包得先解压所以如果盘够大就别压省事。第四步也是最容易被忽略的一步确认导出成功了再去注销旧实例。怎么确认看 tar 包的体积是不是和预期差不多比如你估计实例有 30G结果 tar 包只有几百 KB那肯定是出问题了这时候千万别手快注销先排查。确认没问题之后wsl --unregister Ubuntu-22.04这一步会把这个实例从 WSL 里彻底移除包括 C 盘上那个 vhdx。注意是彻底移除所以前面备份这一步绝对不能省。第五步导入到新位置wsl --import Ubuntu-22.04 D:\WSL\Ubuntu-22.04 D:\WSL\backup\ubuntu2204.tar --version 2第六步处理默认用户问题。前面离线安装那一节讲过import 进来的实例默认是 root 用户我们需要重新指定。先进去wsl -d Ubuntu-22.04确认原来的用户还在不在用户目录/home/devuser应该还在因为整个文件系统都被打包过来了然后在/etc/wsl.conf里写好[user] defaultdevuser退出wsl --terminate Ubuntu-22.04再进来看看whoami是不是变成了devuser。到这一步迁移就完成了原来 C 盘的空间在 unregister 之后会被释放掉你可以wsl -l -v再确认一遍实例都在然后去D:\WSL\Ubuntu-22.04下面看会有一个新的ext4.vhdx那个就是未来所有数据的新家。注意迁移完成后原来装在 Windows 侧的 VS Code、终端配置一般不用动因为它们是通过 WSL 的接口访问实例的路径变了不影响。但如果你的某些脚本里硬编码了旧的AppData\Local\Packages\...路径记得改掉。另外之前用\\wsl$\Ubuntu-22.04\...这种 UNC 路径访问的快捷方式一般还能用因为发行版名字没变。4.3 方案 B改注册表 Lxss BasePath保留原实例方案 B 适合那种实例里配置太复杂实在不想重来一遍的情况。原理是 WSL 会在注册表里记录每个发行版的安装位置我们把这个位置改掉再手动把 vhdx 挪过去。位置在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss打开注册表编辑器展开这个路径下面会有一串以{GUID}命名的子项每个对应一个发行版。挨个点开看右边的DistributionName值找到你要迁移的那个。重点看两个值BasePath和Flags。BasePath是安装根目录形如C:\Users\xxx\AppData\Local\Packages\...\LocalState我们要把它改成目标路径比如D:\WSL\Ubuntu-22.04。操作顺序很关键顺序错了容易出岔子先wsl --shutdown关掉所有实例然后在资源管理器里把BasePath指向的整个目录复制不是移动到新位置复制完先别急着删旧的接着回到注册表把BasePath改成新路径注意路径要用双反斜杠\\转义改完wsl -l -v看看还能不能列出实例能列出并且能进去说明新路径生效了最后再删掉 C 盘上的旧目录释放空间。如果进去失败把BasePath改回去用备份目录恢复损失可控。这个方法看起来步骤不多但有几个暗坑。第一注册表路径里的双反斜杠不能少写成单斜杠 WSL 会找不到目录。第二目标目录的权限要正确最好复制完之后确认一下当前用户对它有完全控制权限。第三如果你有多个实例改的时候一定要对照DistributionName一个一个来改错了会让另一个实例起不来。我的建议是除非你确实有强烈理由保留原实例否则还是老老实实用方案 A省心得多。5. 迁移后的调优内存、默认用户与开发联调5.1 用 .wslconfig 给 WSL2 划出资源边界WSL2 默认会吃掉相当多的内存因为它是虚拟机Windows 会给它分配一大块。老机器上这会导致 Windows 侧变卡尤其是只有 8G 或 16G 内存的笔记本。解决办法是在 Windows 用户目录下建一个.wslconfig文件路径是C:\Users\你的用户名\.wslconfig注意它必须放在 C 盘的用户目录下不能跟着 vhdx 一起挪走这是个例外。内容大概这样[wsl2] memory8GB processors4 swap4GB localhostForwardingtruememory是 WSL2 能用的最大内存按你机器总内存的一半到三分之二来给比如 16G 的机器给 8G 比较合适32G 的机器给 12G 到 16G。processors是可用核心数别超过物理核心数。swap是交换空间给 2G 到 8G 都行跑编译任务的时候有帮助。改完这个文件一定要wsl --shutdown让它完全重启才生效光 terminate 单个实例是不行的。这个配置我每台机器都会设效果很明显尤其是开着浏览器和 IDE 的时候Windows 侧不再动不动就卡一下。还有一个和磁盘相关的优化值得提vhdx 只涨不缩定期压缩是好习惯。压缩前先用wsl --shutdown关掉实例然后用diskpart或者Optimize-VHD处理简单点的做法是直接进 Windows 的磁盘管理工具找到那个 vhdx 挂载一下再压缩或者用命令行wsl --shutdown Optimize-VHD -Path D:\WSL\Ubuntu-22.04\ext4.vhdx -Mode FullOptimize-VHD需要 Hyper-V 模块支持普通家庭版可能没有那就用diskpart的compact vdisk命令。我一般半年清一次一个涨到 50G 的实例压完能回到 30 多 G挺可观的。5.2 默认用户、默认发行版和路径互访迁移和导入之后有几个高频操作值得固化成习惯。默认发行版的设置前面提过wsl --set-default Ubuntu-22.04这样直接敲wsl就进主实例。以指定用户进入可以加-u比如wsl -d Ubuntu-22.04 -u root临时以 root 身份进去做事办完事退出不给日常使用留隐患。查看所有实例状态用wsl -l -v看版本、看运行状态、看是不是 WSL2。路径互访这块新手最容易迷糊。在 WSL 里访问 Windows 文件路径是/mnt/c、/mnt/d也就是 C 盘挂到/mnt/cD 盘挂到/mnt/d。反过来在 Windows 里访问 WSL 文件用\\wsl$\Ubuntu-22.04\home\devuser这样的 UNC 路径或者在文件管理器地址栏敲\\wsl$回车会列出所有正在运行的发行版。这里有个性能经验必须说不要把项目代码放在/mnt/c或/mnt/d下面跑跨文件系统的 IO 性能很差编译一个前端项目能比放在 Linux 侧慢好几倍。正确做法是把代码放在 Linux 自己的家目录里比如/home/devuser/projects然后用 VS Code 通过 WSL 连接去编辑体验和本地几乎没区别。5.3 和 VS Code 联调以及终端字体选择现在做开发的人基本都用 VS Code它和 WSL 的配合非常成熟。装好 WSL 扩展之后在 WSL 终端里进到项目目录敲一个code .VS Code 就会以远程模式打开这个目录界面在 Windows 侧代码和运行环境在 Linux 侧无缝衔接。这种情况下所有插件、终端、调试都跑在 WSL 里Windows 侧不装任何东西非常干净。需要注意的是首次连接会下载一个 VS Code Server 到 WSL 里网络不好的时候也会慢耐心等或者配置好镜像源。再聊聊终端字体这是个被低估的体验点。默认的 Consolas 或者点阵字体在跑一些带边框的 TUI 工具、查看 git 分支图的时候很别扭对齐会乱。想要接近某些桌面系统那种清爽的代码显示效果可以换等宽字体比较稳妥的几个选择Cascadia Code微软自家出的带连字Win11 终端默认就是它、JetBrains Mono字重齐全长时间看代码眼睛舒服、Sarasa Mono SC更纱黑体中文注释对齐特别整齐中英混排场景强烈推荐。装完之后在 Windows Terminal 的设置里把字体改掉顺便把行高调到 1.2 左右观感提升很明显。如果你还会用到 binwalk 做固件分析、在 WSL 里装 CUDA 跑 GPU 任务、跑 redis、跑 docker这些其实都是完整 Linux 环境的常规操作在 WSL 里一条条装就行基本不用特殊处理。唯一要注意的是 GPU 相关的功能对 Windows 显卡驱动和 WSL 内核版本有要求建议保持wsl --update到较新版本。MATLAB 有时候识别不到 WSL 环境通常是它在 PATH 里找不到wsl.exe把 Windows 的 System32 目录确认在环境变量里一般能解决。6. 常见问题与排查速查表6.1 安装阶段的高频报错安装阶段的问题五花八门但仔细归类其实就那么几类我先用一个表把高频的列出来后面再补充几个我有亲身体会的。现象常见原因处理思路wsl --install提示找不到命令系统版本低于 2004或 WSL 功能未启用手动 dism 开启两个功能并重启安装过程卡住、下载极慢下载源访问受限加--web-download或走离线安装方案报 403 或连接超时网络出口对下载地址有拦截换网络时间点或直接离线装启动提示虚拟机平台未启用BIOS 虚拟化关闭或功能组件没开进 BIOS 开 VT-x / SVM重启再启用功能提示 WSL 版本过旧内核更新包没装或太老装最新 wsl_update_x64.msi 或wsl --update安装后无法创建用户导入型实例默认 root不会提示创建手动 adduser 并配置 wsl.conf除了表里的还有两个我印象深刻的。一个是wsl --list --online转圈半天最后超时这个基本就是网络问题别怀疑系统直接改用wsl --import导入离线包十分钟解决。另一个是内核版本过旧导致的启动失败报错信息里会提示需要更新去装一下最新的内核更新包就行这个包很轻装完重启一次生效。6.2 迁移与日常使用阶段的故障迁移之后出问题八成和路径或者用户有关。最常见的现象是实例能列出来但一进去就报错或者卡住不动。排查顺序是这样——先wsl --shutdown全部关掉再wsl -l -v确认实例在然后wsl -d 实例名单独启动它看报什么错。如果报的是磁盘或路径相关的去检查D:\WSL\...下面的 vhdx 是否存在、大小是否正常、权限是否对。第二个高频问题是登录后变成 root或者想用的用户不在了。这个问题前面讲过/etc/wsl.conf里补一段[user] defaultxxx就能解决前提是这个用户的主目录还在。如果用户确实丢了用 root 进去adduser重建一个再把之前的家目录认领回来chown -R devuser:devuser /home/devuser一条命令搞定。第三个是文件权限异常比如从 Windows 侧拖进去的脚本在 WSL 里执行不了报权限错误。这和 Windows 文件系统挂载方式有关可以通过/etc/wsl.conf里的 automount 选项调整写入[automount] options metadata,umask22,fmask11metadata开启之后 WSL 会保留 Linux 的权限位跨系统操作会规范很多。改完同样要wsl --shutdown再启动。还有几个零散的坑顺手记一下Windows 和 WSL 之间的复制粘贴偶尔会失灵重启一下wsl --shutdown通常就好.wslconfig改了不生效多半是没完全关机wsl --shutdown是唯一可靠的生效方式想彻底卸载某一个发行版wsl --unregister 实例名就够会连带清掉它的 vhdx想连 WSL 组件本身一起卸较新版本提供了命令行卸载方式在启用或关闭 Windows 功能里勾掉那两个组件也同样彻底。7. 我在反复折腾中攒下的几点私房心得折腾了这么多台机器我最想给你的建议其实是先规划再动手。装 WSL 之前在目标盘建一个统一目录比如D:\WSL下面按发行版名分子目录再建一个backup放导出包这个结构一旦定下来以后迁移、备份、清理都有章可循不会出现到处是 vhdx、不知道哪个能删的情况。我现在这块盘就是这个结构清清爽爽。第二个心得是关于备份的节奏。wsl --export这个命令别只在迁移的时候用把它当成定期动作比如每完成一个阶段的开发环境配置就导一份带日期的包存起来。这个习惯救过我两次一次是手滑改了某个配置文件把环境搞挂了另一次是系统更新之后 WSL 起不来两次都是直接 import 备份包五分钟恢复重新配一遍的时间全省下来了。导出包只占空间不占运行资源放块大点的盘上完全值得。第三个心得是别把 Windows 侧和 Linux 侧的文件混着放。刚开始用 WSL 的时候我习惯在 D 盘建个项目文件夹然后从 WSL 里去/mnt/d访问跑起来那个慢啊npm install 能等出脾气。后来把代码全挪到 Linux 家目录里速度立刻正常了。跨文件系统的访问开销是实打实的理解了这一点你的开发体验会好一大截。最后一个小技巧分享给还在被下载速度折磨的人如果你不需要最新版本发行版的离线 rootfs 包在很多内网镜像源、开源软件镜像站上都能找到下载速度快得多配合wsl --import使用完全等效还不受在线安装通道的限制。我自己在公司内网就是这么干的从零到跑起一个 Ubuntu 开发环境全程不到二十分钟。