调整 dev/sda2 Ubuntu VMWare 的大小

调整 dev/sda2 Ubuntu VMWare 的大小

在 Win10 主机、Ubuntu 18.04 客户机上使用 VMWare Workstation 15 Player (15.5.6)。我最初在该虚拟机上附加了 10GB 磁盘。开始出现错误no space left on device

删除 /tmp ( rm -rf /tmp/*)。将 10GB 磁盘大小增加到 25GB,添加另一个磁盘 20GB。但VM 无法识别新磁盘或新增加的大小(是的,我确实重新启动了工作站和虚拟机)

:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            2.1G     0  2.1G   0% /dev
tmpfs           422M  6.7M  415M   2% /run
/dev/sda2       9.8G  9.8G     0 100% /
tmpfs           2.1G     0  2.1G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.1G     0  2.1G   0% /sys/fs/cgroup
/dev/loop0       97M   97M     0 100% /snap/core/9804
/dev/loop4       18M   18M     0 100% /snap/gedit/605
/dev/loop1       63M   63M     0 100% /snap/gtk-common-themes/1506
/dev/loop2       98M   98M     0 100% /snap/core/9993
/dev/loop3      162M  162M     0 100% /snap/gnome-3-28-1804/128

您只能看到/dev/sda2 shows 10GB0 aval。所以我认为这就是问题所在。

尝试查看cfdisk- (以前从未使用过) - 但不知怎的,它也无法识别超过 10GB 的容量。我几乎可以在这个虚拟机上做任何事情 -勉强可以启动它- 如何解决这个问题。

更新1

$ sudo fdisk -l

Device     Boot      Start        End    Sectors  Size Id Type
/dev/fd0p1      2425393296 4850786591 2425393296  1.1T 90 unknown
/dev/fd0p2      2425393296 4850786591 2425393296  1.1T 90 unknown
/dev/fd0p3      2425393296 4850786591 2425393296  1.1T 90 unknown
/dev/fd0p4      2425393296 4850786591 2425393296  1.1T 90 unknown

Disk /dev/sdb: 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

GPT PMBR size mismatch (20971519 != 52428799) will be corrected by w(rite).
Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 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: gpt
Disk identifier: A6944258-6EA8-4968-BA0A-E48315D8CEB6

Device     Start      End  Sectors Size Type
/dev/sda1   2048     4095     2048   1M BIOS boot
/dev/sda2   4096 20969471 20965376  10G Linux filesystem

~$ parted -l
Warning: Unable to open /dev/sr0 read-write (Read-only file system).  /dev/sr0
has been opened read-only.
Error: /dev/sr0: unrecognised disk label
Model: NECVMWar VMware SATA CD00 (scsi)
Disk /dev/sr0: 68.0MB
Sector size (logical/physical): 2048B/2048B
Partition Table: unknown
Disk Flags:

Warning: Unable to open /dev/sr1 read-write (Read-only file system).  /dev/sr1
has been opened read-only.
Model: Unknown (unknown)
Disk /dev/sr1: 889MB
Sector size (logical/physical): 2048B/2048B
Partition Table: mac
Disk Flags:

Number  Start  End    Size    File system  Name   Flags
 1      2048B  6143B  4096B                Apple
 2      663MB  666MB  2523kB               EFI

$ lsblk -o name,fstype,size,fssize,mountpoint,label,model,vendor
lsblk: unknown column: fssize,mountpoint,label,model,vendor

$ lsblk -o name,fstype,size
NAME   FSTYPE     SIZE
fd0               1.4M
loop0  squashfs  96.6M
loop1  squashfs  62.1M
loop2  squashfs  97.1M
loop3  squashfs 161.4M
loop4  squashfs  17.9M
loop5  squashfs  55.3M
sda                25G
├─sda1              1M
└─sda2 ext4        10G
sdb                20G
sr0    iso9660   64.9M
sr1    iso9660    848M

~$ lsblk -o name,fstype,size,mountpoint,label,model,vendor
NAME   FSTYPE    SIZE MOUNTPOINT LABEL                           MODEL   VENDOR
fd0              1.4M
loop0  squashf  96.6M /snap/core
loop1  squashf  62.1M /snap/gtk-
loop2  squashf  97.1M /snap/core
loop3  squashf 161.4M /snap/gnom
loop4  squashf  17.9M /snap/gedi
loop5  squashf  55.3M /snap/core
sda               25G                                            VMware  VMware,
├─sda1             1M
└─sda2 ext4       10G /
sdb               20G                                            VMware  VMware,
sr0    iso9660  64.9M            CDROM                           VMware  NECVMWa
sr1    iso9660   848M            Ubuntu-Server 18.04.3 LTS amd64 VMware  NECVMWa

答案1

关于增加的大小/dev/sda:来宾操作系统可以看到虚拟磁盘的新大小,但您还需要调整分区sda2及其包含的文件系统的大小,以便能够使用额外的存储空间。

一种方法是(或者,使用图形工具格帕特,它将在单个操作中处理以下大部分步骤):

  1. 确保您拥有虚拟机上所有重要数据的完整备份。可能会备份完整的虚拟机映像。可以在 Linux 上创建在线 ext4 文件系统和包含的分区,但您永远不应该认为这是 100% 安全的操作。

  2. 开始sudo parted /dev/sda

  3. 打印分区表并记下End最后一行的扇区:

    unit s print free
    
  4. 调整sda2分区大小(应该表示为parted) 2:

    resizepart 2
    

    parted如果警告您分区正在使用并要求确认,请回答“是” ;输入您在步骤 (2) 中获得的数字(设备上的最后一个可用扇区),s当要求您输入结束扇区时,将(扇区)单位附加到该数字parted(然后可能会要求您接受稍有不同的最终扇区)对齐原因;那很好)。

  5. 再次打印分区表(与第(2)点相同)以确认sda2已调整大小。

  6. 辞职parted

  7. 用于lsblk /dev/sda确保内核知道调整大小的分区。如果显示的大小仍然是10G,请sudo partprobe -s刷新并再次检查。

  8. 调整文件系统大小:

    sudo resize2fs /dev/sda2
    

    可能会要求您先运行,sudo e2fsck -f /dev/sda2然后才能调整文件系统的大小。执行此操作,然后重试该resize2fs命令。
    如果没有给出大小参数,则resize2fs增大文件系统以匹配包含分区的大小。

  9. 用于df -h /dev/sda2验证新尺寸。

关于新添加的虚拟磁盘,/dev/sdb:我建议您不要使用它,如果需要,可以/dev/sda进一步增大。在执行上述步骤之前,您可能需要删除sdb主机上支持的映像并添加该存储空间。sda

答案2

警告:无法以读写方式打开 /dev/sr0(只读文件系统)。 /dev/sr0

当您尝试 pared 时,会返回此错误。

断开 vmware 中任何 cd/dvd rom 设备的连接,然后重试相同的命令 [parted]。

相关内容