如何在不使用 GParted 的情况下缩小分区?

如何在不使用 GParted 的情况下缩小分区?

不幸的是,我找到的所有答案都涉及 GParted。我以为我可以使用 parted,但显然“parted resize”命令在处理已经有文件系统的分区时相对于 GParted 有一些限制(会发出警告,并且无法处理具有某些特殊功能(如日志等)的文件系统...)

我能够使用 resize2fs 命令来缩小文件系统(ext4),但现在我不知道如何缩小分区以创建新的分区。

我也编译了 parted 3.0,但是在这个新版本中,resize 命令已被完全删除......

我应该只使用 fdisk 吗?在 man 中我没有看到调整大小命令,他们说使用 parted...

谢谢

答案1

...尽可能回答我自己的问题:

如果由于某种原因您无法使用 GParted,则必须使用以下一些命令行工具手动执行此操作:

  • parted
  • resize2fs
  • (c)fdisk

根据分区中包含的文件系统,步骤可能有所不同。例如,我发现parted无法调整包含 ext4 等文件系统的分区的大小,因此我不得不使用 fdisk 销毁并重新创建分区,并对正确大小进行一些计算。此外,大多数命令只能在未安装分区时使用。

在使用 fdisk 之前,您可能需要备份分区表,我使用 dd 来完成该任务。

此外,如果您的驱动器设置了 LVM,您可以使用提供的工具。

我发现一些有用的链接:

随着我获得更多经验,我将尝试改进我的答案。

答案2

如果你确实想使用 GUI,并且你有额外的空间(或者可以按需配置,甚至可以暂时购买新的 VPS),那么你可以:

  1. 以救援模式启动
  2. 卸载 /home,然后将原始分区 dd(复制)到新分区(为方便起见,可以是另一个设备);我们将其称为“home2”。
  3. 如果愿意的话,您现在可以启动带有 GUI 的“完整”系统。
  4. 验证您的副本:fsck,mount,检查 home2 是否正常,然后 umount home2。
  5. 您现在可以在 home2 上运行 gparted,验证它是否正常,找出所需的确切分区大小/块
  6. 再次以救援模式启动
  7. 放心地调整大小,或者直接删除该分区并以所需的大小重新创建(不过要先备份分区表)。
  8. 使用 dd 将文件系统映像从 home2 复制回调整大小后的 home 分区。
  9. 重启!

请注意,步骤 2 到步骤 6 之间对 /home 的任何文件系统更改都将丢失。

缺点:这需要额外的一两个步骤,并且需要额外的磁盘空间。

优点:您确实有分区的备份副本。

对于不熟悉 dd、fsck、fdisk、parted、mount 和分区表的人,可以尝试使用虚拟服务器和虚拟磁盘;它是免费的。此外,尝试使用 LVM,因为它允许您动态调整大小(无需重新启动或停机)。

答案3

Gparted 运行良好,但与任何分区管理器一样,您无法调整大小安装分区。并且您无法在运行操作系统时卸载根分区。

所以诀窍是:使用 Live CD / USB 启动!

然后您可以调整任何硬盘分区的大小,因为没有分区会被安装。

请注意,系统必须已正确关闭,因为休眠分区应该不是可以调整大小。

在调整大小之前也要使用fsck,以确保没有损坏的结构。

答案4

下载Parted Magic现场 CD并使用它启动。然后,您将能够通过 Gparted 的 GUI 调整分区大小。

相关内容