当前位置: 首页 > article >正文

C盘告急?3步搞定WSL2虚拟磁盘迁移到D盘(附PowerShell命令)

WSL2虚拟磁盘迁移实战释放C盘空间的完整指南每次打开资源管理器看到C盘飘红的剩余空间那种焦虑感恐怕每个开发者都深有体会。特别是当我们使用WSL2进行开发时那个默默膨胀的ext4.vhdx虚拟磁盘文件就像个贪吃蛇不知不觉就吞噬了宝贵的C盘空间。本文将带你深入理解WSL2存储机制并提供一套完整的迁移方案让你的开发环境重获自由。1. 理解WSL2存储机制与迁移原理WSL2虽然提供了接近原生Linux的性能体验但其底层实际上是基于Hyper-V的轻量级虚拟机。这意味着每个WSL2发行版都会在C盘用户目录下生成一个虚拟硬盘文件通常命名为ext4.vhdx这个文件会随着使用不断增长。默认存储路径为%LOCALAPPDATA%\Packages\PackageFamilyName\LocalState\disk.vhdx这个设计带来的最大问题是空间不可回收性——即使你在Linux内部删除文件vhdx文件也不会自动缩小。更糟糕的是很多预装Windows系统的笔记本C盘分区本身就很小很快就会被开发工具链和WSL2占满。迁移的核心思路其实很简单将现有WSL2实例导出为备份文件注销原实例释放空间从备份重新导入并指定新的存储位置提示整个过程不会影响你已安装的软件和配置文件所有数据都会完整保留。2. 迁移前的准备工作在开始操作前我们需要做好以下准备检查当前WSL状态wsl -l -v这个命令会列出所有已安装的WSL发行版及其状态输出类似NAME STATE VERSION * Ubuntu Running 2确认磁盘空间需求检查目标分区如D盘的可用空间建议至少保留原vhdx文件1.5倍的空间使用以下命令查看当前vhdx文件大小Get-ChildItem $env:LOCALAPPDATA\Packages\*Ubuntu*\LocalState\*.vhdx | Select-Object Name, {NameSizeGB;Expression{[math]::Round($_.Length/1GB,2)}}准备工具以管理员身份运行的PowerShell确保WSL2处于停止状态可通过wsl --shutdown强制停止3. 详细迁移步骤与实战命令现在让我们进入实际操作环节以下命令假设我们要将Ubuntu发行版迁移到D:\WSL目录3.1 导出现有实例wsl --export Ubuntu D:\Ubuntu_backup.tar这个过程可能需要几分钟取决于你的WSL实例大小。导出的tar文件是一个完整的系统快照。3.2 注销原实例wsl --unregister Ubuntu这个命令会删除原vhdx文件并释放C盘空间但不会影响我们刚创建的备份。3.3 重新导入到新位置wsl --import Ubuntu D:\WSL\Ubuntu D:\Ubuntu_backup.tar --version 2参数说明Ubuntu新实例名称保持原名D:\WSL\Ubuntu新虚拟磁盘存放目录D:\Ubuntu_backup.tar备份文件路径--version 2强制使用WSL23.4 恢复默认用户导入后的实例默认以root用户登录需要恢复你原来的用户ubuntu config --default-user 你的用户名注意不同发行版命令前缀不同发行版命令前缀UbuntuubuntuUbuntu 20.04ubuntu2004DebiandebianKalikali4. 迁移后的优化与维护成功迁移只是第一步要让WSL2保持最佳状态还需要一些定期维护自动压缩虚拟磁盘 WSL2不会自动回收已释放的空间需要手动触发wsl --shutdown optimize-vhd -Path D:\WSL\Ubuntu\ext4.vhdx -Mode Full设置默认版本避免意外创建WSL1实例wsl --set-default-version 2定期备份策略 建议将以下命令保存为脚本定期运行$backupPath D:\WSL_Backups\Ubuntu_$(Get-Date -Format yyyyMMdd).tar wsl --export Ubuntu $backupPath性能优化配置 在%UserProfile%\.wslconfig中添加[wsl2] memory4GB processors4 localhostForwardingtrue5. 常见问题与解决方案问题1导入后无法启动提示参考的对象类型不支持尝试的操作解决方案关闭某些杀毒软件的网络过滤功能或运行netsh winsock reset问题2磁盘性能下降检查是否使用了网络共享位置确保目标磁盘是NTFS格式exFAT性能较差考虑禁用Windows搜索索引服务问题3忘记原用户名在导出前先记录cat /etc/passwd | grep bash问题4需要迁移多个发行版 可以批量处理$distros wsl -l -q foreach ($distro in $distros) { wsl --export $distro D:\Backup\$distro.tar wsl --unregister $distro wsl --import $distro D:\WSL\$distro D:\Backup\$distro.tar --version 2 }迁移WSL2虚拟磁盘看似简单但实际操作中可能会遇到各种特殊情况。我在帮助团队迁移数十台开发机时发现最稳妥的方式是先完整备份原vhdx文件而不是直接删除。有一次遇到一个Python开发者的WSL实例由于常年使用conda创建各种环境vhdx文件竟然达到了120GB光是导出就花了近两小时。这种情况下提前规划好维护策略比事后抢救要明智得多。

