如何在没有 LVM 的情况下调整根 ext3 文件系统的大小

如何在没有 LVM 的情况下调整根 ext3 文件系统的大小

我的 Debian vmware 映像空间不足。我已经扩展了磁盘映像,但现在需要增加根分区才能看到额外的空间。我的音量设置如下

Disk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 sectors
Disk model: VMware Virtual S
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: 0x37ce2932

Device     Boot    Start      End  Sectors Size Id Type
/dev/sda1  *        2048 48236543 48234496  23G 83 Linux
/dev/sda2       48238590 52426751  4188162   2G  5 Extended
/dev/sda5       48238592 52426751  4188160   2G 82 Linux swap / Solaris

我知道为了扩展 sda1,任何新空间都必须直接在它之后。我读过的所有示例要么 a) 使用 LVM,要么 b) 在 sda1 之后没有直接扩展 sda2 分区。谁能给我指出一个参考资料,告诉我如何在这种情况下扩展 sda1 ?我知道我必须关闭/删除 sda5 上的交换,但是我该如何处理 sda2 呢?

答案1

更新 - 我发现这个答案和其他人,非常有帮助。您可能也想比较这些。

你需要这样做:

  • swapoff,从而“释放”交换分区
  • fdisk,然后删除扩展分区和物理分区。

现在你只剩下/dev/sda1.

您现在可以再次使用放大图像fdisk,直至达到 VMware 提供的最大“物理”尺寸减去新的交换大小。您可以使用分区调整工具,也可以删除/dev/sda1并重新创建它有着相同的起点(以及类型和启动标志)。如果你做不到的话不保存更改并立即退出fdisk,然后找到一个工具,例如partition-resizegrowpart,或其他可以的工具fdisk(例如cfdisk)。

退出fdisk,运行kpartx /dev/sda以通知内核大小变化。我确信我经常忘记,而且从来没有发生过任何不好的事情,但这可能只是我的运气。

扩大分区后,您可以添加新的物理分区/dev/sda2。保留类型82h;无需创建扩展分区,然后在其中创建另一个交换分区。保持交换打开/dev/sda2

然后运行mkswap/dev/sda2验证/重新创建其 UUID,因为如果它是基于 UUID 的,您希望它是正确的/etc/fstab(如果它被称为/dev/sda5,则只需正确为/dev/sda2

最后你可以运行resize2fs让FS增长来填充新的/dev/sda1

相关内容