如何在 Ubuntu VM 上扩展文件系统分区?

如何在 Ubuntu VM 上扩展文件系统分区?

我在带有 vmware fusion 的 Mac 上将 Ubuntu Desktop 14.04 作为虚拟机运行。我收到空间警告问题,现在想要从 20GB 扩展到 200GB。

我关闭了虚拟机,并在 vmware 端增加了分配的磁盘空间:

  1. 关闭虚拟机电源
  2. VMWare Fusion -> 虚拟机 -> 设置 -> 硬盘 (SCSI)

然后它警告我应该增加来宾虚拟机内的分区大小,这很不幸,因为我希望这是自动的。

查看 Ubuntu 内部的磁盘使用分析器,目前只能看到原始的 20 GB。如何将其增加到我分配的 200 GB?

我正在寻找比发布的内容更好的方向这里

Disks应用程序中,我看到:

在此输入图像描述

答案1

您不需要 Live CD 即可实现此功能。我基本上总结了这里给出的其他答案:

  1. 从 Ubuntu(在虚拟机中)通过sudo apt-get install gparted在终端中执行来安装 gparted
  2. sudo gparted从终端打开
  3. 右键单击交换分区,单击“swapoff”
  4. 删除交换分区
  5. 扩展数据分区,但留出足够的空间来创建新的交换分区
  6. 重新创建与之前大小大致相同的交换分区,选择 linux-swap 作为文件系统
  7. 单击 gparted 中的绿色勾号以应用所有操作。然后选择“swapon”以再次启用交换

答案2

从 Ubuntu(在 VM 中)gparted通过sudo apt-get install gparted在终端中执行来安装。

gparted从终端或破折号打开。然后扩展你的磁盘,也许你可能需要移动磁盘末尾的扩展分区。

答案3

您应该首先删除分区和可用空间之间的所有分区。您可以使用parted命令来完成此操作。

  1. 如果您没有安装parted,请使用:

    sudo apt-get install cloud-guest-utils
    
  2. 关闭交换。我们要删除它的分区!

    sudo swapoff -a
    
  3. 跑步sudo parted
  4. 获取分区列表print all

    (parted) print all
    Model: Virtio Block Device (virtblk)
    Disk /dev/vda: 752GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    Disk Flags:
    
    Number  Start   End    Size    Type      File system     Flags
    1      1049kB  528GB  528GB   primary   ext4            boot
    2      528GB   537GB  8588MB  extended
    5      528GB   537GB  8588MB  logical   linux-swap(v1)
    
  5. 使用以下命令删除所有根分区rm (part-index)

    (parted) rm 5
    Warning: Partition /dev/vda5 is being used. Are you sure you want to continue?
    Yes/No? yes
    Error: Partition(s) 5 on /dev/vda have been written, but we have been unable to
    inform the kernel of the change, probably because it/they are in use.  As a
    result, the old partition(s) will remain in use.  You should reboot now before
    making further changes.
    Ignore/Cancel? C
    (parted) print all
    Model: Virtio Block Device (virtblk)
    Disk /dev/vda: 752GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    Disk Flags:
    
    Number  Start   End    Size    Type      File system  Flags
     1      1049kB  528GB  528GB   primary   ext4         boot
     2      528GB   537GB  8588MB  extended
    
    
    (parted) rm 2
    Error: Partition(s) 5 on /dev/vda have been written, but we have been unable to
    inform the kernel of the change, probably because it/they are in use.  As a
    result, the old partition(s) will remain in use.  You should reboot now before
    making further changes.
    Ignore/Cancel? C
    (parted) print all
    Model: Virtio Block Device (virtblk)
    Disk /dev/vda: 752GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    Disk Flags:
    
    Number  Start   End    Size   Type     File system  Flags
     1      1049kB  528GB  528GB  primary  ext4         boot
    

这些命令适用于 ubuntu 16.04(无 LVM)并且机器在 kvm 上运行:

sudo growpart /dev/vda 1
sudo resize2fs /dev/vda1   

答案4

从同一操作系统内扩展文件系统分区可能并不可取,因为其进程/服务可能仍在写入其中。此外,gparted 将某些分区显示为锁定(即已安装),并且可能无法卸载它们。

在这种情况下,Live CD 会派上用场。

只需在主机/来宾上使用此开源项目中的 Live CD(此 Live CD 在其应用程序菜单中内置了 gparted 程序,以及许多其他好东西,如文件管理器、磁盘安装程序、安装程序、互联网浏览器等;另请阅读网站上的说明):

https://sourceforge.net/projects/live-cd-with-zerofree-utility/

PS 此 Live CD 的 32 位版本(i686 架构)可从以下位置获取:https://sourceforge.net/projects/live-cd-with-zerofree-32-bit/

对于非常旧的架构,请尝试这张 Live CD:https://sourceforge.net/projects/live-cd-with-zerofree-x86/

希望这对大家有帮助。

相关内容