ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

双系统、虚拟机与WSL2深度对比:Linux开发环境选型指南

双系统、虚拟机与WSL2深度对比:Linux开发环境选型指南 1. 先搞清楚你问的到底是哪个问题先说个扎心的事实绝大多数人在选型之前根本没想清楚自己要在 Linux 环境里干嘛。有人想要一个和 Windows 并列的独立系统来学运维有人只是想跑个 Python 脚本却不想装双系统还有人就是看着终端敲命令的样子很酷才动了心思。这三个需求对应的答案完全不同。我见过不少一开始就装双系统的人装完 Ubuntu 之后一个月都没怎么进过 Linux 那边硬盘倒是被 GRUB 引导占掉一块也见过坚持用虚拟机跑 Linux 做嵌入式开发的人最后被串口和 USB 设备透传给折磨到崩溃。这些都不是方案不好是人选错了。这篇文章就把双系统、虚拟机、WSL 这三条路的底细全部摊开讲一遍。不吹不黑直接从原理、性能、适用场景、坑点、学习成本这些角度对比最后给你一个可以直接照着选的决策流程。适合的人群很明确想在 Windows 电脑上做 Linux 开发或学习的朋友包括刚接触 Linux 的大学生、运维新人、后端开发、嵌入式开发者已经被某个方案卡得难受准备换路的人也可以参考。先说结论放在前面预防有的人读不完日常开发和学习WSL2 是性价比最高的选择需要完整 Linux 内核或图形界面的桌面场景虚拟机更稳想要极致的硬件性能体验、长期作为主力系统使用双系统不可替代。下面逐步拆解这个结论是怎么来的。2. 三种方案不是同一个物种原理决定了上限很多人把三个方案放在一起比较但其实它们在计算机体系结构里的层级完全不同搞清楚这一点很多困惑会迎刃而解。2.1 双系统硬件直接归 Linux 所有双系统是三个方案里最硬核的一个。它的本质是一块硬盘或者多块硬盘上同时安装了 Windows 和 Linux 两套操作系统通过引导管理器最常见的是 GRUB在开机时让你选择进入哪一个。你选择进入 Linux 之后整个机器的 CPU、内存、显卡、声卡、网卡等硬件资源就全部由 Linux 系统接管了Windows 在那个时刻是彻底不运行的、甚至不占用任何资源。这意味着Linux 系统可以 100% 使用整个物理硬件的能力。尤其是对内存的大小、CPU 的核心频率、磁盘的读写吞吐以及一些特殊硬件比如独立 NVIDIA 显卡的 CUDA 计算的访问是完全没有中间层的。从性能角度看双系统是原生性能没有任何损耗。但代价也很沉重你同时只能运行其中一个系统。如果正在 Linux 里写代码突然要处理一个只有 Windows 能打开的文件或者数字证书、U 盾之类的环境就必须整套切换、重启。这个体验上的撕裂感往往是很多人装了双系统之后又卸掉的最大原因。2.2 虚拟机模拟整台电脑与宿主隔离虚拟机这里主要指 VMware Workstation、VirtualBox 这类 Type-2 虚拟机的思路是在 Windows 这个宿主操作系统上安装一个虚拟化软件由这个软件去申请一部分 CPU、内存、磁盘资源然后虚拟出一整套完整的 PC 硬件虚拟网卡、虚拟显卡、虚拟硬盘、虚拟主板再在这套虚拟硬件上安装 Linux 系统。原理上虚拟机里运行的 Linux 和物理机上安装的 Linux 几乎没有区别它有完整的 Linux 内核、完整的图形桌面、完整的设备管理器。好处是隔离性极强Linux 系统只是宿主 Windows 上的几个文件而已坏了随时可以删除重建备份就是复制几个文件跟 Windows 本体互不干扰。但代价同样明显虚机里面的所有硬件操作都要经过虚拟化层转发再由宿主 Windows 调用真实硬件。CPU 密集的任务有硬件辅助虚拟化Intel VT-x / AMD-V的加持损失不大但磁盘 I/O、图形渲染、USB 设备直通这些链路会有可见的性能损耗。而且虚拟软件要预先分配内存如果你分配给 Linux 虚拟机 4GB那这 4GB 内存在虚拟机运行期间是背着虚拟化税的。2.3 WSL把 Linux 内核变成 Windows 的一个组件WSL 就容易被人误解了。很多人以为 WSL 和虚拟机差不多只是更轻一点。实际上原理差得很远。WSL 分成两个大版本。WSL1 是一个系统调用翻译层它不走虚拟化直接读取 Linux 的可执行文件ELF 格式然后把 Linux 内核发出的系统调用翻译成 Windows 的系统调用用 Windows 内核来执行。这套方案启动极快、内存占用极低但兼容性不完整因为并不是每一个 Linux 系统调用都能一一对应到 Windows 上。WSL2 则换了一个思路它用微软自己造的轻量级实用虚拟机基于 Hyper-V 架构来跑一个完整的、真正的 Linux 内核。你没有看错WSL2 底层也是虚拟机只是微软把它极度优化和精简了——没有 BIOS 自检、没有 GRUB 启动菜单、没有完整的设备模拟启动时间从冷启动到进入命令行只需要 1 到 2 秒。Windows 通过一个叫Plan 9 文件系统协议的机制把 Windows 的盘符C:\、D:\挂载到 WSL 里的 /mnt/c、/mnt/d 上让你能直接读取 Windows 文件反过来Linux 的根文件系统则放在一个名为 ext4.vhdx 的虚拟磁盘文件里。所以准确地说WSL2 是挂着虚拟机技术的原生体验它在启动速度和资源开销上碾压传统虚拟机同时又拥有完整的 Linux 内核兼容性比 WSL1 强得多。搞清楚这三层原理之后我们再谈选型就有基础了双系统的本质是资源独占虚拟机的本质是资源隔离WSL 的本质是资源按需分配的深度集成。3. 真实工作流下的差异没有最强只有最合适原理讲完了来说点实际的。我把日常开发学习里最常遇到的六个场景拉出来逐个对比帮你看清楚每个方案在真实工作流里的表现。3.1 日常命令行的体验和速度如果你需要的是一个开箱即用的 Linux shell 环境用来跑跑 Git 命令、SSH 登录服务器、用 awk/sed/grep 处理文本、用 Python/Python3 跑个脚本WSL2 的体验在三个方案里是最好的。冷启动一个 Ubuntu 终端在 WSL2 里基本是一瞬间的事。我实测过一台配置中等的笔记本i5-12 代 16GB 内存WSL2 从输入 wsl 到看到 shell 提示符1.5 秒左右VMware 里起一个 Ubuntu Server 虚拟机从开机到登录命令界面大约 15 到 20 秒双系统的话得按开机键加上系统启动随配置和硬盘速度不同通常 20 到 40 秒。而且 WSL2 与 Windows 的集成能力是虚拟机比不了的你可以直接explorer.exe .从 WSL 里打开 Windows 资源管理器可以直接code .调用 Windows 那边安装的 VSCode 打开当前目录Windows 和 Linux 的剪贴板互通在网络层面WSL2 也是直接共享 Windows 的网络配置访问内网服务和工作环境比如连数据库、连公司的跳板机不需要额外配置。3.2 编译与计算性能损耗到底有多大如果是编译大型项目、跑深度学习训练、做科学计算这类 CPU/GPU 密集型任务性能差异就会暴露出来。双系统拥有全部的 CPU 核数、全量内存、原生的硬件访问权限性能是最完整的没有任何损耗。虚拟机VMware的性能跟配置强相关。CPU 性能通过 VT-x 辅助之后损耗一般在 5%~15% 左右内存带宽损耗更小磁盘 I/O 的损耗就比较大了普通 SATA 固态硬盘在虚拟化层之后4K 随机读写的性能可能会掉 20%~40%。跑编译任务时遇到完全用满多核的场景差距能直观感觉到。WSL2 的情况跟虚拟机相似但略有不同。因为 WSL2 的实用性虚拟机比较精简CPU 损耗大约也在 5%~15%和 VMware 差不多。需要特别注意的是文件系统的性能如果你在 WSL2 的 Linux 文件系统~/ 目录里编译好好的性能接近原生但如果你在 /mnt/c 下的 Windows 目录里编译也就是跨文件系统操作性能会急剧下降。这是因为跨文件系统通信要走 9P 协议协议本身的开销很大。很多 WSL2 用户项目突然编译特别慢十有八九就是把项目放在了 Windows 盘里而不是 ~ 目录下。这是一个非常典型的坑后面我会专门再说。3.3 图形界面和桌面应用双系统的图形体验是另外两个方案永远追不上的。你在 Linux 桌面环境里打开 GNOME、KDE、输入法、浏览器全部走的是原生驱动尤其是显卡驱动装好之后动画流畅度和视频播放体验和 Windows 下没有区别。虚拟机里想用 Linux 桌面也不是不行VMware 自带 VMware Tools 增强驱动VirtualBox 有增强功能包装好之后支持不错的 3D 加速日常办公和开发是流畅的。但如果你要跑 Android 模拟器这类需要嵌套虚拟化的应用或者需要 GPU 直通NVIDIA vGPU 技术来进行图形算法开发那虚拟机的默认模式就不够了得折腾 PCIe 直通的超纲玩法门槛陡增。WSL2 从 2021 年开始支持 WSLgWindows Subsystem for Linux GUI可以在 Windows 桌面里直接跑 Linux 的图形程序。体验比虚拟机还顺滑因为它是直接用 RDP 协议做的远程桌面集成程序窗口会直接出现在 Windows 桌面上可以直接用。但 WSLg 只适合轻量级的图形应用跑个 GTK 程序、Eclipse、Gedit 没问题要想在 WSLg 里玩完整的 GNOME 桌面或者跑需要 GPU 大量参与的软件体验就比较勉强了偶尔还有渲染延迟和输入法焦点的问题。3.4 嵌入式开发与硬件设备连接这是一个容易被忽略但杀伤力巨大的差异。做嵌入式开发的朋友经常要连 USB 转串口调试线、JTAG 下载器、USB 摄像头等外设。在 VMware 里你可以通过USB 设备直连功能把物理机的 USB 设备挂载给虚拟机里的 Linux操作上没问题但每次虚拟机焦点切换、USB 插拔之后设备常常会重连或者需要重新选择体验比较碎。VirtualBox 的 USB 支持稍弱一些需要装扩展包。在 WSL2 里USB 设备的直连曾是长久的痛点。直到微软推出了 usbipd-win 这个工具才实现了把 Windows 上的 USB 设备共享给 WSL2 使用。不过这个工具在 Linux 那边需要 usbip 内核模块支持遇到不支持的设备或者对时序要求极高的调试器比如部分 JTAG偶尔会遇到连接不稳定的情况。双系统在这方面一劳永逸只要 Linux 内核识别了这个硬件设备它就是原生工作的没有中间层稳定性最高。3.5 Docker 容器WSL2 的主场优势关于 Docker我的态度很明确WSL2 是目前在 Windows 上跑 Docker 最舒服的方案。Windows 上跑 Docker 的三种常见方式我逐个说下真实体感Docker Desktop with WSL2 后端用的是 WSL2 的实用虚拟机承载 Docker Engine镜像构建、容器启动速度都不错而且和 Windows 的 Docker CLI 无缝集成另一种是直接在 VMware 虚拟机里装一个带 Docker 的 Linux 环境适合需要模拟生产环境的完整功能时使用但是启动整套虚拟机要占 4~8GB 内存只为跑个容器有点重还有一种是 Windows 容器模式跟 Linux 容器是两个生态位日常开发基本不碰。如果你在 WSL2 里手工装了 Docker Engine不装 Docker Desktop那性能还可以再提高一点而且不需要 Docker Desktop 的商业授权限制。但要注意WSL2 的 Docker 在跨盘挂载时会踩文件系统性能的坑最好把容器的数据卷都配置在 Linux 文件系统侧。3.6 游戏游戏输赢论不是一个纯粹的技术问题但确实是很多人的真实需求。Linux 游戏生态这些年靠 Proton/Steam Play 已经好了很多很多 Windows 游戏在双系统的 Linux 里能流畅跑。如果你只在 Windows 上玩游戏那根本不需要 Linux 环境这篇文章你都不用看下去。三者之间双系统Windows 打游戏Linux 干活物理分离互不影响。虚拟机VMware/VirtualBox没法用完整 GPU 直通的情况下游戏体验非常差绝大多数大型 3D 游戏根本没法流畅跑。WSL2它只是一个用于开发的工具环境不是一个游戏运行平台显卡驱动支持有限不建议碰游戏。4. 选型决策框架不同角色的答案并不相同有了前面的实地对比我来给一套可以直接照着填的决策框架。你不用全部理解原理只需要回答三个问题答案指向基本上就水落石出。问题一你使用 Linux 的频率和强度有多高每天都要用、一用就几个小时、做主开发环境的人考虑双系统或强配置虚拟机。偶尔用一下、跑个命令完成一个任务就切回 Windows 的人WSL2 是最优选。问题二你需要用到完完整整的 Linux 内核和完整 GUI 吗需要完整桌面体验、内核模块开发、内核实验比如自己编译内核、用 QEMU 做内核调试、GPU 计算等双系统最合适。只需要命令行开发和服务器管理WSL2 足够了。需要一个可控、可快照、方便回滚的完整 Linux 环境虚拟机是最优选。问题三你对硬件资源的预算内存/磁盘/GPU是什么机器标配 8GB 或 16GB 内存你同时要开浏览器、IDE、数据库那别碰虚拟机WSL2 是唯一不占太多资源的选择。机器有 32GB 以上内存希望在 Windows 和 Linux 之间有明确隔离请用 VMware。机器有独立显卡主打 AI 或渲染类任务双系统是唯一能 100% 吃满显卡性能的。我把不同角色的直接推荐列表放在这里大家可以自行查找坐标使用者首选方案备选方案说明后端开发写接口/调服务WSL2VMware命令行够用I/O 省心前端开发Node/ViteWSL2双系统文件 I/O 频繁放 Linux 盘运维/DevOps/SREWSL2VMwareDocker 支持友好嵌入式开发双系统VMwareUSB直通双系统对硬件对接最稳内核/驱动开发双系统VMware嵌套虚拟化WSL2 不适合改内核深度学习/AI 训练双系统VMwareGPU直通太折腾用原生驱动学生/初学者学 Linux 命令WSL2VMware门槛最低、不容易劝退坚持要用完整 Linux 桌面VMware双系统虚拟机方便快照日常办公为主偶尔跑 Linux 程序WSL2不折腾别为偶尔需求装双系统5. 决定用 WSL2 的话安装和配置有哪些容易翻车的点如果你最终选中了 WSL2那这一节是为你准备的。WSL2 虽然开箱体验好但实际安装和初期配置阶段的坑也不少。这不是一篇 WSL2 的全量教程但我会把最常踩的几个点列出来都是真实高频问题。5.1 安装 WSL2 的正确姿势以 Windows 10 21H2 以上版本或 Windows 11 为例最省事的办法是管理员权限打开 PowerShell 或 Windows Terminal直接运行wsl --install这个命令会自动启用适用于 Linux 的 Windows 子系统和虚拟机平台这两个 Windows 功能然后默认下载安装 Ubuntu一切正常的话重启一次即可。这是微软在 2022 年之后力推的标准安装方式。注意几个坑不要在旧教程的引导下去控制面板 → 启用或关闭 Windows 功能里手动勾选。手动开启功能没问题但如果你只勾了适用于 Linux 的 Windows 子系统而没勾虚拟机平台装的还是 WSL1后面用wsl --set-version转 2 时还容易报错。命令行敲wsl --install之后如果长时间卡在下载阶段通常是因为访问微软服务器网络问题。可以检查一下是不是代理工具干扰了下载。还有一种可能是 Windows 更新没有装到最新累积补丁老版本的 WSL 服务有问题。安装完重启之后首次启动 Ubuntu 会让你设置用户名和密码。这里要注意这个 Linux 用户名和 Windows 用户名不是一回事Linux 里创建的账户默认不在 sudo 组里需要在创建之后的首次会话里手动附加 sudo 权限。Ubuntu 官方 WSL 镜像一般会自动把第一个创建的用户加入 sudo 组但如果你手动换了发行版比如直接装 Kali很可能没有这个便利。5.2 WSL1 和 WSL2 之间的切换很多人以为装了 WSL 就是 WSL2其实不一定。用wsl -l -v命令可以查看当前各发行版的 WSL 版本wsl -l -v输出中 VERSION 列是 1 或 2。如果是 1在确保 Windows 功能虚拟机平台已开启的情况下执行wsl --set-version Ubuntu 2这个转换过程需要一点时间本质上是把原本的系统调用翻译模式替换为实用虚拟机模式系统文件本身不受影响。如果你使用的发行版很老或者 Windows 系统版本太旧转换时可能报WSL 2 需要更新其内核组件。这个错误是 WSL2 的内核组件太老导致的运行一次:wsl --update即可解决。如果你看到错误信息 your version of windows subsystem for linux (wsl) is too old大概率也需要这个命令。5.3 迁移默认的 Linux 系统盘位置WSL2 的 ext4.vhdx 默认存放在 C 盘的用户目录下比如C:\Users\你的用户名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu...\LocalState\ext4.vhdx。如果你的 C 盘是 256GB 的小固态用不了多久这个文件就会膨胀到几十 GB——因为 WSL2 里的 vhdx 虚拟磁盘文件不会随着里面文件删除而自动缩容只会越涨越大。最好的办法是安装之后立刻把整个发行版导出并迁移到其他盘。步骤是wsl --shutdown wsl --export Ubuntu D:\wsl\ubuntu-backup.tar wsl --unregister Ubuntu wsl --import Ubuntu D:\wsl\ubuntu E:\wsl\ubuntu-backup.tar注意--unregister会彻底删除原发行版和里面所有数据所以必须先--export备份。另外用--import方式恢复的发行版默认登录用户是 root需要到 /etc/wsl.conf 里配置[user] default你的用户名然后重启 WSL 才恢复普通用户登录。这是一个我强烈建议新用户早点做的事等到 C 盘满了再折腾迁移成本会高很多。5.4 配置文件 .wslconfig 的调优在C:\Users\你的用户名\.wslconfig文件里可以控制 WSL2 的资源分配。默认情况下WSL2 会最多占用物理内存的 50% 或 8GB取较小者4 核 CPU。对内存大户来说可以自定义[wsl2] memory6GB processors4 swap2GB localhostForwardingtrue如果你机器只有 16GB 内存同时开 Windows 开发环境和 WSL2我建议 memory 不要给超过 8GB否则 Windows 这边内存吃紧会拖慢整体体验。如果你经常在 WSL2 里跑编译可以稍微调大如果只是跑跑命令行默认值就够了。.wslconfig修改后必须执行wsl --shutdown不是 exit是彻底关闭 WSL 实例再重新打开终端才能生效。6. 决定用虚拟机的话几个比选型和排错的经验虚拟机这条路线我说一个总原则如果你不是非要用 Oracle VirtualBox 不可首选 VMware Workstation Pro或者它的免费个人版。我这样推荐的道理是VMware 的 USB 直通能力、GPU 加速能力、磁盘性能、和 Windows 的集成比如文件夹共享在 Windows 平台上比 VirtualBox 稳定得多。VirtualBox 这些年有过不少虚拟机 4K 对齐、USB 设备重连的问题调试起来很费时间。VMware 的基本设置里有三个关键点虚拟机内存不要超过物理内存的一半否则 Windows 宿主会很卡。磁盘类型选择预分配而不是动态分配虽然创建时慢一点、占的空间大一点但后续虚拟机运行时的磁盘 I/O 性能明显更好。如果你不需要以后有可能缩小磁盘这种功能直接选预分配。处理器设置里如果 CPU 是 6 核以上给虚拟机分配 4 核通常比直接分 6 核更稳定——虚拟化调度也要给 Windows 宿主留足空间。另外一个非常容易忽略的问题虚拟机里的 Ubuntu 默认如果装了open-vm-tools-desktop它会自动调整分辨率、剪贴板互通、拖拽文件等能力。但如果你的虚拟机系统一直装不上增强工具往往是因为 Linux 内核头文件缺失。先执行sudo apt update sudo apt install build-essential linux-headers-$(uname -r)然后再装增强工具成功率会高很多。虚拟机还有一个极其好用的特性快照Snapshot。在改动系统配置、装大型软件之前打一个快照翻车之后一秒钟回滚这种安全感是双系统和 WSL 都给不了的。这个特性特别适合学习阶段比如你练习 Linux 分区、配置网络、折腾服务不管在哪个环节挂掉了回滚就是一条命令的事。7. 决定用双系统的话这些血泪教训值得提前知道双系统是所有方案里上限最高、下限也最低的。装好了一切顺畅装不好的话不仅 Linux 没进成连 Windows 引导都给你整没。当然安全合规问题是底线问题但技术风险也是要明确的安装双系统存在引导损坏、分区误删导致数据丢失的风险动手前请务必先备份重要文件。以下是我整理出的最实用的几条双系统操作经验分区规划在 Windows 里操作。建议先在 Windows 的磁盘管理里给 Linux 预留一块未分配空间不小于 80GB不要用第三方分区工具去强行压缩正在使用的分区容易把 Windows 搞崩。进入 Ubuntu 安装界面后选择与 Windows 共存或者手动分区时对准你预留的那块未分配空间来创建分区。Swap 分区的大小如果你不是搞休眠恢复功能的老手Swap 设成跟内存一样大就够了甚至可以不设。现代 Linux 用 swapfile 替代 swap 分区很成熟。引导安装位置这个非常重要。Ubuntu 安装时引导程序GRUB会默认安装到整块硬盘的主引导记录MBR或 EFI 引导分区ESP。如果你有两个硬盘建议把引导装到 Linux 所在的那块硬盘上这样 Windows 和 Linux 两块盘互不干扰。如果只有一个硬盘装进 ESP 分区即可GRUB 会自动识别 Windows 引导项开机时弹出系统选择菜单。Windows 引导修复如果哪天装完 Linux 后发现 Windows 进不去了通常是因为 GRUB 没有正确识别 Windows 引导项不要去重装系统先在 Linux 里执行sudo update-grub重新扫描分区引导项。如果 GRUB 整个消失了比如被 Windows 的启动修复覆盖了可以用 Ubuntu 安装盘的“试用”模式进入 Live 环境然后用 boot-repair 工具修复。修复命令大致是sudo add-apt-repository ppa:yannubuntu/boot-repairsudo apt updatesudo apt install boot-repair。时间错乱问题双系统下 Windows 和 Linux 看待硬件时钟RTC的方式不同一个把 RTC 当本地时间一个当 UTC 时间导致切换系统之后时间会差 8 小时。解决办法是在 Windows 里执行reg add HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /d 1 /t REG_QWORD /f然后重启。这是让 Windows 把 RTC 按 UTC 处理跟 Linux 保持一致。或者反过来在 Linux 里执行timedatectl set-local-rtc 1。8. 我用 WSL2 一年多之后又换回了 VMware 的真实原因这部分不是劝退而是想告诉你选型是会随着需求动态变化的。我在很长一段时间里都是坚定的 WSL2 用户它让我在 Windows 下可以舒服地写 Go、写 Dockerfile、跑 K8s 集群。但它有一个让我最终放弃的致命伤当我要调试一个需要完整 Linux 桌面环境的图形程序时WSLg 的体验始终差一口气。另外WSL2 和 Windows 的文件系统分隔带来的边界问题也让人头疼——我经常要在 Windows 的 IDE 和 WSL2 的构建环境之间做文件交换一旦项目依赖多了跨文件系统访问慢的问题就放大了。后来我换回 VMware Workstation在一台 32GB 内存的机器上给 Ubuntu 虚拟机分 16GB磁盘预分配 120GB用起来整个人的心情好多了。快照、克隆、随时暂停恢复这些功能对开发流程的帮助是无价的。而且 VMware 的性能损耗在 32GB 内存的机器上几乎感知不到——日常编译差距也就 10% 左右换来的是完整的桌面环境和高稳定性给我的回报是远超那 10% 的。现在我的电脑上 VMware 和 WSL2 并存WSL2 用来跑快速的小任务VMware 里的 Ubuntu 用来跑需要完整 GUI、长时间运行的开发环境。两者互不冲突共生得非常愉快。所以你看不同方案从来不是单选题它更像是一种动态匹配游戏。你当前的目标、机器配置、使用习惯决定你该选谁而过半年以后它可能又变了。这很正常关键在于搞清楚每个方案的边界在哪里以及你自己的场景究竟更吃哪一头。最后再分享一个重要技巧无论选哪个方案都请养成给当前工作目录写一个 README 的习惯把环境路径、启动命令、依赖版本记录清楚。尤其是在 WSL2 这种跨文件系统场景下混过一阵子的人你会感激这个习惯的——它帮你省下大量我上次到底在哪个环境跑的这类定位时间。
返回列表