给 C 盘腾地方
Windows 软件默认都爱往系统分区里拉屎(存放数据),很容易导致 C 盘红温(磁盘空间耗尽)。目前 C 盘是一整块独立的固态硬盘,无法再通过合并分区来扩容,只能把一些体积较大的数据迁移到数据盘。
WSL
以 Ubuntu 为例,其镜像默认路径为 %LOCALAPPDATA%\Packages\CanonicalGroupLimited.Ubuntu_XXX\LocalState\ext4.vhdx,此处迁移到 D:\WSL\Ubuntu.vhdx。
cmdwsl --shutdown
wsl --export Ubuntu D:\WSL\Ubuntu.vhdx --vhd
wsl --unregister Ubuntu
wsl --import-in-place Ubuntu D:\WSL\Ubuntu.vhdx实际关于路径的信息保存在注册表中,分支如下:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\{**GUID**}迁移后大概能腾出数十 GB 空间。
Hyper-V
Hyper-V 默认数据存放路径为 C:\ProgramData\Microsoft\Windows\Hyper-V。可以在创建虚拟机时,勾选「将虚拟机存储在其他位置」。对于已经创建的虚拟机,可以在虚拟机实例右键菜单里选择「移动」来将其数据迁移到别处。
迁移后大概能腾出数十 GB 空间。
VirtualBox
VirtualBox 的虚拟机数据默认存放在 %USERPROFILE%\VirtualBox VMs 目录下。打开 VirtualBox 管理器,在「全局设定」-「常规」里,修改「默认虚拟电脑文件夹」路径即可。对于已经创建的虚拟机,可以在虚拟机实例右键菜单里选择「移动」来将其数据迁移到别处。
迁移后大概能腾出数十 GB 空间。
Vagrant
Vagrant 默认数据存放在 %USERPROFILE%\.vagrant.d 目录下。创建环境变量 VAGRANT_HOME,将其值设置为迁移后的路径,然后将数据文件夹移动过去即可。
迁移后大概能腾出数 GB 空间。
Ollama
Ollama 的模型文件默认存放在 %USERPROFILE%\.ollama\models 目录下。创建环境变量 OLLAMA_MODELS,将其值设置为迁移后的路径,然后将模型文件夹移动过去即可。
如果安装的是 Ollama 完整版,可以在图形界面里直接设置。
迁移后大概能腾出数十 GB 空间。
mise
mise 的工具链默认存放在 %LOCALAPPDATA%\mise 目录下。创建环境变量 MISE_DATA_DIR,将其值设置为迁移后的路径,然后将整个文件夹移动过去即可。
迁移后大概能腾出数 GB 空间。
uv
uv 的数据分散在两处,分别是 %APPDATA%\uv 和 %LOCALAPPDATA%\uv。并且由多个环境变量控制,分别是:
UV_TOOL_DIRUV_PYTHON_INSTALL_DIRUV_CACHE_DIRUV_CREDENTIALS_DIR
由于文件夹移动后软连接失效,因此建议直接放弃原有数据,重新安装 Python 和工具。此外,移动 UV_PYTHON_INSTALL_DIR 后,使用 uv 管理的旧项目中的虚拟环境的 Python 指向也会失效,可以通过编辑 pyvenv.cfg 配置文件重新指定 Python 可执行文件路径。
迁移后大概能腾出数 GB 空间。
Scoop
Scoop 软件默认安装路径是 %USERPROFILE%\scoop。在安装 Scoop 时,可以通过设置环境变量 SCOOP 和 SCOOP_GLOBAL 来控制软件安装路径。如果已经安装好,则可以通过修改配置文件来手动迁移。
配置文件路径为 %USERPROFILE%\.config\scoop\config.json。修改其中的 root_path 和 global_path 来指定迁移后的路径。不过直接移动已安装的软件可能会导致各种问题,建议仅保留 persist 文件夹内的数据,软件都重新安装。
迁移后大概能腾出数十至数百 GB 空间。
vcpkg
vcpkg 默认二进制缓存路径是 %LOCALAPPDATA%\vcpkg\archives。创建环境变量 VCPKG_DEFAULT_BINARY_CACHE,将其值设置为迁移后的路径,然后将缓存文件夹移动过去即可。
迁移后大概能腾出数十 GB 空间。
其他
另外某些桌面软件——特别是国产软件,比如微信、飞书等,也爱在系统盘里大坨大坨地拉屎,且这些软件不提供官方的数据迁移方案,只能使用符号链接的方式迁移。