Virtual machine VirtualBox:扩展分区

Virtual machine VirtualBox:扩展分区,virtual-machine,virtualbox,Virtual Machine,Virtualbox,我在中安装了带centos-5.6的virtualbox-4.1.0。现在我想扩展虚拟机映像,我以前分配给虚拟机安装,它是8Gb,现在还不够。有没有办法在不丢失信息的情况下扩展分区 事实上,在centos中,我有一个根fs和我的home dir等。所以这个分区最终需要调整大小 提前感谢您的建议 来自: 您必须将数据从VDI克隆到新的、更大的VDI并扩展分区。您可以使用诸如CloneZilla之类的工具将虚拟硬盘克隆到更大的硬盘,并使用Gparted增加分区大小。另一种方法是通过mpack使用Cl

我在中安装了带centos-5.6的virtualbox-4.1.0。现在我想扩展虚拟机映像,我以前分配给虚拟机安装,它是8Gb,现在还不够。有没有办法在不丢失信息的情况下扩展分区

事实上,在centos中,我有一个根fs和我的home dir等。所以这个分区最终需要调整大小

提前感谢您的建议

来自:

您必须将数据从VDI克隆到新的、更大的VDI并扩展分区。您可以使用诸如CloneZilla之类的工具将虚拟硬盘克隆到更大的硬盘,并使用Gparted增加分区大小。另一种方法是通过mpack使用CloneVDI,并以更大的大小克隆VDI,然后使用Gparted调整分区大小

从4.0.0开始,您可以使用VBoxManage modifyhd--resize来调整VDI的最大大小。你只能让它变大。之后,使用Gparted增加VDI内部的分区大小


或者,您可以连接另一个VDI并在那里挂载您的/home。

我在下面的链接中找到了这个金块。我做得很好,只花了5秒钟

从VirtualBox 4开始,他们增加了对扩展的支持

VBoxManage modifyhd filename.vdi --resize 46080
这将把虚拟磁盘映像的大小调整为45GB


在某个时候,VBoxManage实用程序稍微更改了语法。值得注意的是,这并不适用于所有vm类型,因此如果您有*.vmdk,请小心。将HD更改为40GB的命令示例如下:

$ VBoxManage modifyhd MyVirtualImage --resize 40960

作为参考,我使用的是VirtualBox 4.2.1、Mac 10.8.2

它可以通过3个步骤完成:

  • 使用VBoxManage将VMDK克隆为VDI格式
  • 使用VBoxManage调整磁盘大小以创建可用空间
  • 使用GParted修改文件系统,为驱动器分配可用空间
不要忘记最后一部分,否则,您将有未分配的可用空间,并且您的磁盘仍将显示为已满


我在这里写了一篇教程来

它可以通过4个步骤完成:

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

  • 具体步骤如下(使用“Virtual Machine CentOS 6.4”和“VirtualBox 4.2.18”进行测试)

  • 观察virtualbox文件的磁盘格式,如果不是*.vdi,请将磁盘格式从*.wmdk转换为*.vdi。打开windows终端:
    $VBoxManage clonehd——格式化VDI“wmdk文件的路径”“VDI文件的路径”

  • 调整vdi文件的磁盘大小。打开windows终端。例如做磁盘大小~500GB=>512000
    $VBoxManage modifymedia“vdi文件的路径”--调整512000的大小

  • 选择*.vdi文件而不是*.wmdk文件作为磁盘
    虚拟机->设置->存储->控制器:SATA(右键单击*.wmdk文件)->删除附件->添加硬盘并选择新建的*.vdi文件

  • 从下载“gparted-live-x.xx.x-x-ixxx.iso”文件。将此iso文件作为CD装入。
    虚拟机->设置->存储->控制器IDE(右键单击)->添加CD/DVD->选择gparted-live-x.xx.x-x-ixxx.iso文件

  • 运行虚拟机,虚拟机将从此CD启动。按“回车”、“回车”选择默认值。。。直到Gpart ISO GUI启动。选择工具gpart程序并启动

  • 扩展磁盘大小如下

    • 右键单击分区,如果可能,单击“禁用活动分区”
    • 尽可能从GUI扩展分区(对于这种情况,为500GB)
    • 右键单击禁用的分区并选择“启用活动分区”
    • 应用并等待操作完成
    • 关闭虚拟机
    • 卸载gparted-live-x.xx.x-x-ixxx.iso。
      虚拟机->设置->存储->控制器IDE(右键单击gparted-live-x.xx.x-x-ixxx.iso)->删除附件
    • 启动虚拟机。

  • 打开linux终端并以root用户身份登录。运行下面的命令

  • lvm vgdisplay =>免费PE/尺寸122880/480.00 GiB lvm lvdisplay/dev/VolGroup/lv_root =>当前LE 3978

    • 计算上述数值之和。在本例中:122880+3978=126858我使用的是CentOS7 virtualbox,我最终扩大了分区
      /dev/mapper/centos root
      -gparted对我不起作用,因为我在CentOS7 virtualbox上没有桌面

    • 关闭CentOS虚拟机的电源
    • 进入*.vdi映像的目录。如果您不知道它在哪里,请查看您的Virtualbox Manager GUI
      Virtualbox->settings->storage->*.vdi->location
      ,例如,我的位于
      ~/Virtualbox VMs/CentOS7/CentOS.vdi
    • 备份您的图像,以防出现任何问题

      $cp CentOS7.vdi CentOS7.backup.vdi

    • 调整虚拟存储大小,例如200 GB

      $VBoxManage modifyhd CentOS7.vdi--调整204800的大小

    • 打开CentOS虚拟机电源,问题

      $sudo fdisk-l

    • 使用fdisk实用程序删除/创建分区

      $sudo fdisk/dev/sda

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

      d
      -删除分区

      2
      -选择要删除的分区(此处为/dev/sda2)

      n
      -创建一个新分区

      p
      -将其作为主分区

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

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

      -设置结束 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
         Device Boot      Start         End      Blocks   Id  System
          /dev/sda1   *        2048     1026047      512000   83  Linux
          /dev/sda2         1026048   209715199   104344576   8e  Linux LVM
      
      dnf install blivet-gui  
      blivet-gui  
      lvremove /dev/mapper/fedora00-00  
      lvextend -l +100%FREE /dev/mapper/fedora00-root