两种方法

两种方法

我在驱动器上安装了 Ubuntu。问题是磁盘空间不足。它安装在 vmware 上。我扩展了虚拟驱动器并启动到 ubuntu。但是当我打开 gparted(sudo gparted)时,移动/调整大小选项不可用。这是安装 Ubuntu 的分区,但我需要调整它的大小。有什么想法吗?我习惯使用命令行

答案1

事实上,你 放大在 Ubuntu 运行时修改根文件系统(这是我最近学到的这里)——这听起来令人难以置信,但这是真的:)

以下是简单场景的步骤列表,其中有两个分区,/dev/sda1一个是用于启动操作系统的 ext4 分区,另一个/dev/sdb2是交换分区。在本练习中,我们想要删除交换分区并扩展/dev/sda1到整个磁盘。

  1. 与往常一样,请确保您已备份数据 - 因为我们将修改分区表,所以如果您输入错误,可能会丢失所有数据。

  2. 跑步sudo fdisk /dev/sda

    • 用来p列出分区。记下/dev/sda1
    • 使用d删除首先是交换分区(2),然后是/dev/sda1分区。这很可怕,但实际上无害,因为在将更改写入磁盘之前,数据不会写入磁盘。
    • 使用n创造一个新的主分区。确保它的起始磁柱与旧磁柱完全相同/dev/sda1。对于结束磁柱,请同意默认选择,即使分区跨越整个磁盘。
    • 用于a切换新的可启动标志/dev/sda1
    • 检查您的更改,深吸一口气,然后使用w将新的分区表写入磁盘。您将收到一条消息,告知内核无法重新读取分区表,因为设备正忙,但没关系。
  3. 使用 重启sudo reboot。系统启动后,你将看到一个较小的文件系统生活在更大的分割

  4. 下一个神奇的命令是resize2fs.Run——sudo resize2fs /dev/sda1此形式将默认使文件系统占用分区上的所有可用空间。

就是这样,我们刚刚调整了安装 Ubuntu 的分区的大小,而无需从外部驱动器启动。

答案2

两种方法

1.在 Ubuntu Server 16.04 至 18.10 中测试

在 VMware ESXi 中扩展卷后(关闭虚拟机、备份/导出虚拟机、删除所有快照,然后增加磁盘大小,在执行后续步骤之前再次对虚拟机进行快照,以便您可以恢复错误/失误)。

