你在公司赶一份重要的项目文档,正忙着在虚拟机里操作,一不小心把存了几周数据的文件夹给删了。刷新桌面没看到回收站,心里咯噔一下——这下完了?这时候突然想到:之前好像创建过一次虚拟机快照,那它到底能不能救场,把误删的文件找回来?
快照的本质:系统状态的“拍照”
虚拟机快照不是备份,更像是给整个虚拟机当前的状态拍一张“照片”。这张照片里包括操作系统、内存、磁盘状态,甚至是正在运行的程序。当你创建快照时,虚拟机会记录下那一刻所有磁盘数据的完整映像。
所以,如果你在删除文件之前创建过快照,理论上是可以回到那个时间点,把文件“还原”出来的。这不是从某个回收站捞出来,而是让整个虚拟机退回到文件还存在的那个时刻。
怎么用快照恢复文件
以常见的 VMware Workstation 为例,打开虚拟机管理界面,在“快照管理器”里能看到你之前保存的节点。选中一个删除文件之前的快照,点击“恢复”或“转到”,系统会提示你确认操作。
注意:恢复快照后,快照创建之后的所有改动都会丢失。比如你在删文件后还装了个软件、改了几份文档,这些都会被抹掉。就像手机恢复出厂设置,只是这个“厂”是你自己定义的时间点。
如果你只是想拿回文件,又不想丢后续工作,可以考虑先克隆一个虚拟机,然后在克隆体上恢复快照,把文件拷贝出来再粘贴回原机。
没有快照?那就难办了
很多人平时不习惯打快照,等到出事才后悔。这时候想靠快照恢复文件,等于指望一辆没刹车的车停下来——根本不可能。虚拟机里的文件一旦被删,宿主机通常不会保留痕迹,除非你额外做了备份。
有些用户尝试用虚拟磁盘挂载工具直接读取 vmdk 或 vdi 文件,再用数据恢复软件扫描,但这对技术要求高,成功率也不稳定,尤其是磁盘写入频繁的情况下,被删数据很快会被覆盖。
快照不是万能的,但关键时刻能救命
有个做开发的朋友,经常在虚拟机里测试新环境。他养成了每次改配置前打个快照的习惯。有次误删了数据库配置脚本,直接回滚快照,三分钟搞定。他说这习惯省了他至少两次通宵重装系统的经历。
但也有人滥用快照,几十个堆在一起,导致虚拟机运行变慢、磁盘膨胀。快照越多,底层磁盘需要维护的差异数据就越多,性能损耗越明显。建议定期清理不用的快照,保留关键节点就行。
实用建议:别等出事才想起快照
如果你常用虚拟机处理重要任务,不妨设个提醒:每周五下午打一次快照,命名写清楚日期和用途,比如“2024-04-12_项目上线前”。万一哪天手滑,至少有个退路。
另外,快照不能替代备份。真正重要的数据,还是要复制到宿主机、网盘或外部存储中。毕竟,快照依赖的是虚拟机本身的安全,而硬盘损坏、误格式化这些大问题,快照也救不了。