分区重叠 Linux

分区重叠 Linux

我遇到了分区相互重叠的问题 ( fdisk -l)

/dev/sda1    *             2048    206847    204800   100M  7 HPFS/NTFS/exFAT
/dev/sda2               8155136 220203007 212047872 101,1G 83 Linux
/dev/sda3             220203008 639633407 419430400   200G  7 HPFS/NTFS/exFAT
/dev/sda4                208894 976768064 976559171 465,7G  f extended W95 (LBA)
/dev/sda5                208896   8155135   7946240   3,8G 82 exchange partition
/dev/sda6             639645696 976768064 337122369 160,8G  7 HPFS/NTFS/exFAT

我该如何修复?删除所有硬盘可以修复吗?

答案1

我同意 quixotic 的评论:

如果所有这些分区都有效,并且你永远不需要改变这些分区,你应该会没事的。

这个分区表非常不寻常。它看起来像是基于 MBR 的损坏的分区方案。我将帮助您了解发生了什么。


要了解分区,程序(如fdiskgparted)会执行以下分析:

  1. 主引导记录0读取扇区中的 (MBR) 。它包含四个分区条目,它们被赋予编号1234。任何不为空的条目都定义一个具有相应编号的分区(例如sda1第一个条目)。请注意,您可以让任何一组这些条目都非空,因此可能只有sda2sda4

这些分区不应重叠。按顺序排列它们是一种很好的做法(第一个表条目在磁盘上排在第一位,依此类推)。没有必要在这些分区之间或末尾留下任何“未使用”扇区;但在 MBR 和第一个分区之间通常会有一些“未使用”扇区。我说的“未使用”是指“不属于任何分区”,但它们仍可用于其他用途 - 例如,MBR 和第一个分区之间的扇区通常用于存储引导加载程序的一个阶段(这就是为什么您的sda1开始位置是从2048,而不是从 开始的原因1)。

在您的例子中,MBR 中定义了、和sda1sda2它们的条目并不完全按照磁盘顺序排列,但这实际上并不重要(但这可能会让用户感到困惑)。重要的是:和在内,因此正式的分区sda3sda4sda2sda3sda4重叠。类似这样的程序gparted会检测这种情况并发出警告。稍后我会解释为什么这对您的特定情况来说并不致命。

  1. 这些分区中最多有一个可以是扩展分区(其他被称为主分区)。如果有,则进行进一步分析。

您的sda4扩展分区

  1. 一个扩展分区不应包含文件系统。相反,它可能包含零个或多个逻辑分区. 第一个部分扩展分区叫做扩展引导记录(EBR)并描述了第一个逻辑分区(如果有的话)。与此分区关联的编号始终是5,并且必须在其 EBR 之后开始。第一个 EBR 可能指向描述分区编号的第二个 EBR 6(必须在其 EBR 之后开始);第二个 EBR 可能指向第三个,依此类推。最终,某些 EBR 不指向下一个,这意味着它描述的是最后一个分区。EBR 不存储它们的编号,它们就像链条的环节。出于这个原因逻辑分区有连续的数字。

在您的例子中,扇区号208894包含描述 的 EBR sda5。还有另一个 EBR,可能位于 和 之间639633408639645695描述sda6。仅有的两个逻辑分区不要填满整个sda4,这就是为什么gparted会告诉您有 300 GB 的可用空间。如果您sda4仅检查的内容,您会看到可用空间。如果仅检查 MBR 中的条目,您会看到重叠分区。诀窍是sda2sda3适合这个所谓的可用空间 –这就是重叠并不致命的原因。

gparted不够聪明,无法发现这一点,因为你的设置太不寻常,我想说,太疯狂了。

另一条评论:

我不知道这一点,fdisk或者其他工具不会想象扩展分区中有 300G 的可用空间并让您在那里创建与之重叠的其他分区sda(2,3)

我说他们很有可能让你用这种方式破坏东西。


那么你能做什么呢?如果它有效,就别碰。

好吧,人们可以处理这个混乱局面,并使分区布局完全合理,但是(例如):

  • 一些分区号会改变,我预计启动 Windows 会出现问题(有 Windows,不是吗?);
  • 基本的 sda2应该是新的逻辑 sda6但它们之间并没有 EBR 的自由区域。

通过仔细(手动)编辑分区表、移动/调整分区大小、修复启动过程等,可以完成此操作。但许多事情都可能出错。


删除所有硬盘可以修复此问题吗?

您的意思是:备份重要文件,删除所有分区,从头创建合理的分区和文件系统,安装操作系统,然后将文件复制回来?是的,它可以修复这个问题。

相关内容