如何调整VDI及其包含的主机操作系统文件系统的大小?

时间:2013-12-28 17:20:46

标签: filesystems virtualbox

有很多关于如何调整Virtualbox磁盘映像(VDI),然后启动Live CD以调整其文件系统大小的说明,从现已调整大小的磁盘重新启动并且瞧瞧:你已经扩展了VDI中文件系统的大小。

我想使用主机操作系统,只有Linux(Ubuntu 12.04 LTS)。这样做的目的是能够实现自动化,并使流程花费更少的时间。我怎么能这样做?

3 个答案:

答案 0 :(得分:2)

看起来这可以使用Qemu的NBD工具实现(并不总是具有可预测/稳定/可靠的结果),正如Jeff Waugh在http://bethesignal.org/blog/2011/01/05/how-to-mount-virtualbox-vdi-image/中描述的那样,基本上是这样的:

sudo aptitude install qemu-utils
sudo modprobe nbd
VBoxManage modifyhd <vdi-file> --resize <new_size>
sudo qemu-nbd -c /dev/nbd0 <vdi-file>
sudo gparted /dev/nbd0
sudo qemu-nbd -d /dev/nbd0

答案 1 :(得分:0)

我尝试了各种关于如何通过网络进行此操作的建议,但是在嵌入式发行版(例如OpenWrt)上,来自客户端的gparted技巧不起作用(尽管不可否认{{1}因为你没有安装所有的先决条件。所以你必须在客人外面这样做。

我最终做的是回到图像文件。如果你没有原始图像,可以从.vdi获取它:

parted

现在您可以执行以下操作:

VBoxManage internalcommands  converttoraw file.vdi disk.img
例如,

将10 GiB添加到磁盘。然后:

qemu-img resize disk.img +10G

kpartx -av disk.img 应该输出它用于块设备的回送设备(例如kpartx,AKA loop0)。然后这样做:

/dev/loop0

查看设备ls -la /dev/mapper/loop0p* 已插入到kpartx树下(例如/dev),用于磁盘映像中的每个分区。您需要了解这些内容,假冒/dev/dm-8喜欢它的其他分区,例如gparted x 。因此,为/dev/loop0_part

创建这些虚假链接
gparted

所以你最终可以在ln -s /dev/dm-8 /dev/loop0_part1 ...

中进行调整大小等
gparted

在图像完全符合您的要求后,不要忘记清理:

gparted /dev/loop0

并重新导入kpartx -d disk.img rm /dev/loop0_part1 ... 作为.vdi。

disk.img

BTW,我尝试接受了答案,但VBoxManage convertfromraw --format VDI disk.img disk.vdi 只是不会调整大小。

答案 2 :(得分:-1)

只需按照以下步骤操作:

  1. 关闭机器电源。
  2. 右键单击虚拟机名称&gt;设置&gt;存储
  3. 点击Controller:SATA&gt;添加硬盘。
  4. 选择新的硬盘驱动器类型大小,然后单击“创建”。
  5. 丢弃机器状态。
  6. 插入Ubuntu Live CD。
  7. 从ubuntu live cd。
  8. 启动
  9. 打开&#34; gparted&#34; (已安装,无需安装)。
  10. 检查系统是否看到新创建的硬盘。
  11. 打开终端。
  12. 输入以下代码。
  13. sudo dd if = / dev / sda = = dev / sdb(第一个是旧的分区路径,第二个是新的分区路径)。
  14. 等到完成复制数据后(根据您的主机规格,此步骤可能需要一些时间)。
  15. 完成复制后,返回gparted并选择刷新设备。
  16. 执行dd命令后,选择新分区/ dev / sdb,它必须是旧分区。
  17. 它会将展开的空间显示为未定位的数据。
  18. 删除交换分区/扩展分区。
  19. 右键单击root分区/ dev / sdb&gt;调整大小
  20. 在没有交换分配的情况下分配整个空间。
  21. 创建新的扩展分区&gt;选择扩展&gt;创建
  22. 创建新的linux-swap分区&gt;选择linux-swap&gt;创建
  23. 现在关闭正在运行的机器。
  24. 右键点击机器&gt;设置&gt;存储
  25. 弹出ubuntu live cd。
  26. 右键单击旧硬盘&gt;删除附件。
  27. 现在,您可以从新创建的硬盘启动虚拟机。
  28. 输入df -kh命令检查存储空间。
  29. 必须显示新尺寸。
  30. 祝贺你,享受你的自由空间。
    这个视频将帮助您: https://youtu.be/ikSIDI535L0