VirtualBox:扩展分区

时间:2011-11-15 18:12:28

标签: virtual-machine virtualbox

我安装了带有centos-5.6的virtualbox-4.1.0。现在我想扩展我之前为虚拟机安装分配的VM映像,它是8Gb,现在还不够。有没有办法扩展分区而不丢失信息?

实际上在centos中我有一个root fs和我的家庭目录等等所以这个分区最终需要调整大小。

提前感谢您的建议!

8 个答案:

答案 0 :(得分:43)

可以分4个步骤完成:

  1. 使用VBoxManage Tool将VMDK克隆为VDI格式。
  2. 使用VBoxManage Tool调整磁盘大小以创建可用空间。
  3. 修改文件系统,以便使用GParted为您的驱动器分配可用空间。
  4. 将创建的磁盘空间添加到Linux FileSystem。

  5. 详细步骤如下(使用“Virtual Machine CentOS 6.4”和“VirtualBox 4.2.18”进行测试);

    1. 观察虚拟机文件的磁盘格式,如果不是* .vdi,则将磁盘格式从* .wmdk转换为* .vdi。打开windows终端:
      $ VBoxManage clonehd --format VDI "path_of_wmdk_file" "path_of_vdi_file"

    2. 调整vdi文件的磁盘大小。打开windows终端。例如,做磁盘大小~500 GB => 512000;
      $ VBoxManage modifymedium "path_of_vdi_file" --resize 512000

    3. 选择* .vdi文件而不是* .wmdk文件作为磁盘
      Virtual Machine -> Settings -> Storage -> Controller : SATA (Right Click on *.wmdk file) -> Remove Attachment -> Add HardDisk and choose newly created *.vdi file

    4. 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

    5. 运行虚拟机,虚拟机将从此CD启动。按“Enter”,“Enter”...选择默认值,直到Gpart ISO GUI启动。选择工具gpart程序并开始。

    6. 如下所示扩展磁盘大小;

      • 右键单击分区,如果“可能”,请单击“禁用活动分区”。
      • 尽可能从GUI扩展分区(本例中为500GB)。
      • 右键单击已禁用的分区,然后选择“启用活动分区”。
      • 申请并等待操作完成。
      • 关闭虚拟机。
      • 卸载gparted-live-x.xx.x-x-ixxx.iso Virtual Machine -> Settings -> Storage-> Controller IDE (Right Click on gparted-live-x.xx.x-x-ixxx.iso) -> Remove Attachement
      • 启动虚拟机。

    7. 打开linux终端并以root身份登录。运行以下命令;

    8.  lvm vgdisplay
             => Free  PE / Size       122880 / 480.00 GiB
      
       lvm lvdisplay /dev/VolGroup/lv_root
             => Current LE             3978
      
      • 计算上述值的总和。在这种情况下:122880 + 3978 = 126858< - 将在下一个命令中使用
       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虚拟机上没有桌面。

  1. 关闭CentOS虚拟机电源
  2. 进入* .vdi图片的目录。如果您不知道它在哪里,请查看您的Virtualbox Manager GUI virtualbox -> settings -> storage -> *.vdi -> location,例如我的位于~/VirtualBox VMs/CentOS7/CentOS.vdi
  3. 备份图片以防万一出错

    $ cp CentOS7.vdi CentOS7.backup.vdi

  4. 调整虚拟存储空间大小,例如200 GB

    $ VBoxManage modifyhd CentOS7.vdi --resize 204800

  5. 启动CentOS虚拟机,发出

    $ sudo fdisk -l

  6.    Device Boot      Start         End      Blocks   Id  System
        /dev/sda1   *        2048     1026047      512000   83  Linux
        /dev/sda2         1026048   209715199   104344576   8e  Linux LVM
    
    1. 使用fdisk实用程序删除/创建分区

      $ sudo fdisk /dev/sda

    2. 您处于fdisk实用程序交互模式,发出以下命令:(大多数只是遵循默认建议)

      d - 删除分区

      2 - 选择要删除的分区(这里是/ dev / sda2)

      n - 创建一个新分区

      p - 将其设为主分区

      2 - 使其与我们删除的分区号相同

      <return> - 设置起始块(默认情况下)

      <return> - 设置结束结束块(默认情况下)

      w - 编写分区并离开fdisk交互模式

    3. 重新启动CentOS计算机

      $ sudo reboot

    4. 调整物理卷大小并验证新大小

      $ sudo pvresize /dev/sda2

      $ sudo pvscan

    5. 查看您的逻辑映射卷,看看您想要放大的音量,在我的情况下,/dev/mapper/centos-root

    6. 通过添加-r选项调整文件系统大小,它将为您调整大小

      $lvextend -r -l +100%FREE /dev/mapper/centos-root

    7. 调整文件系统大小:

      $resize2fs /dev/mapper/fedora-root

      对于CentOS 7:$xfs_growfs /dev/mapper/fedora-root

    8. 上次检查:

      $df -h

    9. 参考:https://blog.jyore.com/2013/06/virtualbox-increase-size-of-rhelfedoracentosscientificos-guest-file-system/#comment-2879

答案 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个步骤完成:

  • 使用VBoxManage将VMDK克隆为VDI格式
  • 使用VBoxManage调整磁盘大小以创建可用空间
  • 使用GParted
  • 修改文件系统以为驱动器分配可用空间

不要忘记最后一部分,否则,您将拥有未分配的可用空间,并且您的磁盘仍将显示为已满。

我在这里写了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)

来自VirtualBox FAQ

  

您必须将已有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不支持(尚未)。

https://forums.virtualbox.org/viewtopic.php?f=6&t=22422

答案 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