坏块和坏扇区有什么区别?

坏块和坏扇区有什么区别?

在一些资源中,我遇到了“坏扇区”和“坏块”这两个术语,它们指的是硬盘上的损坏区域,但它们似乎并没有太大的区别。

我认为它们可能是相同的,因为这些术语似乎经常互换使用,例如 fe 在这个问题的答案, 但话又说回来我找到了类似的文章显然这两个术语被使用,因为它们指的是不同的东西。

我的问题是:块和扇区是否都相同(这只是本文中的一个错误)或者这些术语在上下文中表示不同的东西?

我知道“扇区”和“区块”不同像这里描述的一样但无论如何,从“坏”的意义上来说,它们似乎被用来描述同一件事。或者我错了?


值得一提的是,我找到了这个问题通过按照标题来回答我的问题就可以了,但不幸的是,问题的方向与标题要求的方向完全不同(非常广泛),所以我需要就该问题提出新的重点问题。

答案1

由于“坏块”没有明确的定义,因此很难解释其中的区别。如果你将“坏块”视为“簇”的另一个术语,你就会发现其中的区别。

扇区是可以写入和读取硬盘的最小空间单位。

簇是文件系统中用于管理空间的最小空间单位。大多数文件系统似乎都使用簇,但据我所知,ReiserFS 是个罕见的例外。每个扇区只能属于一个簇。

当谈论“文件系统”时,显然我们现在处于“扇区级别”之上的级别。

如果某个扇区无法读取,您就知道只丢失了一个扇区。在文件系统级别,例如使用 NTFS 时,一个坏扇区会导致它所属的簇被标记为坏的,即使其他好扇区可能仍包含可恢复的信息 - 在扇区级别!如果您的文件系统告诉您有一个坏簇,您不知道里面是只有一个扇区损坏还是有更多扇区损坏。

您在评论中说道:

因此,坏块可以变成“好块”(通过将块的损坏扇区与健康扇区交换),但坏扇区始终是坏的,对吗?坏扇区不可恢复,但坏块可以。

读完上述内容后您应该明白,这是一个错误的假设,并且 LpChip 在确认这一点时也是错误的。

无法读取的损坏扇区称为“待处理扇区”。一旦驱动器收到该扇区的写入命令并且写入操作失败,驱动器的固件就会将写入操作重定向到备用扇区。这样会使该扇区看起来完好无损。只要备用池未耗尽,这种方法就可以奏效。

在正常使用文件系统期间,这种情况永远不会发生,因为 NTFS 将不可读簇标记为坏簇,并且不会再访问它。因此不会发生可以替换该扇区的写入操作。如果您将驱动器清零,并且可能在“长格式化”操作期间,就会发生这种情况。

请注意,Giacomo1968 错了。一个坏扇区就已经毁掉了整个簇。当簇中的每个扇区都坏了时,簇才不会坏。它之前就坏了。不过,Sawdust 写得对。

Giacom1968 链接的文章不好:

那么为什么会有块呢?为什么操作系统不直接指向扇区呢?因为操作系统可以寻址的块或驱动器地址的数量是有限的。通过将一个块定义为多个扇区,操作系统可以在不增加块地址数量的情况下处理更大的硬盘。

使用簇或块并不能使操作系统摆脱对扇区的寻址。它只是为了方便起见,将几个扇区组合成一个簇。

如今大容量硬盘的限制并非由操作系统造成,而是由描述硬盘上分区位置的过时结构造成的。随着 GPT 作为老式分区表的后继者推出,这一限制已不复存在。使用 GPT 时,即使是 64 位 XP 也能够处理大容量硬盘。

当你阅读 Linux 中“badblocks”命令的描述时

https://linux.die.net/man/8/badblocks

您会发现此命令不受扇区大小或簇大小的限制。对于坏块,您可以定义任何您喜欢的块大小。

答案2

扇区是硬盘上的物理位置,而块是一个或多个扇区的集合。磁盘越大,块就越大。

在这里阅读更多:“硬盘知识:块与扇区”

坏扇区表示硬盘上无法再更改的位置,并被标记为坏的,以便任何扫描都可以将该扇区从块中排除,并分配另一个备用扇区作为该块的一部分。

坏块只是指包含需要修复的坏扇区的块。

相关内容