快速提问:我刚刚又看了另一个问题,问这个问题的人使用的是 liveboot gparted,而我使用的是普通的 gparted……这可能是我的问题吗?由于我试图合并的那个当前正在使用中,这是否会导致我遇到的问题?不允许它修改正在使用的分区……?
我正在尝试合并 Linux 机器上的两个分区,但似乎不知道该怎么做。我发现最接近我的问题/答案的是这个问题:如何将未分配分区合并到 Linux 分区
我尝试了答案中给出的两种方法,但都没有用...我还能尝试其他方法吗?我的分区看起来与问题中的几乎相同...扩展分区中只有一个其他 ext4 分区。
突出显示的未分配分区是我尝试与列出的最后一个分区(挂载在 /home 上的 ext4)合并的分区
将其他未分配的分区(2.72 GB,我从交换分区中取出)与挂载在 / 的分区合并也是不错的选择。
感谢所有能够帮助我的人!
答案1
我在这里看到许多问题:
- 所有 Linux 分区旁边都有一个钥匙图标(某些操作系统主题使用挂锁)。这意味着您的分区正在使用中,因此被锁定。大多数文件系统不支持实时操作。通过启动从外部媒体运行的实时操作系统,使分区保持解锁状态,可以解决此问题。我喜欢 Ubuntu 的简单性,如果您喜欢更轻量级但牺牲用户友好性的东西,Grml 也不错。
- 您的交换分区妨碍了您的操作。您无法在没有 LVM 的情况下合并不相邻的分区,而且您没有使用 LVM。这意味着您必须创建新的交换分区或将其移动到 上的文件中
/
。 - 合并分区时,除第一个分区外,所有分区的数据都会丢失。您必须确保事先将分区内容移到
/home
根/home
分区中。但那里放不下,您有 85 GB 的/home
数据,而只有 6.5 GB 可用/
。您需要一些额外的磁盘空间。
在处理分区之前,请确保您的备份是最新的并且可以恢复。强烈建议制作完整的磁盘映像。(Clonezilla 是一款基于 Linux 的优秀工具,可在 Ubuntu 中下载,并包含在 Grml 的完整版本中。)
该行动计划大致如下:
- 将完整的磁盘映像制作至外部磁盘。
- 启动 Linux 操作系统。禁用交换并将其从 fstab 中删除。删除交换分区。重新启动以确保系统正常运行并且交换已被禁用。
- 从 USB/DVD/任意方式启动。
- 如果您想要使用未分配的空间
/
:- 将分区移动
/
到扩展分区的开头。 - 调整
/
分区大小以填充未分配的空间。 - 挂载
/
和/home
分区。将/home
分区的内容复制到/home
上的目录/
。记得保留所有权信息(例如rsync -a
)。 - 卸载两个分区。删除
/home
分区。 - 如果您不想使用基于文件的交换,请在扩展分区的末尾创建交换分区。
/
再次调整大小。- 挂载分区。从 fstab 中
/
删除条目。/home
- 将分区移动
- 如果您希望保留未分配空间:
- 在未分配的空间中创建一个临时的 ext4 分区。我们将使用它来存储
/home
调整大小之前的内容/
。 - 挂载
/home
分区。将分区内容复制/home
到临时分区。记得保留所有权信息(例如rsync -a
或partclone
它)。 - 卸载两个分区。删除
/home
分区。 - 如果您不想使用基于文件的交换,请在扩展分区的末尾创建交换分区。
- 调整
/
分区大小以填充未分配的空间。 - 挂载
/
分区。将 的内容/home
从临时分区复制到/home
上的目录/
。记得保留所有权信息(例如rsync -a
)。 - 删除临时分区。
- 从 fstab 中删除
/home
条目。
- 在未分配的空间中创建一个临时的 ext4 分区。我们将使用它来存储
- 如果您想要使用未分配的空间
- 重新启动进入操作系统。验证是否
/home
已保存。 - 恢复交换。