相关文章:

C盘告急?3步搞定WSL2虚拟磁盘迁移到D盘(附PowerShell命令)

WSL2虚拟磁盘迁移实战:释放C盘空间的完整指南 每次打开资源管理器看到C盘飘红的剩余空间,那种焦虑感恐怕每个开发者都深有体会。特别是当我们使用WSL2进行开发时,那个默默膨胀的ext4.vhdx虚拟磁盘文件就像个贪吃蛇,不知不觉就吞噬…...

5分钟掌握SketchUp STL插件:3D打印模型转换的完整方案

5分钟掌握SketchUp STL插件:3D打印模型转换的完整方案 【免费下载链接】sketchup-stl A SketchUp Ruby Extension that adds STL (STereoLithography) file format import and export. 项目地址: https://gitcode.com/gh_mirrors/sk/sketchup-stl 在3D建模与…...

RK3568 OH5.1 编译运行程序hellworld

编写helloworld 代码根目录创建sample子系统文件夹在子系统目录下创建hello部件文件夹hello文件夹中创建hello源码目录及源码 sample/hello/src/helloworld.c&#xff1a; #include <stdio.h> #include "helloworld.h"void hello_oh(void);int main(int argc, …...

可扩散模型(Diffusion Models)详解:从原理到应用

使用MINIST实现的扩散模型可见diffusion_minist:基于扩散模型的MNIST手写数字生成项目 - AtomGit | GitCode 可扩散模型是近年来生成式 AI 领域的热门领域。与 GAN、VAE 等传统生成模型相比&#xff0c;它通过 “逐步加噪 - 逐步去噪” 的独特思路&#xff0c;实现了对复杂数据…...

Qt_笔记

1.事件 举例&#xff1a;按键事件使用&#xff1a;包含QKeyEvent头文件。h文件里声明&#xff0c;cpp重写虚函数&#xff1a;void keyPressEvent(QKeyEvent *k)即可。事件的名称和获取事件的函数等细节可以在帮助里查找。2.TCP网络&#xff1a;需要在pro文件里第一行添加一个库…...

抖音无水印批量下载实战指南:3分钟搞定高效内容管理

抖音无水印批量下载实战指南&#xff1a;3分钟搞定高效内容管理 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support…...

从Prompt注入到训练数据投毒:生成式AI全链路隐私攻击图谱(2024最新ATTCK for AI v2.1)

第一章&#xff1a;从Prompt注入到训练数据投毒&#xff1a;生成式AI全链路隐私攻击图谱&#xff08;2024最新ATT&CK for AI v2.1&#xff09; 2026奇点智能技术大会(https://ml-summit.org) ATT&CK for AI v2.1&#xff08;2024年9月发布&#xff09;首次将生成式AI…...

VS2019 MFC TeeChart V5.1动态曲线绘制实战:从安装到高级功能封装

1. TeeChart V5.1控件安装与注册避坑指南 第一次在VS2019 MFC项目里用TeeChart V5.1时&#xff0c;我在注册环节就栽了跟头。明明按照网上的教程操作&#xff0c;却总是提示"模块已加载但调用失败"。后来才发现&#xff0c;64位系统下的注册有特殊姿势——必须用管理…...

