Gparted 错误“无法满足分区上的所有约束”

Gparted 错误“无法满足分区上的所有约束”

我已经使用 EasyBCD 双启动了 Windows 7 和 Ubuntu 14.04,即我已经在 Ubuntu 根分区上安装了 grub,并使用 EasyBCD 将 linux 的条目添加到 Windows 引导加载程序中。
因此,我实际上使用 Windows Bootloader 来启动其中任何一个。运行良好。

由于我的 HDD 上已经有 4 个主分区,我使用 EaseUs Partition 将其中一个(NTFS-Windows 500 GB)转换为逻辑分区,这样就可以使用 HDD 上大约 70GB 的未收集空间。

注意:在此之前,500 GB 分区是主分区,我能够在 Gparted 中看到所有分区。 “我的意思是一切都运转正常”。

问题是(即将主分区转换为逻辑分区后)我在启动 Gparted 后收到此消息并显示整个分区为未分配。

Unable to satisfy all the constraints on the partition

$ sudo fdisk -l 
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes 
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors 
Units = sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xe6bfc2a4
    Device Boot       Start         End      Blocks   Id  System
  /dev/sda1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
  /dev/sda2          206848   427624447   213708800    7  HPFS/NTFS/exFAT
  /dev/sda3       427624449  1805438975   688907263+   f  W95 Ext'd (LBA)
  Partition 3 does not start on physical sector boundary.
  /dev/sda5       427624512  1532823551   552599520    7  HPFS/NTFS/exFAT
  /dev/sda6      1532825600  1780301823   123738112   83  Linux
  /dev/sda7      1780301824  1805438975    12568576   82  Linux swap / Solaris

那么这个问题的原因是什么?
我知道在“Gparted 错误“(这可能是一个 bug,并且适用于旧版本的 Ubuntu 13.04)&”fdisk 错误
此外,这两个错误是否有可能相互关联或互补?

那么,这个问题是由于扇区大小(512 字节/4096 字节)引起的,还是因为我错误地使用 EaseUs 而不是某些 Ubuntu 工具将主分区转换为逻辑分区。 我该如何纠正这个问题?

如果需要任何更多信息,请随时询问。

更新

@psusi,sudo parted -l 和 gparted 所说的一样。(无法满足..)
@oldfred,我已经启动了 chkdsk,将向您提供相同的更新。

(感谢两位)

@rod smith,我完成 chkdsk 后会尝试您的建议。谢谢!

答案1

我不是 100% 肯定,但我怀疑这是你的问题:

/dev/sda6      1532825600  1780301823   123738112   83  Linux
/dev/sda7      1780301824  1805438975    12568576   82  Linux swap / Solaris

大多数分区工具在逻辑分区之间放置至少一个空扇区,并使用该空间来存储扩展引导记录 (EBR)描述以下逻辑分区。但是,对于/dev/sda6/dev/sda7,这两个分区之间没有间隙。这是合法的,只要 EBR 可以藏在其他地方。(sfdisk例如,可以这样做。) libparted(GParted 和其他几个工具都基于此)可能parted会对此感到困惑。不过,我还没有测试过 libparted 对此类磁盘的反应,所以我不能确定我的猜测是否正确。

如果这是问题所在,那么我至少能想到两个解决方案:

  • 使用任何可以删除 的工具/dev/sda7。它是交换空间,因此不包含任何关键数据。您可以稍后重新创建它,并在它和 之间留出空隙/dev/sda6。当您重新创建交换分区时,您可能必须进行编辑/etc/fstab以指向新的交换空间。
  • 你有一个可用的主分区,因此你可以使用修复零件(Ubuntu 软件包的一部分gdisk)或您最初用来转换/dev/sda7为主分区的 EaseUS 工具。主分区不需要 EBR,因此问题应该会消失。此方法的优点是您不需要编辑/etc/fstab,但您也没有可用的主分区。如果您确实希望交换位于逻辑分区上,您可以将任一分区缩小 1MiB,这将打开足够的间隙,以便您能够转换回来并使其正常工作。

相关内容