首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何调整VDI的大小,并且它包含了主机操作系统中的文件系统?

问如何调整VDI的大小,并且它包含了主机操作系统中的文件系统?
EN

Stack Overflow用户
提问于 2013-12-28 17:20:46
回答 3查看 1.2K关注 0票数 1

关于如何调整Virtualbox磁盘映像( VDI )的大小,然后启动一个活动CD以调整其文件系统的大小,从现在调整大小的磁盘重新启动,以及瞧:您已经扩展了VDI中文件系统的大小。

我想使用主机操作系统来完成这个任务,它是Linux (Ubuntu12.04LTS)。这样做的要点是能够使其自动化,并且使该过程花费更少的时间。我该怎么做?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-28 23:36:44

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

代码语言:javascript
复制
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
票数 2
EN

Stack Overflow用户

发布于 2015-06-06 17:26:11

我尝试过关于如何在网络上这样做的各种建议,但是在嵌入式发行版(例如OpenWrt)上,来自客户端的gparted技巧是行不通的(尽管无可否认,parted可能会),因为您没有安装所有的先决条件。所以你得从客人外面做。

我最后做的是回到图像文件。如果您周围没有原始图像,可以从.vdi获得它:

代码语言:javascript
复制
VBoxManage internalcommands  converttoraw file.vdi disk.img

现在你可以做这样的事情:

代码语言:javascript
复制
qemu-img resize disk.img +10G

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

代码语言:javascript
复制
kpartx -av disk.img

kpartx应该输出它用于块设备的回送设备(例如,loop0、AKA /dev/loop0)。然后这样做:

代码语言:javascript
复制
ls -la /dev/mapper/loop0p*

要查看设备,kpartx已经插入到磁盘映像中的每个分区的/dev树下(例如/dev/dm-8)。您需要了解这些,以伪造gparted (它喜欢类似于/dev/loop0_partx的分区)。

代码语言:javascript
复制
ln -s /dev/dm-8 /dev/loop0_part1
...

因此,您最终可以在gparted中进行大小调整等操作。

代码语言:javascript
复制
gparted /dev/loop0

别忘了清理图片后,你想要的是什么:

代码语言:javascript
复制
kpartx -d disk.img
rm /dev/loop0_part1
...

并将disk.img重新导入为.vdi。

代码语言:javascript
复制
VBoxManage convertfromraw --format VDI disk.img disk.vdi

顺便说一句,我确实尝试过接受的答案,但gparted就是不愿调整大小。

票数 0
EN

Stack Overflow用户

发布于 2015-04-27 09:13:41

您只需遵循以下步骤:

  1. 关掉你的机器。
  2. 右键单击虚拟机名称>设置>存储
  3. 单击Controller : SATA > Add硬盘。
  4. 选择新的硬盘驱动器类型大小并点击create。
  5. 丢弃机器状态。
  6. 插入。
  7. 从ubuntu实时cd启动。
  8. 打开“剖开”(它已经安装,不需要安装)。
  9. 检查系统是否看到新创建的硬盘。
  10. 开放航站楼。
  11. 键入以下代码。
  12. sudo =/dev/sda of=/dev/sdb (第一个是旧分区路径,第二个是新分区路径)。
  13. 等待它完成复制数据(根据您的主机规格,此步骤可能需要一段时间)。
  14. 完成复制后,返回到gparted,并选择刷新设备。
  15. 选择新分区/dev/sdb,在执行dd命令后,它必须是旧分区的典型。
  16. 它将显示扩展的空间为未定位的数据。
  17. 删除交换分区/扩展分区。
  18. 右键单击根分区/dev/sdb >调整大小
  19. 分配整个空间而不进行交换分配。
  20. 创建新的扩展分区>选择扩展>创建
  21. 创建新的linux交换分区>选择linux交换>创建
  22. 现在关掉你的跑步机。
  23. 右键单击机器>设置>存储。
  24. 弹出的ubuntu直播cd。
  25. 右击旧硬盘>删除附件。
  26. 现在,您可以从新创建的硬盘启动vm。
  27. 通过输入df -kh命令检查存储。
  28. 它一定要给你看新的尺寸。

恭喜你,享受你的自由空间。

这个视频会帮助你:https://youtu.be/ikSIDI535L0

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20817260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档