VirtualBox:扩展分区

Mar*_*ark 29 virtualbox virtual-machine

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

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

提前感谢您的建议!

Onu*_*han 43

它可以分4个步骤完成:

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

详细步骤如下(使用"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.xx-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.xx-ixxx.iso.
      Virtual Machine -> Settings -> Storage-> Controller IDE (Right Click on gparted-live-x.xx.x-x-ixxx.iso) -> Remove Attachement
    • 启动虚拟机.

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

 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

  • 谢谢.适合我,但我需要用xfs_growfs替换resize2fs,因为我的分区使用xfs文件系统. (2认同)

Nic*_*nie 9

我正在使用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

   Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048     1026047      512000   83  Linux
    /dev/sda2         1026048   209715199   104344576   8e  Linux LVM
Run Code Online (Sandbox Code Playgroud)
  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.

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

  • 这完全有效!困惑我的部分是删除分区 - 显然这不会删除分区上的数据.活到老,学到老. (2认同)

gad*_*ssh 6

我在下面的链接中找到了这个金块.我为我工作很完美,只花了5秒钟.

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

VBoxManage modifyhd filename.vdi --resize 46080
Run Code Online (Sandbox Code Playgroud)

这会将虚拟磁盘映像的大小调整为45GB.

https://superuser.com/questions/172651/increasing-disk-space-on-virtualbox


小智 0

来自VirtualBox 常见问题解答

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

从 4.0.0 开始,您可以使用 VBoxManage verifyhd --resize 来调整 VDI 的最大大小。你只能把它做得更大。之后,使用 Gparted 增加 VDI 内的分区大小。

或者,您可以附加另一个 VDI 并将 /home 安装在那里。