Tom*_*vic 10
恐怕不容易。上周我不得不做同样的事情,这是我得到的唯一帮助:
http://crookedspoke.wordpress.com/2008/03/15/resize-disk-image/
这是你必须做的:
类型:
fdisk -l
类型:
dd if=/dev/hda of=/dev/hdb(这可能需要很长时间)
您想要(至少在一年半前想要)调整虚拟机使用的虚拟磁盘的大小。您使用的是 VirtualBox,因此它很可能是 VDI 文件。VDI 文件可以是固定的或动态的。固定一个从一开始就分配了所有块(VDI文件中的数据单元,默认每个块都有1MB),所以10GB图像的大小是10GB(实际上多一点,因为你有一些元数据,但大概会更少在您的情况下超过 50KB)。动态文件随着写入而增长,开始时有 0 个预分配块(VDI 仅包含元数据)。
我只描述图像的扩展。您将如何处理新空间取决于您。扩展后可以调整带有文件系统的分区的大小,也可以创建新分区。这是一个单独的问题,但 Tomas Sedovic 向您推荐了 GParted Live CD,它可以帮助您执行此类任务。我个人更喜欢Parted Magic,因为它在 ISO 上还有其他有用的工具。
如果您已经修复了 VDI,那么您可以使用我的名为vidma - Virtual Disks Manipulator 的小工具。有exe可供 Windows(2000 及以上)用户使用的文件。对于 POSIX 系统(如 Linux)用户,您可以使用make.
Vidma 支持就地调整大小,即它可以在不创建新文件的情况下调整图像大小。在您的情况下,这意味着您只需要 40GB 和几 MB 的可用空间即可将图像从 10GB 扩展到 50GB。它非常有用(也是我编写此工具的主要原因),但是如果出现任何问题(墨菲定律是无情的)并且您没有图像的副本,那么您就有了真正的问题。这就是为什么不推荐它的原因,特别是对于没有经验的用户。
要继续,您必须有 50 GB 和几 MB 的可用空间。
vidma image.vdi 51200 newimage.vdi
Run Code Online (Sandbox Code Playgroud)
在删除旧图像之前,您应该仔细检查 newimage.vdi 是否正常工作。vidma不会更改图像的 UUID,因此您必须先从 VirtualBox Virtual Media Manager 中删除旧的,然后才能添加调整大小的 UUID。您还可以更改新图像的 UUID 以避免删除旧图像。
VBoxManage internalcommands sethduuid newimage.vdi
Run Code Online (Sandbox Code Playgroud)
从 VirtualBox 4 开始,您可以使用VBoxManage以下方法调整动态 VDI 的大小:
VBoxManage modifyhd image.vdi --resize 51200
Run Code Online (Sandbox Code Playgroud)
该命令将 VDI 文件扩展为 51200MB,即 50GB。它将就地完成并且分配块的数量不会增加,因此您实际上并不需要额外的 40GB,但显然需要能够充分利用调整大小的图像。
EDIT
vidma自 0.0.3 版起也支持调整动态 VDI 文件的大小。
为了更好地掌握vidma,除了查看GitHub存储库之前的链接外,您还可以访问VB论坛的线程。建议阅读vidma(1)手册页。
| 归档时间: |
|
| 查看次数: |
5386 次 |
| 最近记录: |