将旧 SSD 克隆到新的、更大的 SSD - 无法对齐分区

将旧 SSD 克隆到新的、更大的 SSD - 无法对齐分区

我从 120GB SSD 换到了 480GB SSD,但是因为我在 Windows 和 Linux 之间双启动,所以我似乎无法在任何一个分区旁边获得新的未分配空间来进行扩展。

我删除了 Windows 恢复分区,以便在 MBR 中释放空间用于另一个分区,并从一些未分配的空间中创建了一个分区。我将其指定为 NTFS 分区并将其放在末尾,在 Linux 分区旁边留下了约 90GB 的未分配空间。但我无法移动它们,也无法创建新分区,因为我现在已经达到最大值。即使我在 Linux 分区旁边创建了一个 ext4 分区,我也无法将/ext4 分区扩展到新分区。

我认为这是因为新空间与现有的 NTFS 或 ext4 分区都不对齐。我想给 Windows 分配 ~240GB,给 Linux 分配 ~90GB,但我似乎无法让它们移动。我试过搜索,但我发现的大多数条目都没有描述这种情况。如果这个问题在某个地方被明确问到而我错过了,我深表歉意。

GParted 的现状:

GParted 状态

答案1

因此,从评论中的讨论中,我了解到您的目标如下:

  • sda2向Windows 分区添加 240 GiB
  • sda6向Linux 分区添加 90 GiB

目前,磁盘处于非法(某种程度上)状态,但大多数操作系统都会容忍它:扩展分区后面跟着另一个分区,无论是物理上(从图像中可以明显看出)还是逻辑上(sda4存储sda3在分区表之后)。

由于不包含任何数据,我们将直接删除它。无论如何,这种方式sda4永远无法增加其空间。sda2

因此,从 GParted Live 继续进行如下操作:

  1. 消除sda4
  2. 扩展扩展分区(sda3)(呵呵),这样它就可以覆盖其后面剩余的未分配空间。
  3. 删除交换分区(sda5)。
  4. 移动并调整 Linux 分区 ( sda6) 的大小,但要为交换分区留出一些空间。这将需要一些时间。目标是在 Windows 分区的末尾和 Linux 分区的开头之间获得 240 GiB 的“距离”。
  5. 在扩展分区内创建一个新的交换分区。
  6. 将扩展分区的起始位置尽可能地向后移动。
  7. 重新启动到 Windows。
  8. 在 Windows 内部,启动磁盘管理并扩展 Windows 分区。

当然,您始终可以使用 GParted 扩展 Windows 分区,但我宁愿依赖官方 NTFS 实现。

如果您认为您可以成功完成此操作,那么您可能能够修复分区顺序。不过,您很可能需要在之后修复 Linux 安装。除非它依赖于 UUID 或标签。

为此,请使用 GParted 上的命令提示符:

fdisk /dev/sda
x
f
r
w

这些命令的含义是:

  • 开始fdisk
  • 进入专家模式
  • 修复分区顺序
  • 返回正常模式
  • 将更改写入磁盘

答案2

基本问题是扩展分区/dev/sda3。您可以采取以下措施:-

  • 您应该能够扩展/dev/sda3以填充当前未分配的空间:您可能需要通过启动 LiveCD 来执行此操作。
  • 然后,您可以将交换分区移动/dev/sda5到扩展分区的末尾(尽管删除并重新创建会更快)并扩展/dev/sda6以填充剩余空间。
  • 如果您不需要休眠 Linux,则可以使用交换文件来保存分区。
  • 删除后/dev/sda5,您可以将其复制/dev/sda6到空白处,然后删除/dev/sda3(您肯定需要一个 LiveCD 来实现此目的)并向下扩展复制的分区。
  • 您将需要update-grub从 LiveCD 启动才能使用新的分区结构。

我希望您无需多言,在开始进行如此彻底的磁盘重新分区之前,应该先进行完整的磁盘复制。

相关内容