如何在 Linux(或任何其他操作系统)中向左侧扩展分区?

如何在 Linux(或任何其他操作系统)中向左侧扩展分区?

我想将 54 GB 的分区扩大 11 GB。

截屏

我该怎么做?我知道复制数据可能会有用,但我想要其他解决方案,因为没有足够的空间来复制数据。

答案1

您需要小心地从 54GB 分区的开头开始逐块移动整个分区的内容。分区中的文件系统不得挂载。块必须小于可用空间,因此只有在将旧数据复制为前一个块后才能覆盖旧数据。然后您需要更新分区表,以便分区的开头正式移到左侧。然后您需要将移动的文件系统扩展到右侧。这看起来很复杂,而且确实如此(但是如果您知道自己在做什么,可以使用 、 、“手动”dd完成gdiskresize2fs

幸运的是gparted,Linux 可以管理所有这些。请记住,文件系统不能被挂载,因此如果它对您的 Linux 至关重要而您无法挂载umount它,那么您需要启动实时操作系统并gparted从那里运行。

右键gparted单击 54GB 分区并选择“调整大小/移动”。应该可以将分区向左扩展,这会自动涉及移动文件系统。执行此操作。确认后,操作处于待处理状态。单击“应用所有操作”并等待。无论文件系统有多满,我猜该工具都会移动整个 54 GB。不过在 SSD 上这应该相当快。

您不得中断此操作,也不得允许任何事情中断它。如果操作中断,则文件系统可能会严重受损。您可能能够恢复一些文件,但您肯定不希望一开始就这么做。

像这样移动数据始终被认为具有潜在风险;假设操作可能会失败。理想情况下,您应该在开始之前将所有文件(或整个文件系统)复制到其他地方作为备份gparted。我承认您写道“没有足够的空间供我复制数据”。然后为真正重要的数据找到空间。您找不到空间的数据从定义上来说就是不重要的*。

如果您在 Ext4 下使用 LVM;或者使用 Btrfs 或 ZFS 而不是 Ext4,整个任务可能会更简单(或至少有所不同)。好吧,您没有,没有必要详细说明。使用过的用户请注意,所描述的过程可能不是您情况下的最佳方法。


*有些人会说(定义略有不同),如果你不已经如果备份了数据,那么所有数据都必定是临时的、不重要的和可消耗的。:)

相关内容