Answers:
恐怕没有简单的方法。上周我不得不做同样的事情,这是我得到的唯一帮助:
http://crookedspoke.wordpress.com/2008/03/15/resize-disk-image/
这是您要做的:
类型:
fdisk -l
类型:
dd if = / dev / hda of = / dev / hdb(这可能需要很长时间)
cp -a
伤害所有引导扇区信息吗?我以为cp是用于文件和目录的复制。但是在这种情况下,需要完美克隆硬盘。我猜。
dd
命令中指定bock的大小,以减少花费的时间(但仍然要花费相当长的时间)。 dd if=/dev/hda of=/dev/hdb bs=16M
您希望(至少需要一年半前)调整虚拟机使用的虚拟磁盘大小。您正在使用VirtualBox,因此很可能是VDI文件。VDI文件可以是固定的或动态的。固定的一个从一开始就分配了所有块(VDI文件中的数据单元,默认情况下每个块都有1MB),因此10GB图像的大小为10GB(实际上有点多,因为您有一些元数据,但可能会更少)超过50KB)。动态文件随您的写入而增长,在开始时有0个预分配的块(VDI仅由元数据组成)。
我只描述图像的扩大。由您决定如何使用新空间。带有文件系统的分区可以在扩展后调整大小,也可以创建新分区。这是一个单独的问题,但是Tomas Sedovic将您指向GParted Live CD,它可以帮助您执行此类任务。我个人更喜欢Parted Magic,因为它在ISO上还有其他有用的工具。
如果您有固定的VDI,则可以使用我的小工具vidma-虚拟磁盘操作器。exe
Windows(2000及更高版本)用户可以使用该文件。对于POSIX系统(如Linux)用户,有一个源代码,您可以使用进行简单地编译make
。
Vidma支持就地调整大小,即无需创建新文件即可调整图像大小。在您的情况下,这意味着您只需要40GB和几MB的可用空间即可将映像从10GB扩展到50GB。这非常有用(这也是我编写此工具的主要原因),但是如果出现任何问题(墨菲定律无情)并且您没有图像副本,那么您就遇到了实际问题。这就是为什么不推荐使用它的原因,特别是对于没有经验的用户。
要继续,您必须有50 GB和几MB的可用空间。
vidma image.vdi 51200 newimage.vdi
删除旧映像之前,应仔细检查newimage.vdi是否正常运行。vidma
不会更改映像的UUID,因此您必须从VirtualBox Virtual Media Manager中删除旧的映像,然后才能添加调整大小的映像。您也可以更改新映像的UUID,以避免删除旧映像。
VBoxManage internalcommands sethduuid newimage.vdi
从VirtualBox 4开始,您可以使用VBoxManage
以下命令调整动态VDI的大小:
VBoxManage modifyhd image.vdi --resize 51200
此命令将VDI文件扩展到51200MB,即50GB。该操作将就地完成,并且分配的块数不会增加,因此您实际上并不需要额外的40GB,但是显然必须能够充分利用调整大小后的图像。
vidma
从0.0.3版本开始进行编辑,还支持调整动态VDI文件的大小。
为了更好地了解vidma
,除了在GitHub存储库之前检查链接之外,还可以转到VB论坛上的线程。建议阅读vidma(1)手册页。
考虑最简单的方法:添加另一个虚拟硬盘驱动器。10GB足以用于“系统”分区,即使对于Windows也是如此。然后,添加一个50GB的“ d:”驱动器。在VirtualBox中,您只需使用Virtual Media Manager,制作驱动器,然后将其添加到计算机中。
优点:您可以独立于系统分区还原它。您甚至可以擦除并重新安装系统分区,而不会影响“数据”分区。另一个是您可以在多个虚拟机(我想不是一次)中使用它,包括Windows和Linux来宾。真好!
如果Windows是您的客户机OS,则10GB足够用于Windows以及任何其他在注册表和Windows目录中安装了各种内容的“不酷的” Windows程序(大多数)。可以在数据分区上安装一些东西,例如程序的图形库等。
我不敢问这个问题,但自VirtualBox 4.0起,您可以使用vboxmanage Modifyhd --resize命令,然后使用LiveCD中的GParted来调整操作系统分区的大小。
http://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvdi