我安装了带有centos-5.6的virtualbox-4.1.0。现在我想扩展我之前为虚拟机安装分配的VM映像,它是8Gb,现在还不够。有没有办法扩展分区而不丢失信息?
实际上在centos中我有一个root fs和我的家庭目录等等所以这个分区最终需要调整大小。
提前感谢您的建议!
答案 0 :(得分:43)
可以分4个步骤完成:
详细步骤如下(使用“Virtual Machine CentOS 6.4”和“VirtualBox 4.2.18”进行测试);
观察虚拟机文件的磁盘格式,如果不是* .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身份登录。运行以下命令;
lvm vgdisplay => Free PE / Size 122880 / 480.00 GiB
lvm lvdisplay /dev/VolGroup/lv_root => Current LE 3978
lvm lvresize -l 126858 /dev/VolGroup/lv_root
resize2fs /dev/VolGroup/lv_root
lsblk ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom sda 8:0 0 500G 0 disk +¦sda1 8:1 0 500M 0 part /boot L¦sda2 8:2 0 499.5G 0 part +¦VolGroup-lv_root (dm-0) 253:0 0 480G 0 lvm / L¦VolGroup-lv_swap (dm-1) 253:1 0 4G 0 lvm [SWAP] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fallocate -l 480G /test_file
rm -rif /test_file
答案 1 :(得分:8)
我正在使用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
。
答案 2 :(得分:6)
我在下面的链接中发现了这个金块。我为我工作很完美,只用了5秒钟。
从VirtualBox 4开始,他们增加了对扩展的支持。
VBoxManage modifyhd filename.vdi --resize 46080
这会将虚拟磁盘映像的大小调整为45GB。
https://superuser.com/questions/172651/increasing-disk-space-on-virtualbox
答案 3 :(得分:4)
可以通过3个步骤完成:
不要忘记最后一部分,否则,您将拥有未分配的可用空间,并且您的磁盘仍将显示为已满。
我在这里写了resize your VM Disk
的教程答案 4 :(得分:1)
在某些时候,VBoxManage实用程序稍微改变了语法。值得注意的是,这不适用于所有虚拟机类型,因此请注意,如果您有* .vmdk。将HD更改为40GB的示例命令是:
$ VBoxManage modifyhd MyVirtualImage --resize 40960
作为参考,我在VirtualBox 4.2.1,Mac 10.8.2
上答案 5 :(得分:0)
您必须将已有VDI中的数据克隆到新的更大的VDI并展开分区。您可以使用CloneZilla等工具将虚拟硬盘克隆到较大的硬盘驱动器,然后使用Gparted来增加分区大小。另一种方法是通过mpack使用CloneVDI并使用更大的大小克隆VDI,然后使用Gparted调整分区大小。
从4.0.0开始,您可以使用VBoxManage modifyhd --resize来调整VDI的最大大小。你只能把它做大。之后,使用Gparted增加VDI内的分区大小。
或者,您可以附加另一个VDI并在那里安装/ home。
答案 6 :(得分:0)
在Oracle VirtualBox论坛上搜索CloneVDI工具。它对我有用,对于在命令行紧张的人来说,它是一个更容易的基于GUI的程序。还允许从固定模式转换为动态模式,VBoxManage.exe不支持(尚未)。
答案 7 :(得分:-1)
我花了很长时间用Google搜索,最后让它为我工作。 (在我发现之前)我想要一个地方来保存我的工作
使用vboxmanage为磁盘映像添加空间
使用gparted调整大小以便使用所有空格
使用blivet-gui创建新卷:
以下是我在fedora中从终端复制的命令:
dnf install blivet-gui
blivet-gui
lvremove /dev/mapper/fedora00-00
lvextend -l +100%FREE /dev/mapper/fedora00-root