在VirtualBox中调整虚拟机的大小


13

我如何调整虚拟机的大小,它只有10GB,因此可能需要50GB。

调整图像大小容易吗?

Answers:


10

恐怕没有简单的方法。上周我不得不做同样的事情,这是我得到的唯一帮助:

http://crookedspoke.wordpress.com/2008/03/15/resize-disk-image/

这是您要做的:

  1. 下载GParted Live CD(gparted-live-*。iso)。
  2. 创建所需大小(您的情况下为50GB)的新虚拟硬盘。
  3. 在您的虚拟机中,将新创建的虚拟驱动器添加为IDE Primary Slave
  4. 运行机器。
  5. 从GParted iso映像启动:
    1. 从VM的菜单中选择:设备>挂载CD / DVD-ROM> CD / DVD-ROM映像...
    2. 虚拟媒体管理器中,单击添加按钮。
    3. 打开gparted-live-*。iso映像。
    4. 按选择。
    5. 重新启动虚拟机。
    6. 当您看到Sun VirtualBox引导屏幕时,请按F12键。
    7. 选择CD-ROM选项。
  6. 打开终端应用程序。
  7. 类型:

    fdisk -l

  8. 检查它是否显示两个分区:/ dev / hda/ dev / hdb。第一个是旧磁盘,第二个是新磁盘,不应对其进行分区。
  9. 类型:

    dd if = / dev / hda of = / dev / hdb

    (这可能需要很长时间)
  10. 运行GParted工具并调整/ dev / hdb的大小以占据所有可用空间。
  11. 关闭虚拟机。
  12. 在VM的硬盘设置中,删除旧硬盘,然后为IDE Primary Master设置新硬盘。

我将如何从该iso映像启动?
user3183

我添加了解释这一点的步骤。如果还有其他不清楚的地方,请随时问:-)
Tomas Sedovic 09年

要复制文件,cp -a可能应该使用代替dddd复制整个文件系统,包括空白空间,因此需要更长的时间。cp -a负责处理通常会造成问题的两件事cp:用户权限和符号链接的遵循。

nagul:不会cp -a伤害所有引导扇区信息吗?我以为cp是用于文件和目录的复制。但是在这种情况下,需要完美克隆硬盘。我猜。
Tomas Sedovic 09年

dd命令中指定bock的大小,以减少花费的时间(但仍然要花费相当长的时间)。 dd if=/dev/hda of=/dev/hdb bs=16M
克里斯·纳瓦

6

您希望(至少需要一年半前)调整虚拟机使用的虚拟磁盘大小。您正在使用VirtualBox,因此很可能是VDI文件。VDI文件可以是固定的或动态的。固定的一个从一开始就分配了所有块(VDI文件中的数据单元,默认情况下每个块都有1MB),因此10GB图像的大小为10GB(实际上有点多,因为您有一些元数据,但可能会更少)超过50KB)。动态文件随您的写入而增长,在开始时有0个预分配的块(VDI仅由元数据组成)。

前言

我只描述图像的扩大。由您决定如何使用新空间。带有文件系统的分区可以在扩展后调整大小,也可以创建新分区。这是一个单独的问题,但是Tomas Sedovic将您指向GParted Live CD,它可以帮助您执行此类任务。我个人更喜欢Parted Magic,因为它在ISO上还有其他有用的工具。

扩展固定VDI

如果您有固定的VDI,则可以使用我的小工具vidma-虚拟磁盘操作器exeWindows(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

扩展动态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)手册页。


只是指出,VBoxManag是在虚拟盒子安装中找到的程序。默认情况下,您可以在以下位置找到它:C:\ Program Files \ Oracle \ VirtualBox。
Black Horus

4

考虑最简单的方法:添加另一个虚拟硬盘驱动器。10GB足以用于“系统”分区,即使对于Windows也是如此。然后,添加一个50GB的“ d:”驱动器。在VirtualBox中,您只需使用Virtual Media Manager,制作驱动器,然后将其添加到计算机中。

优点:您可以独立于系统分区还原它。您甚至可以擦除并重新安装系统分区,而不会影响“数据”分区。另一个是您可以在多个虚拟机(我想不是一次)中使用它,包括Windows和Linux来宾。真好!

如果Windows是您的客户机OS,则10GB足够用于Windows以及任何其他在注册表和Windows目录中安装了各种内容的“不酷的” Windows程序(大多数)。可以在数据分区上安装一些东西,例如程序的图形库等。


4

本文提供了有关如何通过屏幕快照完成操作的分步说明。还有关于如何做到这一点的另一个很好的文章在这里


好的,它可以工作,但是由于某种原因,如果我删除旧硬盘,每当我重新启动并尝试登录时,屏幕都会变成蓝色,声音像我刚登录时一样熄灭。如果我重新添加旧硬盘,它有效(将其设置为主要从属)。很奇怪!
user3183

第一个链接现在很烦...
凯文·普林

您可以通过返回机器访问没有图像的链接。
2011年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.