如何在 Linux 中合并两个分区

如何在 Linux 中合并两个分区

快速提问:我刚刚又看了另一个问题,问这个问题的人使用的是 liveboot gparted,而我使用的是普通的 gparted……这可能是我的问题吗?由于我试图合并的那个当前正在使用中,这是否会导致我遇到的问题?不允许它修改正在使用的分区……?

我正在尝试合并 Linux 机器上的两个分区,但似乎不知道该怎么做。我发现最接近我的问题/答案的是这个问题:如何将未分配分区合并到 Linux 分区

我尝试了答案中给出的两种方法,但都没有用...我还能尝试其他方法吗?我的分区看起来与问题中的几乎相同...扩展分区中只有一个其他 ext4 分区。

gparted 的屏幕截图

突出显示的未分配分区是我尝试与列出的最后一个分区(挂载在 /home 上的 ext4)合并的分区

将其他未分配的分区(2.72 GB,我从交换分区中取出)与挂载在 / 的分区合并也是不错的选择。

感谢所有能够帮助我的人!

答案1

我在这里看到许多问题:

  • 所有 Linux 分区旁边都有一个钥匙图标(某些操作系统主题使用挂锁)。这意味着您的分区正在使用中,因此被锁定。大多数文件系统不支持实时操作。通过启动从外部媒体运行的实时操作系统,使分区保持解锁状态,可以解决此问题。我喜欢 Ubuntu 的简单性,如果您喜欢更轻量级但牺牲用户友好性的东西,Grml 也不错。
  • 您的交换分区妨碍了您的操作。您无法在没有 LVM 的情况下合并不相邻的分区,而且您没有使用 LVM。这意味着您必须创建新的交换分区或将其移动到 上的文件中/
  • 合并分区时,除第一个分区外,所有分区的数据都会丢失。您必须确保事先将分区内容移到/home/home分区中。但那里放不下,您有 85 GB 的/home数据,而只有 6.5 GB 可用/。您需要一些额外的磁盘空间。

在处理分区之前,请确保您的备份是最新的并且可以恢复。强烈建议制作完整的磁盘映像。(Clonezilla 是一款基于 Linux 的优秀工具,可在 Ubuntu 中下载,并包含在 Grml 的完整版本中。)

该行动计划大致如下:

  1. 将完整的磁盘映像制作至外部磁盘。
  2. 启动 Linux 操作系统。禁用交换并将其从 fstab 中删除。删除交换分区。重新启动以确保系统正常运行并且交换已被禁用。
  3. 从 USB/DVD/任意方式启动。
    • 如果您想要使用未分配的空间/
      1. 将分区移动/到扩展分区的开头。
      2. 调整/分区大小以填充未分配的空间。
      3. 挂载//home分区。将/home分区的内容复制到/home上的目录/。记得保留所有权信息(例如rsync -a)。
      4. 卸载两个分区。删除/home分区。
      5. 如果您不想使用基于文件的交换,请在扩展分区的末尾创建交换分区。
      6. /再次调整大小。
      7. 挂载分区。从 fstab 中/删除条目。/home
    • 如果您希望保留未分配空间:
      1. 在未分配的空间中创建一个临时的 ext4 分区。我们将使用它来存储/home调整大小之前的内容/
      2. 挂载/home分区。将分区内容复制/home到临时分区。记得保留所有权信息(例如rsync -apartclone它)。
      3. 卸载两个分区。删除/home分区。
      4. 如果您不想使用基于文件的交换,请在扩展分区的末尾创建交换分区。
      5. 调整/分区大小以填充未分配的空间。
      6. 挂载/分区。将 的内容/home从临时分区复制到/home上的目录/。记得保留所有权信息(例如rsync -a)。
      7. 删除临时分区。
      8. 从 fstab 中删除/home条目。
  4. 重新启动进入操作系统。验证是否/home已保存。
  5. 恢复交换。

相关内容