vmdk(正常,无法访问):不得不经常修复无效 header
vmdk (Normal, Inaccessible): having to repair invalid header too often
我的情况
我正在使用 Virtual Box 创建虚拟机 安装了 Arch Linux。我将虚拟机用于我自己的项目:我在这个虚拟机中拥有我所有的项目数据,因此我可以轻松地从 OS 或物理计算机进行更改,并立即获得所有数据。在这个虚拟机中,我安装了 GitLab、备份系统、SMTP 和 Samba 等。
虚拟机有两个SATA虚拟硬盘:
- 8 GB 动态 vmdk 硬盘分为 2 GB 文件,其中安装了 OS。
- 2 TB 动态 vmdk 硬盘分为 2 GB 文件,其中保存了我所有的项目数据。
无论我是否使用我的 Ubuntu 与虚拟机一起工作,从 samba 访问我的文件,一切都表现完美。当我使用 Windows、正确关闭我的机器后 (请参阅下面的 bash 命令)时出现问题 我得到的几率是vmdk header 损坏。我尝试关闭此问题的三次中有两次出现在 Windows 中,但我尚未在 Ubuntu 中遇到该问题。
这是我用来关闭 Arch 的命令,safe_shutdown.sh
:
systemctl stop smbd
umount /mnt/projects
systemctl poweroff
被迫经常使用修复工具
我试过从 VirtualBox 关闭机器,只使用 systemctl poweroff
,使用 ACPI 关闭,从任务管理器关闭所有进程,在关闭前断开 samba 映射的网络驱动器,.. 。 一切。 结果都是一样的,我的 vmdk header 损坏了,不得不使用修复工具:
vmware-vdiskmanager.exe -R projects.vmdk
这个工具总是说我发现磁盘有问题,都已经修复了。在此之后机器再次运行没有大问题,有时我在散列一致性时发现损坏的文件,我必须使用我的备份来恢复这些文件。
绝望
我真的不知道现在该怎么办。我应该尝试将我的数据移动到另一种虚拟硬盘驱动器格式吗?调整我的虚拟硬盘大小?我应该寻找哪些日志?
我的详细资料
在 Windows 我使用 5.1.2 r108956
VirtualBox 版本。
虚拟盒子错误
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 驱动器文件夹:https://drive.google.com/drive/folders/0BzoIZrf3afiGRHo0Y2U5c19OdEE?usp=sharing
Samba 配置
[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
尝试使用virtualbox 4.x.x版本。使用 fsck
和 badsectors
扫描硬盘中的坏扇区。您可能有兼容性问题或损坏的文件系统。
我的情况
我正在使用 Virtual Box 创建虚拟机 安装了 Arch Linux。我将虚拟机用于我自己的项目:我在这个虚拟机中拥有我所有的项目数据,因此我可以轻松地从 OS 或物理计算机进行更改,并立即获得所有数据。在这个虚拟机中,我安装了 GitLab、备份系统、SMTP 和 Samba 等。
虚拟机有两个SATA虚拟硬盘:
- 8 GB 动态 vmdk 硬盘分为 2 GB 文件,其中安装了 OS。
- 2 TB 动态 vmdk 硬盘分为 2 GB 文件,其中保存了我所有的项目数据。
无论我是否使用我的 Ubuntu 与虚拟机一起工作,从 samba 访问我的文件,一切都表现完美。当我使用 Windows、正确关闭我的机器后 (请参阅下面的 bash 命令)时出现问题 我得到的几率是vmdk header 损坏。我尝试关闭此问题的三次中有两次出现在 Windows 中,但我尚未在 Ubuntu 中遇到该问题。
这是我用来关闭 Arch 的命令,safe_shutdown.sh
:
systemctl stop smbd
umount /mnt/projects
systemctl poweroff
被迫经常使用修复工具
我试过从 VirtualBox 关闭机器,只使用 systemctl poweroff
,使用 ACPI 关闭,从任务管理器关闭所有进程,在关闭前断开 samba 映射的网络驱动器,.. 。 一切。 结果都是一样的,我的 vmdk header 损坏了,不得不使用修复工具:
vmware-vdiskmanager.exe -R projects.vmdk
这个工具总是说我发现磁盘有问题,都已经修复了。在此之后机器再次运行没有大问题,有时我在散列一致性时发现损坏的文件,我必须使用我的备份来恢复这些文件。
绝望
我真的不知道现在该怎么办。我应该尝试将我的数据移动到另一种虚拟硬盘驱动器格式吗?调整我的虚拟硬盘大小?我应该寻找哪些日志?
我的详细资料
在 Windows 我使用 5.1.2 r108956
VirtualBox 版本。
虚拟盒子错误
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 驱动器文件夹:https://drive.google.com/drive/folders/0BzoIZrf3afiGRHo0Y2U5c19OdEE?usp=sharing
Samba 配置
[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
尝试使用virtualbox 4.x.x版本。使用 fsck
和 badsectors
扫描硬盘中的坏扇区。您可能有兼容性问题或损坏的文件系统。