parallels desktop无内置自动删除快照策略,所有快照默认长期保留,需手动或命令行清理;可通过关机压缩、launchd定时执行prl_disk_tool merge、或结合tmutil联动实现近似自动清理,但均需用户主动配置与风险承担。
parallels desktop 本身不提供内置的、可配置的自动删除快照策略,比如按天数自动清理、保留最近n个快照等。它的快照管理逻辑是“创建即留存,手动/命令触发才清除”,所有快照(含 smartguard 自动创建的)默认长期驻留,直到用户主动干预。
但你可以通过组合设置与外部工具,实现接近“自动清理”的效果。关键在于理解不同快照来源及其控制方式:
快照从哪里来?先分清三类源头
- 手动创建的快照:你在“管理快照”里点“+”新建的,带自定义名称和时间戳,完全由你控制生命周期。
-
SmartGuard 自动快照:仅在禁用“回滚模式”时可用,支持两种触发方式:
- “针对 Time Machine 优化”:当 Time Machine 执行备份时,Parallels 会同步生成一个快照(便于还原一致性状态);
- 定时计划(需高级用户权限):可在虚拟机配置 → 备份选项卡中设定间隔(如每天/每周),但它只创建,不删除旧快照。
-
运行时隐式快照:比如挂起虚拟机、意外断电、更新失败后残留的临时状态文件(如
.vmsn或未提交的差异层),这类不显示在快照管理器中,但占用空间。
如何让快照“自动清理”?可行路径有三条
-
关机后自动触发空间回收(最轻量)
Parallels 在虚拟机正常关机时,会尝试合并部分临时差异层,但不会删显式快照。可配合以下操作增强效果:- 开启虚拟机设置 → 硬盘 → 勾选“关闭虚拟机时压缩硬盘”;
- 在 Windows 虚拟机内启用“存储感知”并设为“每次登录时清理”;
- 关机前运行
prlctl capture <vm_name> --auto</vm_name>(需脚本化调用,非 GUI 功能)。
-
用 macOS 自动化工具定期执行清理命令
prl_disk_tool merge是真正能清除全部快照(含隐藏层)的可靠方式。你可以把它变成定时任务:- 编写 shell 脚本,包含
prl_disk_tool merge --hdd /path/to/your.vm.pvm/xxx.hdd; - 用
launchd设置每周日凌晨执行(需确保虚拟机已关机); - 脚本末尾加上
rm -rf "/path/to/your.vm.pvm/Snapshots"和rm "/path/to/your.vm.pvm/Snapshots.xml"。
- 编写 shell 脚本,包含
-
借助 Time Machine + tmutil 实现间接联动
如果你同时使用 Time Machine 备份 Mac,且开启了 SmartGuard 的“针对 Time Machine 优化”,那么:- Time Machine 删除本地快照时(例如磁盘满自动清理),并不会同步删 Parallels 快照;
- 但你可以写一个
tmutil listlocalsnapshots /检测 +tmutil deletelocalsnapshots清理后,再触发prl_disk_tool merge,形成闭环。
注意:没有“全自动无忧”方案
Parallels 的设计哲学偏向可控性而非自动化——快照本质是安全网,误删可能导致不可逆回退失败。因此官方未开放自动删除开关。所有“自动”方案都需你承担风险评估:
- 执行
merge前必须关机并备份.pvm文件; - SmartGuard 快照一旦被
merge清除,就无法再用 Parallels 界面恢复; - APFS 本地快照(
tmutil管理)和 Parallels 快照是两套独立系统,不能互相替代或同步生命周期。
不复杂但容易忽略。











