【发布时间】:2011-12-29 18:35:37
【问题描述】:
我有安装了centos-5.6的virtualbox-4.1.0。现在我想扩展我之前分配用于虚拟机安装的VM映像,它是8Gb,现在还不够。有没有办法在不丢失信息的情况下扩展分区?
实际上,在 centos 中,我有一个根 fs 和我的主目录等,所以这个分区最终需要调整大小。
提前感谢您的建议!
【问题讨论】:
标签: virtual-machine virtualbox
我有安装了centos-5.6的virtualbox-4.1.0。现在我想扩展我之前分配用于虚拟机安装的VM映像,它是8Gb,现在还不够。有没有办法在不丢失信息的情况下扩展分区?
实际上,在 centos 中,我有一个根 fs 和我的主目录等,所以这个分区最终需要调整大小。
提前感谢您的建议!
【问题讨论】:
标签: virtual-machine virtualbox
可以分4步完成:
详细步骤如下(用“Virtual Machine CentOS 6.4”和“VirtualBox 4.2.18”测试);
观察virtualbox文件的磁盘格式,如果不是*.vdi,则将磁盘格式从*.wmdk转换为*.vdi。打开windows终端: $ VBoxManage clonehd --format VDI "path_of_wmdk_file" "path_of_vdi_file"
调整 vdi 文件的磁盘大小。打开windows终端。例如做磁盘大小 ~500 GB => 512000; $ VBoxManage modifymedium "path_of_vdi_file" --resize 512000
选择 *.vdi 文件而不是 *.wmdk 文件作为磁盘 Virtual Machine -> Settings -> Storage -> Controller : SATA (Right Click on *.wmdk file) -> Remove Attachment -> Add HardDisk and choose newly created *.vdi file
从http://gparted.sourceforge.net/download.php 下载“gparted-live-x.xx.x-x-ixxx.iso”文件。将此 iso 文件挂载为 CD。 Virtual Machine -> Settings -> Storage -> Controller IDE (Right Click) -> Add CD/DVD -> Select gparted-live-x.xx.x-x-ixxx.iso file
运行虚拟机,虚拟机将从这张 CD 启动。按“Enter”、“Enter”...选择默认值,直到 Gpart ISO GUI 启动。选择工具gpart程序并启动。
如下扩展磁盘大小;
Virtual Machine -> Settings -> Storage-> Controller IDE (Right Click on gparted-live-x.xx.x-x-ixxx.iso) -> Remove Attachement 打开 linux 终端并以 root 身份登录。运行以下命令;
【讨论】:
我正在使用 CentOS7 虚拟机,最后我扩大了我的分区 /dev/mapper/centos-root - gparted 对我不起作用,因为我在 CentOS7 虚拟机上没有桌面。
virtualbox -> settings -> storage -> *.vdi -> location,例如我的位于~/VirtualBox VMs/CentOS7/CentOS.vdi下
备份您的图像以防万一出现问题
$ cp CentOS7.vdi CentOS7.backup.vdi
调整您的虚拟存储大小,例如200 GB
$ VBoxManage modifyhd CentOS7.vdi --resize 204800
打开你的 CentOS 虚拟机,发出
$ sudo fdisk -l
Device Boot Start End Blocks Id System /dev/sda1 * 2048 1026047 512000 83 Linux /dev/sda2 1026048 209715199 104344576 8e Linux LVM
使用 fdisk 工具删除/创建分区
$ sudo fdisk /dev/sda
您处于 fdisk 实用程序交互模式下,发出以下命令:(大多只是遵循默认建议)
d - 删除一个分区
2 - 选择要删除的分区(这里是/dev/sda2)
n - 创建一个新分区
p - 将其设为主分区
2 - 使其与我们删除的分区号相同
<return> - 设置起始块(默认)
<return> - 设置结束块(默认)
w - 写入分区并离开fdisk交互模式
重启你的 CentOS 机器
$ sudo reboot
调整物理卷的大小并验证新的大小
$ sudo pvresize /dev/sda2
$ sudo pvscan
看看你的逻辑映射卷,看看你想放大哪个卷,在我的例子中,/dev/mapper/centos-root
通过添加-r选项来调整文件系统的大小,它会帮你调整大小
$lvextend -r -l +100%FREE /dev/mapper/centos-root
调整文件系统大小:
$resize2fs /dev/mapper/fedora-root
对于 CentOS 7:$xfs_growfs /dev/mapper/fedora-root
最后检查:
$df -h。
【讨论】:
我在下面的链接中找到了这个金块。我的工作非常适合我,只用了 5 秒。
从 VirtualBox 4 开始,它们增加了对扩展的支持。
VBoxManage modifyhd filename.vdi --resize 46080
这会将虚拟磁盘映像的大小调整为 45GB。
https://superuser.com/questions/172651/increasing-disk-space-on-virtualbox
【讨论】:
这可以通过 3 个步骤完成:
不要忘记最后一部分,否则,您将有未分配的可用空间,并且您的磁盘仍将显示为已满。
我在这里写了一个教程给resize your VM Disk
【讨论】:
在某些时候,VBoxManage 实用程序稍微改变了语法。值得注意的是,这并不适用于所有 vm 类型,因此如果您有 *.vmdk,请小心。将 HD 更改为 40GB 的示例命令是:
$ VBoxManage modifyhd MyVirtualImage --resize 40960
作为参考,我使用的是 VirtualBox 4.2.1,Mac 10.8.2
【讨论】:
您必须将数据从已有的 VDI 克隆到一个新的、更大的 VDI 并扩展分区。您可以使用 CloneZilla 之类的工具将虚拟硬盘克隆到更大的硬盘,并使用 Gparted 来增加分区大小。另一种方法是通过 mpack 使用 CloneVDI 并克隆更大尺寸的 VDI,然后使用 Gparted 调整分区大小。
从 4.0.0 开始,您可以使用 VBoxManage modifyhd --resize 来调整 VDI 的最大大小。你只能让它变大。之后,使用 Gparted 增加 VDI 内的分区大小。
或者,您可以附加另一个 VDI 并将您的 /home 挂载到那里。
【讨论】:
在 Oracle VirtualBox 论坛上搜索 CloneVDI 工具。它对我有用,对于任何在命令行紧张的人来说,它都是一个更简单的基于 GUI 的程序。还允许从 VBoxManage.exe 不支持的固定模式转换为动态模式(目前)。
【讨论】:
我花了很长时间在谷歌上搜索,终于让它为我工作了。 (在我找到这个之前)我想要一个地方来保存我的工作
使用 vboxmanage 为磁盘映像添加空间
使用 gparted 调整大小以便使用所有空间
使用 blivet-gui 创建一个新卷:
以下是我从 fedora 终端复制的命令:
dnf install blivet-gui
blivet-gui
lvremove /dev/mapper/fedora00-00
lvextend -l +100%FREE /dev/mapper/fedora00-root
【讨论】: