我如何调整虚拟机的大小,它只有 10GB,而我可能需要 50GB。
调整图像大小容易吗?
答案1
恐怕没有简单的方法。上周我不得不做同样的事情,这是我得到的唯一帮助:
http://crookedspoke.wordpress.com/2008/03/15/resize-disk-image/
这是你必须要做的事情:
- 下载GParted 实时 CD(gparted-live-*.iso)。
- 创建一个具有所需大小的新虚拟硬盘(在您的情况下为 50GB)。
- 在虚拟机中,将新创建的虚拟驱动器添加为IDE 主从设备。
- 运行机器。
- 从 GParted iso 映像启动:
- 从虚拟机的菜单中选择:设备 > 安装 CD/DVD-ROM > CD/DVD-ROM 映像...
- 在里面虚拟媒体管理器点击添加按钮。
- 打开gparted-live-*.iso图像。
- 按“选择”。
- 重新启动虚拟机。
- 当您看到 Sun VirtualBox 启动屏幕时按 F12。
- 选择光盘选项。
- 打开终端应用程序。
类型:
fdisk -l
- 检查它是否显示两个分区:/dev/hda和/dev/hdb。第一个是旧磁盘,第二个是新磁盘,不应对其进行分区。
类型:
dd if=/dev/hda of=/dev/hdb
(这可能需要很长时间)- 运行 GParted 工具并调整/dev/hdb占据所有可用空间。
- 关闭虚拟机。
- 在硬盘设置虚拟机,删除旧硬盘并设置新硬盘IDE 主控。
答案2
您想要(至少一年半前就想要)调整虚拟机使用的虚拟磁盘的大小。您使用的是 VirtualBox,因此它很可能是 VDI 文件。VDI 文件可以是固定的,也可以是动态的。固定文件的所有块(VDI 文件中的数据单位,默认情况下每个块为 1MB)从头开始分配,因此 10GB 映像的大小为 10GB(实际上会大一点,因为您有一些元数据,但在您的情况下可能甚至不到 50KB)。动态文件会随着您的写入而增长,开始时有 0 个预分配的块(VDI 仅由元数据组成)。
前言
我只描述了镜像的扩展。新空间的用途取决于你。扩展后,可以调整文件系统分区的大小,也可以创建新分区。这是另一个问题,但 Tomas Sedovic 向你介绍了 GParted Live CD,它可以帮助你执行此类任务。我个人更喜欢Parted Magic,因为 ISO 上有其他有用的工具。
扩展固定 VDI
如果你已经修复了 VDI,那么你可以使用我的小工具vidma——虚拟磁盘操纵器。对于 Windows(2000 及以上版本)用户,有现成的文件可供使用exe
。对于 POSIX 系统(如 Linux)用户,有一个源代码,您可以使用它简单地进行编译make
。
Vidma 支持就地调整大小,即它可以调整图像大小而无需创建新文件。对于您来说,这意味着您只需要 40GB 和几 MB 的可用空间即可将图像从 10GB 扩展到 50GB。它非常有用(也是我编写此工具的主要原因),但如果出现任何问题(墨菲定律是无情的)并且您没有图像副本,那么您就会遇到真正的问题。这就是为什么不推荐使用它,尤其是对于没有经验的用户。
要继续,您必须有 50 GB 和几 MB 的可用空间。
vidma image.vdi 51200 newimage.vdi
在删除旧映像之前,您应该仔细检查 newimage.vdi 是否正常工作。vidma
不会更改映像的 UUID,因此您必须先从 VirtualBox 虚拟媒体管理器中删除旧映像,然后才能添加调整大小的映像。您还可以更改新映像的 UUID 以避免删除旧映像。
VBoxManage internalcommands sethduuid newimage.vdi
扩展动态 VDI
从 VirtualBox 4 开始,您可以使用以下方法调整动态 VDI 的大小VBoxManage
:
VBoxManage modifyhd image.vdi --resize 51200
此命令将 VDI 文件扩展至 51200MB,即 50GB。此操作将就地完成,分配的块数不会增加,因此您实际上不需要额外的 40GB,但显然需要它才能充分利用调整大小后的图像。
编辑
vidma
自 0.0.3 版本起还支持调整动态 VDI 文件的大小。
为了更好地掌握vidma
,除了检查之前的链接GitHub 存储库,你可以去VB 论坛上的主题。 阅读维德玛(1)建议使用手册页。
答案3
考虑最简单的做法:添加另一个虚拟硬盘。10GB 足以作为“系统”分区,即使对于 Windows 也是如此。然后添加一个 50GB 的“d:”驱动器。在 VirtualBox 中,您只需使用虚拟媒体管理器,创建驱动器,然后将其添加到您的机器即可。
优点:您可以独立于系统分区恢复它。您甚至可以擦除并重新安装系统分区,而不会影响您的“数据”分区。另一个优点是您可以在多个虚拟机中使用它(我认为不是一次),包括 Windows 和 Linux 客户机。太棒了!
如果 Windows 是您的来宾操作系统,那么 10GB 就足够用于 Windows 和任何其他“不酷”的 Windows 程序(大多数),这些程序会在注册表和 Windows 目录中安装各种内容。有些内容可以安装在数据分区上,例如程序的图形库等。
答案4
我不相信在提出问题时它是可用的,但从 VirtualBox 4.0 开始,您可以使用 vboxmanage modifiedhd --resize 命令,然后使用 LiveCD 中的 GParted 来调整操作系统分区的大小。
http://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvdi