我试图调整主/引导分区的大小,以使用添加的30 to (Proxmox上的虚拟机)。如您所见,我的引导分区已满。我对所有这些都很陌生,所以,我从这里开始跟踪答案:Ubuntu -无法用增长部分扩展分区-分区1只能在2046年之前增长.
据我所知,我的空闲空间有两个“方式”分区,所以我不能简单地使用growpart,从而谷歌错误并通过上面的线程。
porter@porter:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 5.9G 0 5.9G 0% /dev
tmpfs 1.2G 1.6M 1.2G 1% /run
/dev/sda1 19G 18G 0 100% /
tmpfs 5.9G 0 5.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1.2G 0 1.2G 0% /run/user/0
tmpfs 1.2G 0 1.2G 0% /run/user/1000使用cfdisk,我可以看到30 GB的空闲空间。
Disk: /dev/sda
Size: 50 GiB, 53687091200 bytes, 104857600 sectors
Label: dos, identifier: 0x0266d922
Device Boot Start End Sectors Size Id Type
>> /dev/sda1 * 2048 39942143 39940096 19G 83 Linux
/dev/sda2 39944190 41940991 1996802 975M 5 Extended
└─/dev/sda5 39944192 41940991 1996800 975M 82 Linux swap / Solaris
Free space 41940992 104857599 62916608 30G因此,我删除sda2和sda5,然后编写更改。
Disk: /dev/sda
Size: 50 GiB, 53687091200 bytes, 104857600 sectors
Label: dos, identifier: 0x0266d922
Device Boot Start End Sectors Size Id Type
>> /dev/sda1 * 2048 39942143 39940096 19G 83 Linux
Free space 39942144 104857599 64915456 31G但是,当我转到growpart时,会得到一个错误:
porter@porter:~$ sudo growpart -v /dev/sda 1
update-partition set to true
resizing 1 on /dev/sda using resize_sfdisk_dos
104857600 sectors of 512. total size=53687091200 bytes
## sfdisk --unit=S --dump /dev/sda
label: dos
label-id: 0x0266d922
device: /dev/sda
unit: sectors
sector-size: 512
/dev/sda1 : start= 2048, size= 39940096, type=83, bootable
padding 33 sectors for gpt secondary header
max_end=104857567 tot=104857600 pt_end=39942144 pt_start=2048 pt_size=39940096
resize of /dev/sda returned 0.
failed [pt_update:1] pt_update /dev/sda 1
partx: /dev/sda: error updating partition 1
FAILED: pt_resize failed随后resize2fs的执行也会失败,同时也会出现错误:
porter@porter:~$ sudo resize2fs /dev/sda 1
resize2fs 1.46.2 (28-Feb-2021)
resize2fs: Device or resource busy while trying to open /dev/sda
Couldn't find valid filesystem superblock.如有任何指导,将不胜感激。
发布于 2023-04-02 05:35:04
您需要区分两种设备:
/dev/sdX (在您的例子中是sda)-一个" SCSI“磁盘设备(我将它放入引号中,因为许多设备正在通过模拟SCSI层而不是真实SCSI)。
它是一个完整的磁盘。可以在其上放置不同的东西,但在绝大多数情况下,它是一个分区表,其他的东西都进入分区。这是你的案子。
/dev/sdXN (在您的例子中是sda1)-设备sdX上的一个分区N。它是sdX的一部分,它跨越了一些LBA。
这通常是放置文件系统(或其他存储系统层)的地方。与在整个磁盘级别上运行的growpart不同,resize2fs (或任何其他与文件系统相关的工具)应该准确地指向包含文件系统的设备,在您的情况下,它应该是/dev/sda1 1。注意,这里没有空格--我们确切地指的是“承载文件系统的块设备”,而不是“拥有承载文件系统的分区的磁盘”,因为这是非常模糊的(模糊是由于那些可能的额外存储层-- RAID、缓存、密码、LVM)。
首先,您需要解决grow部分无法生成分区的问题。我相信这是因为您忘记了在删除该分区之前就已经放置在/dev/sda5上的交换空间了。它通常是用swapoff /dev/sda5完成的。如果不再有/dev/sda5 5设备节点,我相信VM重新引导可以解决这个问题,但它可能根本无法引导;请注释与交换相关的行fstab,以确保它启动。那么,成长应该是成功的。
因此,命令是:
/etc/fstab中的交换行并重新启动VM;resize2fs /dev/sda1 (没有空格)来增长文件系统。https://serverfault.com/questions/1127700
复制相似问题