1

我的情况

我正在使用Virtual Box创建安装了 Arch Linux的虚拟机。我将虚拟机用于我自己的项目:我在这个虚拟机中拥有我所有的项目数据,因此我可以轻松地从操作系统或物理计算机进行更改,并立即获得所有可用数据。在这个虚拟机中,我安装了 GitLab、备份系统、SMTP 和Samba等。

虚拟机有两个 SATA 虚拟硬盘:

  • 8 GB 动态 vmdk 硬盘驱动器拆分为 2 GB 文件,其中安装了操作系统。
  • 2 TB 动态 vmdk 硬盘驱动器拆分为 2 GB 文件,其中保存了我所有的项目数据。

无论我是使用我的 Ubuntu 来处理虚拟机,还是从 samba 访问我的文件,一切都运行良好。当我使用 Windows 时出现问题,在正确关闭我的机器后(请参阅下面的 bash 命令),我得到一个 vmdk 标头损坏的可能性。三分之二的我尝试关闭此问题出现在 Windows 中,我在 Ubuntu 中还没有遇到此问题。

这是我用来关闭 Arch 的命令safe_shutdown.sh

systemctl stop smbd
umount /mnt/projects
systemctl poweroff

被迫过于频繁地使用修复工具

我试图从VirtualBox关闭机器,只使用systemctl poweroff,使用ACPI关闭,从任务管理器关闭所有进程,在关机前断开samba映射的网络驱动器,......一切。结果都是一样的,我的 vmdk 标头损坏并且不得不使用修复工具

vmware-vdiskmanager.exe -R projects.vmdk

这个工具总是说我发现磁盘有问题并且都已经修复了。在此之后机器再次工作而没有重大问题,有时我在哈希一致性时发现一个损坏的文件,我必须使用我的备份来恢复这些文件。

绝望

我真的不知道现在该怎么办。我应该尝试将我的数据移动到另一种虚拟硬盘格式吗?调整我的虚拟硬盘大小?我应该寻找哪些日志?

我的细节

在 Windows 上,我使用5.1.2 r108956VirtualBox 版本。

虚拟框错误

Could not open them medium '[projects.vmdk]` VMDK: inconsistency between grain
table and backup grain table in '[projects.vmdk]' (VERR_VD_VMDK_INVALID_HEADER).

虚拟盒子日志

由于我总是在收到错误后修复我的机器,因为我需要不断使用我的数据,所以我不能只提供最后一个日志,而是提供所有日志。我已将它们上传到 Google Drive 文件夹:https ://drive.google.com/drive/folders/0BzoIZrf3afiGRHo0Y2U5c19OdEE?usp=sharing

桑巴配置

[projects]
   comment = projects folder
   path = /mnt/projects
   available = yes
   guest ok = no
   read only = no
   writable = yes
   valid users = archuser
   write list = archuser
   browseable = yes
   create mask = 0600
   directory mask = 0700
   public = yes
4

1 回答 1

0

尝试使用 virtualbox 4.xx 版本。fsck使用和扫描驱动器的坏扇区badsectors。您可能有兼容性问题或文件系统损坏。

于 2016-09-21T10:10:44.920 回答