为什么在 VirtualBox 中使用不同的虚拟机时,fdisk -l 对同一个 vdi 虚拟驱动器显示不同的结果

Why is fdisk -l showing different results for the same vdi virtual drive when different virtual machines are used in VirtualBox

VirtualBox(版本 5.2.24 r128163 (Qt5.6.2))用户和 xubuntu 访客(Ubuntu 18.04.2 LTS)和 Windows 10 主机在这里。

我最近尝试将我的 vdi 大小从 ~100GB 调整到 200GB。在 windows 中,我使用了命令:

./VBoxManage modifyhd "D:\xub2\xub2.vdi" --resize 200000

一切顺利。然后我使用 gparted live cd 创建一个 vm,附加 vdi 并调整分区大小:

gparted gui

一切看起来都不错。如果我然后在 gparted 虚拟机中使用 'fdisk -l' 命令,增加的分区大小将按预期可见。

fdisk -l results for vdi attached to gparted vm

如果我尝试使用 'resize2fs /dev/sda5' 为其中一个新调整大小的逻辑驱动器调整文件系统的大小,我被告知它已经有 46265856 个块长并且没有什么可做的。

然而....

如果我随后将此 vdi 重新附加到 ubuntu 虚拟机并使用 vdi 启动,'fdisk -l' 命令会给出不同的结果并且基本上告诉我该驱动器仍然是 100GB尺寸。

fdisk -l results for the same vdi attached to ubuntu vm

'df' 命令确认未调整大小。

df command output with same vdi attached to ubuntu vm

如果我尝试命令 'resize2fs /dev/sda5' 我得到的结果是:

The filesystem is already 22003712 (4k) blocks long.  Nothing to do!

如何解决这个问题并让 ubuntu 虚拟机看到磁盘和分区的大小已经增加?

好的。我会回答我自己的问题(感谢匿名互联网的反对票)。

当您尝试扩展与 VirtualBox VM 关联的驱动器的现有快照时,会出现此问题。

我在 VirtualBox 的文档中发现了这一点。

https://forums.virtualbox.org/viewtopic.php?f=35&t=50661

一个建议的解决方案是删除快照,但是当我尝试这样做时收到一条错误消息。

对我有用的解决方案是克隆我的虚拟机。克隆的 VM(没有任何关联的快照)按预期运行并显示调整后磁盘的正确大小。

明确一点:我上面描述的情况是 100% 真实的。

希望对某人有所帮助。