以下示例是在已经使用 LVM 的系统上扩展根分区上的卷。

  1. ssh进入系统,切换到 root 并运行cfdisk
    # cfdisk

  2. 在此处输入图片描述

  3. 在此处输入图片描述

  4. 在此处输入图片描述

  5. 在此处输入图片描述

  6. 在此处输入图片描述

  7. 在此处输入图片描述

  8. 在此处输入图片描述

  9. 在此处输入图片描述

  10. 在此处输入图片描述

  11. 在此处输入图片描述

  12. 在此处输入图片描述

  13. 退出 cfdisk 后

     # fdisk -l /dev/sda 
     Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
     Units: sectors of 1 * 512 = 512 bytes
     Sector size (logical/physical): 512 bytes / 512 bytes
     I/O size (minimum/optimal): 512 bytes / 512 bytes
     Disklabel type: dos
     Disk identifier: 0xc8b647ff
    
     Device     Boot    Start      End  Sectors  Size Id Type
     /dev/sda1  *        2048   999423   997376  487M 83 Linux
     /dev/sda2        1001470 16775167 15773698  7.5G  5 Extended
     /dev/sda3       16775168 41943039 25167872   12G 8e Linux LVM (***** See new partition /dev/sda3*****)
     /dev/sda5        1001472 16775167 15773696  7.5G 8e Linux LVM
    
  14. 在执行下一步之前重新启动系统(否则你可能会得到Device /dev/sda3 not found (or ignored by filtering)

     # shutdown now -r
    
  15. 初始化新卷

     # pvcreate /dev/sda3
       Physical volume "/dev/sda3" successfully created
    
  16. 获取要扩展的卷的名称

     # vgdisplay
       --- Volume group ---
       VG Name               linuxetc1-vg (***** this is vg i'm extending*****)
       System ID             
       Format                lvm2
       Metadata Areas        1
       Metadata Sequence No  3
       VG Access             read/write
       VG Status             resizable
       MAX LV                0
       Cur LV                2
       Open LV               2
       Max PV                0
       Cur PV                1
       Act PV                1
       VG Size               7.52 GiB
       PE Size               4.00 MiB
       Total PE              1925
       Alloc PE / Size       1925 / 7.52 GiB
       Free  PE / Size       0 / 0  
       ...
    
  17. 扩展卷组

     # vgextend linuxetc1-vg /dev/sda3
       Volume group "linuxetc1-vg" successfully extended
    
  18. 延伸根

     # lvextend -l+100%FREE /dev/linuxetc1-vg/root
       Size of logical volume linuxetc1-vg/root changed from 6.52 GiB (1669 extents) to 18.52 GiB (4741 extents).
       Logical volume root successfully resized.
    
    
     Or if you only wanted to give 5 more GB to root
     # lvextend -L +5g /dev/linuxetc1-vg/root
    
  19. 获取文件系统名称以供下一步使用

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root  6.3G  2.5G  3.5G  42% /            (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    
  20. 扩展文件系统

     # resize2fs /dev/mapper/linuxetc1--vg-root
     resize2fs 1.42.13 (17-May-2015)
     Filesystem at /dev/mapper/linuxetc1--vg-root is mounted on /; on-line resizing required
     old_desc_blocks = 1, new_desc_blocks = 2
     The filesystem on /dev/mapper/linuxetc1--vg-root is now 4854784 (4k) blocks long.
    
  21. 查看增大的尺寸

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root   19G  2.5G   15G  15% /         (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    

2. 在 Ubuntu Server 18.04.3 LTS 中测试的更快方法

这种方法比第一种方法要快一点。这是因为cfdisk菜单中有一个名为“调整大小”这节省了一些步骤。

在 VMware ESXi 中扩展卷后(关闭虚拟机、备份/导出虚拟机、删除所有快照,然后增加磁盘大小,在执行后续步骤之前再次对虚拟机进行快照,以便您可以恢复错误/失误)。

以下示例是在已经使用 LVM 的系统上扩展根分区上的卷。

  1. ssh进入系统,切换到root并运行cfdisk

  2. 选择要扩展的分区并选择“调整大小”。 在此处输入图片描述

  3. 设置“新尺寸”。 在此处输入图片描述

  4. 按下回车键后,您将看到屏幕上显示以下提示“Partition [someNumber] resized”: 在此处输入图片描述

  5. 接下来您需要“写入”(保存)您的更改: 在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

  6. 退出cfdisk。退出时您可能会看到消息“同步磁盘”。 在此处输入图片描述 在此处输入图片描述

  7. 此时我重启了系统,但这可能没有必要。现在您可以从第一种方法的第 19 步继续操作(下面重复)。

  8. (19)获取文件系统名称以供下一步使用

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root  6.3G  2.5G  3.5G  42% /            (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    
  9. (20)扩展文件系统

     # resize2fs /dev/mapper/linuxetc1--vg-root
     resize2fs 1.42.13 (17-May-2015)
     Filesystem at /dev/mapper/linuxetc1--vg-root is mounted on /; on-line resizing required
     old_desc_blocks = 1, new_desc_blocks = 2
     The filesystem on /dev/mapper/linuxetc1--vg-root is now 4854784 (4k) blocks long.
    
  10. (21)查看增大的尺寸

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root   19G  2.5G   15G  15% /         (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    

文章:
https://wiki.ubuntu.com/Lvm
http://www.geoffstratton.com/expand-hard-disk-ubuntu-lvm

答案3

编辑:正如@kent在下面提到的那样,这是一个旧答案,不再正确。

您快到了。
不能在 Ubuntu 运行时使用 GParted 调整分区大小。
您需要将 GParted ISO 作为 CD 附加到虚拟机,然后重新启动机器,这样将加载 GParted 而不是 Ubuntu(我认为您可以在机器启动后立即按 F12 从虚拟 CD 启动)。
一旦您启动到 GParted,移动/调整大小选项将被启用,因为 Ubuntu 当前未运行。

答案4

我注意到我的 ubuntu VM 有一个 LVM,它根本没有使用所有分配的空间。因此,要向我的 LVM 添加空间,只需执行以下操作:https://wiki.ubuntu.com/Lvm章节:“调整分区大小”。

例如:要快速了解您是否具有 LVM,请执行df -h 并查找以下行:

/dev/mapper/ubuntu--vg-ubuntu--lv  689G   20G  639G   3% /

并且...看到这实际上并不是经典的“/dev/sda1”类型的挂载点。

然后在该分区上运行扩展命令。

sudo lvextend -L +500g /dev/mapper/ubuntu--vg-ubuntu--lv
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

另一个提醒我检查 LVM 的快速线索是,当我查看 fdisk 分区时,我注意到我有一个很大的 /dev/sda3 分区,但实际上并没有安装在任何地方。(即:当我使用 mount 命令检查时)。

相关内容