问题描述
我使用VirtualBox 4.2.6和Ubuntu 12.04作为主机,使用Win XP作为访客。我分配了一个随XP增长到最大40 GB的虚拟磁盘(VDI)。目前它使用25 GB。
在XP中,它反复告诉我没有足够的可用空间。
我的主机主磁盘上仍有足够的空间
df -h
/dev/sda1 143G 48G 89G 35% /
如何扩展我的XP磁盘? This问题对我没有帮助,顺便说一句。
最佳解决思路
我们不知道为什么Windows在您的情况下无法处理动态分配的虚拟磁盘。可能值得检查文件系统完整性或从Windows来宾操作系统执行碎片整理。
然而,通过在终端中运行以下命令,我们可以轻松地增加向客户操作系统报告的动态增长的虚拟驱动器的大小:
VBoxManage modifyhd <uuid/name> --resize <newsize in MB>
替换为您的虚拟驱动器的uuid或文件名(所需的完整路径)。可以使用以下命令列出这些:
VBoxManage list hdds
请注意,如果我们拍摄快照或保存机器的状态而不是关闭电源,显然我们无法更改虚拟驱动器大小。在我们更改虚拟驱动器的大小之前,我们需要删除所有快照,或者在克隆上工作以确保我们不会丢失快照的内容。缩小动态增长的磁盘是不可能的。
调整虚拟驱动器的大小后,我们将不得不调整guest虚拟机的分区表以改变驱动器的大小。
在Windows 7中,转到计算机管理 – >磁盘管理以查看新的未分配空间(在调整大小并向驱动器添加10 GB后显示):
右键单击此未分配的分区以选择“扩展卷…”以增加分区大小。您也可以在此虚拟机上启动Ubuntu live .iso以使用gparted调整分区大小。
另请参见:如何增加虚拟机的硬盘大小?
要物理缩小/压缩动态增长的磁盘,请参阅:How do I shrink a dynamically growing VDI disk from VirtualBox?
次佳解决思路
您可以添加一个40,04GB的增长磁盘,但Windows分区本身应该是在安装时使用完整大小创建的。
将Ubuntu CD添加到虚拟机并使用它启动。在仪表板上启动gparted
。打开磁盘。
你应该看到一个40,04GB的分区,没有空闲空间。如果您看到较小的分区和可用空间,请使用此自己的工具来调整和扩展现有分区。
调整大小并重新启动虚拟机后,Windows将进行分区检查,请让Windows至少执行此操作!这一点很重要。不要过分担心您的数据,这是调整NTFS分区大小时的正常过程。
参考资料