Virtual Box - 意外删除了 vmdk 文件。我能做什么?

Virtual Box- Accidentally deleted vmdk file. What can I do?

希望有人能在这里帮助我。真的需要回去工作了。

今天早上我的 120gb macbook air 装满了,系统提示我删除一些文件。这周我一直在另一个虚拟机上玩 Kali,所以决定删除它以继续开发我的 Laravel 应用程序。不幸的是,在一个早晨的阴霾中,我删除了错误的文件:D

我正在使用 virtual box + vagrant 运行 Laravel 开发环境 Homestead laravel[.]com/docs/5.4/homestead

谢天谢地,我所有的文件都保存在本地并镜像到虚拟机上,所以一切都应该没问题吧?

当我尝试 'vagrant up' 并打开虚拟机电源时出现错误 VERR_FILE_NOT_FOUND 打开图像文件 '/Users/user/VirtualBox VMs/homestead-7/box-disk1.vmdk' (VERR_FILE_NOT_FOUND ) - 我愚蠢地删除了那个。吸取教训。

在 Virtual Box GUI 内 -> homestead-7(机器名称)-> 设置 -> 存储 -> 控制器 SATA 控制器。我应该删除对已删除文件的引用并创建一个新文件吗?或者我应该完全删除这个 vm 并创建一个新的吗?

谁能告诉我该怎么做?非常感谢您的帮助。

非常感谢

你在 vagrant 中的数据没有被删除,但是数据库文件被删除了(例如 MySQL),你必须通过 delete machine from virtualbox

来重新安装 vagrant

然后打开终端

mv ~/Homestead/Homestead.yaml ~/Homestead.yaml
rm -rf ~/Homestead
cd ~
cd Homestead
git checkout v5.4.0
mv ~/Homestead.yaml ~/Homestead/Homestead.yaml
vagrant up

希望对你有用

如果您使用 vagrant 创建了框,您还应该使用 vagrant 删除它。

命令是:

vagrant destroy

并且,除了完全删除虚拟机(除了您误删除的 .vmdk 文件之外,还包括其他文件),它还会清理 Vagrant 用来访问和管理盒子的文件.

阅读文档中有关 vagrant destroy 命令的更多信息,或在终端中键入 vagrant help destroy 以快速提醒其命令行参数。


关于已删除的 .vmdk 文件,可能唯一的恢复方法是从备份 (Time Machine) 假设它已激活并且您没有将其配置为忽略 "VirtualBox VMs" 目录(就像我在电脑上做的那样:-))。