W5500网络芯片初始化与状态机实战解析

1. W5500网络芯片基础介绍 第一次接触W5500这颗芯片时&#xff0c;我完全被它丰富的功能震撼到了。作为一款硬连线TCP/IP协议栈的网络芯片&#xff0c;它把复杂的网络通信简化成了几个简单的寄存器操作。想象一下&#xff0c;你只需要通过SPI接口发送几条命令&#xff0c;就能让…...

Keil调试踩坑记:Flash Timeout错误全解析(附STM32解锁教程)

Keil调试踩坑记&#xff1a;Flash Timeout错误全解析&#xff08;附STM32解锁教程&#xff09; 第一次在Keil环境下遇到"Flash Timeout.Reset the Target and try it again"这个红色错误弹窗时&#xff0c;我盯着屏幕愣了三秒——明明昨天还能正常下载程序&#xff0…...

ESP32-S3开发环境避坑指南:VSCode插件配置与常见错误解决

ESP32-S3开发环境避坑指南&#xff1a;VSCode插件配置与常见错误解决 1. 环境准备&#xff1a;避开Python环境冲突的雷区 在开始ESP32-S3开发前&#xff0c;环境配置是第一个需要跨越的门槛。许多开发者在这里遭遇的第一个拦路虎就是Python环境冲突。当你在VSCode终端看到pyt…...

别再乱调学习率了!用TensorFlow/PyTorch实战演示自适应学习率与EarlyStopping如何联手防过拟合

自适应学习率与EarlyStopping实战&#xff1a;让深度学习模型训练更智能 在深度学习模型训练过程中&#xff0c;最令人头疼的问题莫过于如何平衡训练效率与模型泛化能力。许多开发者都有过这样的经历&#xff1a;精心设计的模型架构&#xff0c;却因为学习率设置不当导致训练过…...

企业级知识图谱构建解决方案:基于LLM的智能文档结构化架构与实践

企业级知识图谱构建解决方案&#xff1a;基于LLM的智能文档结构化架构与实践 【免费下载链接】llm-graph-builder Neo4j graph construction from unstructured data using LLMs 项目地址: https://gitcode.com/GitHub_Trending/ll/llm-graph-builder 在数字化转型浪潮中…...

Halcon实战:基于光度立体的金属表面划痕检测

1. 光度立体法在金属表面检测中的独特优势 金属表面划痕检测一直是工业质检中的难点问题。传统方法如2D视觉检测在面对反光强烈、纹理复杂的金属表面时&#xff0c;往往难以准确识别细微划痕。我在实际项目中就遇到过这样的情况&#xff1a;一个汽车零部件厂商需要检测铝合金表…...

Redis可视化管理的终极方案:Another Redis Desktop Manager完整指南

Redis可视化管理的终极方案&#xff1a;Another Redis Desktop Manager完整指南 【免费下载链接】AnotherRedisDesktopManager &#x1f680;&#x1f680;&#x1f680;A faster, better and more stable Redis desktop manager [GUI client], compatible with Linux, Windows…...

终极解决方案:如何永久保存你的微信聊天记录并生成精美年度报告

终极解决方案&#xff1a;如何永久保存你的微信聊天记录并生成精美年度报告 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending…...

SocialEcho技术架构深度解析:MERN全栈实战

SocialEcho技术架构深度解析&#xff1a;MERN全栈实战 【免费下载链接】SocialEcho Social networking platform with automated content moderation and context-based authentication system 项目地址: https://gitcode.com/gh_mirrors/so/SocialEcho SocialEcho是一个…...

开发者的第二曲线:35岁后职业图谱

当“分水岭”成为“新起点”在软件测试行业&#xff0c;35岁常常被描绘为一道充满焦虑的“分水岭”。当自动化工具日益普及&#xff0c;生成式AI开始辅助甚至编写测试脚本时&#xff0c;许多资深测试工程师感到传统经验的价值在流失&#xff0c;职业道路似乎越走越窄。然而&…...

