windows环境下,如何清理C盘中巨大的disk.vmdk文件(docker)

本文详细介绍了如何通过转移并修改disk.vmdk文件指向,有效解决C盘空间不足的问题,适用于使用Docker和VirtualBox的用户。

1. 前言

每天打开显示器的第一眼就能看到飘红的C盘,看着仅剩的4G空间,陷入沉思,C盘怎么就没空间了,于是今天乘着有空准备清理一下C盘,看看是谁在作怪。

最终经过一系列的排查检测,发现了C:\Users\Administrator\.docker\machine\machines\default\disk.vmdk这个文件,足足17个g。

(画外音:一个VMDK文件代表VMFS在虚拟机上的一个物理硬盘驱动。所有用户数据和有关虚拟服务器的配置信息都存储在VMDK文件中)

2.处理方案

在网上找到一个大佬的解决方案这边链接挂一下

https://blog.youkuaiyun.com/weixin_33744854/article/details/91428729

具体思路就是把C盘disk.vmdk这个文件的放到其他盘去,然后修改对这个文件的指向。

那么我们下面来具体操作一下

(1)先将C盘中disk.vmdk文件复制到其他盘的中(我这边放D盘)

(2)重置D盘中disk.vmdk文件的UUID(否则后续步骤无法正常进行):

//先进入VirtualBox目录下后执行:

VBoxManage internalcommands setvdiuuid D:/disk.vmdk

// 注意,在virtualbox4.0.4以上该命令改为

VBoxManage internalcommands sethduuid D:/disk.vmdk

(3)打开Oracle VM VirtualBox应用

对这个目录指向设置进行修改,修改到新的disk.vmdk文件的位置。

(3)在上述操作修改完成之后,关掉所有关于docker的进程,然后删除C盘中的disk.vmdk(如果怕出意外,建议先剪切)

(4)重新打开docker,就完成了。

 

这个问题中提到的“虚拟机中为什么每次都是默认放到主文件下”表述较为模糊,可能涉及多个技术场景。根据常见的使用情境,我推测你可能是在使用某种虚拟化平台(如 VMware、VirtualBox)或开发工具(如 Vagrant、Docker Desktop、WSL 等)时,发现创建的虚拟机(VM)或相关文件默认保存在“主文件夹”(例如 Windows 的 `C:\Users\YourName\` 或 Linux/macOS 的 `/home/yourname/` 或 `/Users/yourname/`)下的某个子目录(如 `VirtualBox VMs` 或 `.vagrant.d`)。 下面我将从常见虚拟化工具的角度详细解释为什么会这样,并提供解决方案和代码示例(如果适用)。 --- ### 原因分析:为什么虚拟机默认放在主文件夹下? 1. **用户隔离与权限安全** - 每个用户的主目录是其私有空间,操作系统保证该目录具有合适的读写权限。 - 虚拟机文件通常较大且频繁读写,放在主目录下可避免权限问题(如普通用户无法写入 `C:\Program Files`)。 2. **跨平台一致性** - 虚拟化软件(如 VirtualBox、VMware Workstation Player)需要在 Windows、Linux、macOS 上运行。 - 主目录路径可以通过环境变量(如 `$HOME` 或 `%USERPROFILE%`)统一获取,便于跨平台兼容。 3. **免配置即用** - 默认行为是为了让用户“开箱即用”,无需手动选择路径。 - 对于大多数用户来说,主目录有足够的空间和权限,是最安全的选择。 4. **配置文件管理** - 除了虚拟机磁盘文件(`.vdi`, `.vmdk`),还有配置文件、日志、快照等。 - 将这些集中管理在一个用户专属目录下,便于备份和迁移。 --- ### 示例:VirtualBox 默认路径设置 VirtualBox 默认将虚拟机存储在: - **Windows**: `C:\Users\<YourName>\VirtualBox VMs\` - **Linux/macOS**: `~/VirtualBox VMs/` 这个路径是由 VirtualBox 的全局设置决定的。 #### 查看和修改默认路径(命令行方式) 你可以使用 `VBoxManage` 命令查看和修改默认机器存放路径: ```bash # 查看当前全局设置 VBoxManage list systemproperties # 输出中会包含: # Default machine folder: /home/yourname/VirtualBox VMs ``` #### 修改默认路径(以 Linux/macOS 为例) ```bash # 创建新目录 mkdir -p /opt/vms # 修改默认路径(注意路径需已存在) VBoxManage setproperty machinefolder /opt/vms ``` > ⚠️ 注意:此操作仅影响后续新建的虚拟机,已有 VM 不受影响。 --- ### 如何在 GUI 中更改默认位置(以 VirtualBox 为例) 1. 打开 VirtualBox。 2. 进入菜单:**文件 → 首选项 → 常规**。 3. 找到 “默认虚拟电脑位置”。 4. 点击右侧文件夹图标,选择新的路径(如 `D:\VMs` 或 `/mnt/data/vms`)。 5. 点击确定保存。 之后新建的虚拟机将默认保存到该目录。 --- ### 其他虚拟化工具的类似机制 | 工具 | 默认路径 | 可配置性 | |------|--------|---------| | VMware Workstation | `Documents/Virtual Machines` | ✅ 可在首选项中修改 | | Docker Desktop (WSL2) | `C:\Users\YourName\AppData\Local\Docker\wsl\` | ❌ 不易直接修改 | | WSL2 发行版 | `AppData\Local\Packages\<distro>` | ✅ 可通过导出/导入迁移 | | Vagrant | 当前项目目录 + `~/.vagrant.d` | ✅ 可设置 `VAGRANT_HOME` | --- ### 自定义路径的环境变量示例(高级用法) 你可以通过设置环境变量来改变某些工具的行为: ```bash # 设置 Vagrant 主目录 export VAGRANT_HOME="/opt/vagrant.d" # 设置 WSL 导出/导入路径(PowerShell 示例) wsl --export Ubuntu D:\wsl-backup.tar wsl --import MyUbuntu D:\wsl\ D:\wsl-backup.tar ``` --- ### 总结 虚拟机默认放在“主文件夹”下,是因为: - ✅ 安全:用户有完整读写权限 - ✅ 便携:路径可通过 `$HOME` 统一获取 - ✅ 简单:避免安装时复杂配置 - ✅ 隔离:不同用户互不干扰 但这个默认路径**完全可以修改**,建议在磁盘空间充足的位置(如 D: 盘或 `/data` 分区)设置新路径,避免 C 盘爆满。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值