如何调整分区和文件系统的大小?

LAU*_*UAR 21 command-line filesystems partition

如何从命令行调整分区大小?我听说过GParted,但我不想使用 GUI 程序。

War*_*ung 45

使用parted替代,可能再加上你的文件系统的大小调整命令。

parted是 GParted GUI 下的引擎。您可以在交互式命令模式下或直接从命令行使用它。

parted3.0之前,在了解 GParted 之后,以下命令执行您可能期望的操作:

$ sudo parted /dev/sdb resize 1 1 200M
Run Code Online (Sandbox Code Playgroud)

这会将第二个硬盘上的第一个分区的大小调整为 200 MiB,并确保它从 1 MiB 开始进入磁盘,以避免高级格式驱动器的对齐问题。

此功能在 v3.0 中删除,与删除坏疽的脚趾相比,回归是合理的。在 v3.1恢复了部分功能,仅涵盖 FAT 和 HFS+。

从 Unix/Linux 文件系统的角度来看,v3.2 才是真正有趣的地方。它将命令替换为resizeresizepart. 新名称是因为它只能改变分区大小;它甚至不会先尝试重新排列其内容。

在扩展现有文件系统的情况下,只要您使用的是可以动态扩展的文件系统,例如 ext4 或 XFS,这是一项低风险操作。例如,如果我们从 200 MiB ext4 分区开始/dev/sdb1,我们可以将其大小加倍:

$ sudo parted /dev/sdb resizepart 1 400M
$ sudo resize2fs /dev/sdb1 400M
Run Code Online (Sandbox Code Playgroud)

相同的命令对也适用于缩小ext[234]文件系统,不同之处在于您反过来给它们:缩小实际文件系统,然后从分区末尾切掉空白空间。

某些文件系统(例如 XFS)只能增长;他们不能缩小。这就是为什么 XFS 的等价物resize2fs被称为xfs_growfs.

RAID 和 LVM 系统使这一切变得复杂。他们有自己的限制和能力。

一种常见的情况是在多驱动器 LVM 管理的磁盘阵列之上有一个 XFS 文件系统,您可以向其中添加一些驱动器,然后扩展 LVM,最后将 XFS 文件系统扩展到新空间。