EPC发布用于机器人和轻型电动车的5kW氮化镓三相逆变器

Efficient Power Conversion (EPC) 推出了两款基于氮化镓&#xff08;GaN&#xff09;技术的高功率密度三相逆变器评估板&#xff08;EPC9186HC2/HC3&#xff09;&#xff0c;专为5kW级别的电机驱动设计&#xff0c;旨在满足机器人及轻型电动交通领域的严苛运动控制需求。该产品…...

八大网盘直链解析工具终极指南:告别下载限速的完整解决方案

八大网盘直链解析工具终极指南&#xff1a;告别下载限速的完整解决方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 /…...

LDO的实战指南:从参数解析到稳定设计

1. LDO基础&#xff1a;从线性稳压器到低压差设计 我第一次接触LDO是在2013年设计智能手表电源模块时。当时为了给MCU和传感器供电&#xff0c;需要在3.7V锂电池和3.3V系统电压之间实现高效转换。传统线性稳压器压差太大导致效率低下&#xff0c;而开关电源又存在电磁干扰问题&…...

django-push-notifications错误处理与调试:解决常见推送问题

django-push-notifications错误处理与调试&#xff1a;解决常见推送问题 【免费下载链接】django-push-notifications Send push notifications to mobile devices through GCM or APNS in Django. 项目地址: https://gitcode.com/gh_mirrors/dj/django-push-notifications …...

如何彻底掌控你的数字记忆:WeChatMsg让你的聊天数据真正属于你

如何彻底掌控你的数字记忆&#xff1a;WeChatMsg让你的聊天数据真正属于你 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/…...

如何用Retrieval-based-Voice-Conversion-WebUI在10分钟内打造专属AI语音模型

如何用Retrieval-based-Voice-Conversion-WebUI在10分钟内打造专属AI语音模型 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI Easily train a good VC model with voice data < 10 mins! 项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Vo…...

从数据混乱到决策清晰:2025年数据工程必备开源工具实战指南

从数据混乱到决策清晰&#xff1a;2025年数据工程必备开源工具实战指南 【免费下载链接】data-engineer-handbook This is a repo with links to everything youd ever want to learn about data engineering 项目地址: https://gitcode.com/GitHub_Trending/da/data-enginee…...

别再死记硬背了!用Arduino和ADC0804芯片,5分钟搞懂AD转换的采样保持到底在干啥

用Arduino和ADC0804芯片5分钟直观理解AD转换的采样保持原理 记得第一次在教科书上看到"采样保持电路"这个词时&#xff0c;我盯着那几张抽象的原理图看了半小时还是一头雾水。直到后来用ADC0804芯片配合Arduino做了个简单的电压测量实验&#xff0c;才突然明白那些看…...

5个实用技巧:用Supersonic开源音乐播放器打造个性化音乐体验

5个实用技巧&#xff1a;用Supersonic开源音乐播放器打造个性化音乐体验 【免费下载链接】supersonic A lightweight and full-featured cross-platform desktop client for self-hosted music servers 项目地址: https://gitcode.com/gh_mirrors/sup/supersonic Supers…...

因果效应估计:从关联到因果,AI决策的“反事实”革命

因果效应估计&#xff1a;从关联到因果&#xff0c;AI决策的“反事实”革命 引言 在大数据时代&#xff0c;我们常常陷入“相关性不等于因果性”的经典陷阱。广告点击率的提升&#xff0c;真的是营销活动的功劳吗&#xff1f;某种药物的疗效&#xff0c;在复杂的真实世界中如…...

别再乱画了!Axure RP 9/10 高效原型设计的8个核心规范(附实战避坑清单)

Axure高效原型设计的黄金法则&#xff1a;从规范到实战的进阶指南 在数字产品设计领域&#xff0c;原型就像建筑师的蓝图&#xff0c;既是创意的具象表达&#xff0c;也是团队协作的共同语言。作为从业多年的交互设计师&#xff0c;我见过太多本可以避免的"原型灾难"…...

网盘直链解析工具终极指南:八大平台高速下载完整解决方案

网盘直链解析工具终极指南&#xff1a;八大平台高速下载完整解决方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天…...