格式化真的会删除物理硬盘上的所有内容吗?

格式化真的会删除物理硬盘上的所有内容吗?

我想了解格式化真正删除了什么。

启动计算机时,会出现类似 DOS 的东西。这不可能存储在硬盘上?那么它存储在哪里?

我读到硬盘上有引导扇区,格式化后硬盘上还会剩下一些引导扇区吗?驱动器上真的会剩下 0 个字节吗?

答案1

这实际上是三个不同的问题,要完全理解还需要走很长、很艰难的道路。

让我尝试将其压缩为更小、更简单的想法……

可以将硬盘想象成一本参考书,书后有索引,可以快速查找相关章节。然后删除索引。这本书仍然可以阅读,但只是以更线性的方式阅读。找到正确的章节会更难,但并非不可能。

如果您快速格式化驱动器,您实际上所做的只是删除“索引” - 所有实际数据仍在那里。此时,如果有任何东西试图写入磁盘,它不会“知道”旧数据在那里,因此会构建新的“索引”并覆盖任何旧数据。

完整格式化将覆盖实际数据本身 - 尽管仍可以通过先进的技术恢复。

当您启动一台硬盘被擦除或完全空白的计算机时,您看到的是一个微型操作系统(实际上是一个独立程序,但在所有意图和目的上,它都像一个小型操作系统一样运行),它保存在实际的计算机硬件中,而不是硬盘本身上 - 它只是告诉机器下一步在哪里查找指令。

引导扇区是硬盘的一小部分,其中包含一条指令,告诉计算机下一步在何处寻找完全可引导的系统。

答案2

这里有3个问题。

我想了解格式化真正删除了什么。

关于格式化:格式化有几种方法。一种是快速格式化。它所做的只是将格式化的分区标记为空,而不会真正删除数据。普通格式化会将分区标记为空,此外还会将 0 写入整个分区。这仍然允许未格式化的程序恢复数据,但这将花费更多时间。还有一些程序可以通过在多个周期内将大量随机数据写入磁盘来安全擦除磁盘,这使得未格式化的程序很难恢复数据。

请记住,一旦驱动器被格式化,并显示为空(即使使用快速格式化方法),一旦您开始向其写入数据,它将覆盖先前存储数据的位置上的数据。这将使恢复删除程序很难恢复该特定数据。

启动计算机时,会出现类似 DOS 的东西。这不可能存储在硬盘上?那么它存储在哪里?

然后,启动计算机时看到的文本屏幕称为 BIOS。BIOS(基本输入输出系统)是与您的硬件通信并允许 Windows 或任何其他操作系统与您的硬件交互的操作系统。鉴于它有时需要确定硬件何时出现故障,BIOS 有一个文本界面和一个 SETUP 程序来与其交互。此文本界面就是您启动计算机时看到的。请注意,大多数 BIOS 都有显示图像的功能,以免让用户感到困惑。

我读到硬盘上有引导扇区,格式化后硬盘上还会剩下一些引导扇区吗?驱动器上真的会剩下 0 个字节吗?

硬盘的引导扇区是硬盘上的一个特定位置,只有在更改分区时才会更改。如果您尝试从此特定硬盘启动,引导扇区将确定从哪个分区启动。格式化不会影响引导扇区。仅更改引导扇区仍会使硬盘正常工作,只是您无法从它启动。

答案3

我想了解格式化真正删除了什么。

当计算机“格式化”磁盘或分区时,这意味着创建文件系统卷。“卷”基本上是存储文件的地方;对于旧软盘,整个磁盘基本上就是卷。对于硬盘,卷存储在分区中,一个磁盘可以有多个分区(意味着它将有多个卷)。

基本上,格式化最终会创建一个空白表。当我说“表”时,您可以想象一张有行和列的图表。每行代表一个文件名。每列标识一个文件片段。例如,“此文件的第一个片段位于扇区 1000”。“此文件的第二个片段位于扇区 2000”。格式化过程会创建一个空白表,然后在创建文件时填充该表。在 DOS 中,文件系统类型以该表命名,称为“文件分配表”。

如果您不担心旧数据,也不担心谁会访问旧数据(如果这些数据是机密/敏感的,这可能是一个问题),那么最好的选择是进行“快速格式化”,这只会为跟踪文件的文件系统卷创建最少的详细信息。如果您可以在“最小”/“快速”格式和“完整”/“扩展”格式之间进行选择,那么后一种格式可能会对文件系统卷的每个磁盘扇区进行一些操作。这可能意味着擦除每个扇区,或者只是尝试进行其他检查以确保该扇区在物理上可用。

启动计算机时,会出现类似 DOS 的东西。

喜欢LPChip 的答案,我假设您指的是“系统启动”过程。在较旧的机器上,这通常称为基本输入/输出系统,缩写为 BIOS。BIOS 的工作方式有一定的标准,以便计算机软件(如操作系统)可以与计算机的各个部分进行交互。许多较新的系统使用较新的标准,称为 (U)EFI((统一)可扩展固件接口)。我还没有找到业界广泛用于描述 BIOS 和 (U)EFI 标准的任何术语,所以我只是编造了“系统启动”这个术语。

我认为您可能将其称为“类似 DOS”的主要原因是使用文本模式。(好老CP437!) 但是,从我读过的内容来看,我有一种印象,即(U)EFI 可以通过命令行进行控制(可能只需一些实现)。

这不可能存储在硬盘上吗?那么它存储在哪里呢?

这通常完全存储在某些芯片中。在较旧的系统中,这些是 ROM(只读存储器)。但是,当新技术(如更大的硬盘)与芯片不兼容时,人们必须物理更换芯片以支持较新的技术。在 1990 年代后期,人们开始使用可写存储器,他们通常将其称为“闪存”。这种存储器不打算频繁写入。

当您在系统启动软件中更改配置选项时,配置的详细信息会存储到其他内存中,通常称为 CMOS。这是存储在主板上的一小块内存(不同于 RAM)。

我读到硬盘上有一个引导扇区,格式化后硬盘上还会剩余一些引导扇区吗?

使用 BIOS 标准的系统会检查硬盘,查看第 511 和第 512 个字节是否包含这些位:0101 0101 1010 1010

如果是,则认为磁盘是“可引导的”,BIOS 会告诉 CPU 按照磁盘第一个字节上的指令启动。磁盘的前 512 个字节称为“主引导记录”(“MBR”)。存储在 MBR 中的代码必须相当小,因为如果计算机要启动,第 511 个字节必须是 01010101。实际上,大多数可引导代码会使用称为“分区表”的标准检查第 447 到第 510 个字节。该表中的字节将指定分区(或多个分区)的位置。通常,第一个分区将从硬盘的第二个柱面开始。 (对于旧硬盘,“柱面”一词指的是硬盘的物理特性。当逻辑块寻址通常使数字与磁盘的物理设计的对应性降低时,该含义有点丢失了。)MBR 中代码的主要工作是检查分区表以查看文件系统卷的起始位置,然后从该位置开始运行代码。

(U)EFI 稍微复杂一些,需要了解更复杂的 GPT 结构。

无论如何,格式化与此无关。格式化与分区内的数据有关(通常从第二个柱面开始,通常称为柱面 1,因为第一个柱面通常称为柱面 0)。因此格式化不应影响 MBR 在磁盘上使用的初始引导代码。但是,格式化可能会影响计算机在使用 MBR 的数据后尝试使用的代码。

驱动器上真的只剩下 0 个字节吗?

您指的是 0 字节已用完?绝对不是。驱动器上绝对有字节已用完。分区存储文件系统卷,其中包含用于跟踪文件名和文件片段存储位置的表。通常还有其他详细信息,例如“标签”(您可以分配给文件系统卷的名称)。这应该是磁盘总数据中相对较小的部分,但这是磁盘中被用完的一部分。

当您询问操作系统有多少字节可用时,操作系统通常会报告有多少字节可用于存储文件。这是大多数人感兴趣的数据。操作系统不会报告用于存储文件表的字节数,也不会报告分区外的字节数(如 MBR)。

但是,由于表为空,因此所有可以存储文件碎片的字节都可用,并且其中没有一个被用完。如果磁盘是快速格式化的,旧文件的内容可能还在磁盘上。(类似测试磁盘 可能能够帮助找到这些内容。)但是,当您要求操作系统将新内容存储在新文件中时,操作系统将使用磁盘的这些区域(因为表格没有说明磁盘的这些区域存储了我们关心的任何文件碎片)。因此,旧数据可能会被新数据覆盖(这将导致 TestDisk 能够在发生这种情况时恢复旧数据)。请注意,即使文件的内容已保存,但在格式化磁盘时,这些文件的名称等详细信息可能已被覆盖。 (我说“可能”是因为存储文件的方式多种多样。一些跟踪数据的方式可能涉及一个大小一致的表,即使磁盘上的部分尚未存储文件,也会占用空间来跟踪这些部分。其他方法可能会根据磁盘上存储的数据改变表的大小,因此空磁盘的表可能很小。因此,也许其中一些文件名仍然物理存储在磁盘上,但操作系统没有跟踪这些旧数据,因此当操作系统发现这样做有好处时,这些数据也可能会删除。)

答案4

较旧的硬盘驱动器有一种机制,可以分步移动磁头;每个扇区起始位置的信息与实际扇区的内容存储在同一个“数据流”中。要写入磁道的扇区 #5,驱动器将以“读取”模式启动,直到看到标记“这是扇区 #5 的起始”,然后切换到写入模式,写入一个小空白区,然后是辅助起始标记,开始输出扇区中的所有字节,完成后再切换回读取模式。

如果不知道某个磁道是否具有一组位置合适的扇区标记(完全空白的未格式化磁盘就是这种情况),则在使用前需要对其进行格式化。为此,驱动器将打开写入模式,写入间隙,然后反复写入扇区头、微小间隙、次级起始头和一个扇区的任意数据以及另一个间隙。执行完这些操作后,驱动器将切换到读取模式并确保所有扇区均可读取(如果扇区之间的间隙太长,最后一个扇区可能会覆盖第一个扇区;如果间隙太短,驱动器速度的变化可能会导致后续的扇区写入操作延伸到下一个扇区)。

在这样的驱动器上执行“低级”格式化几乎可以删除其上的所有信息,但会比典型的“高级”格式化命令花费更长的时间,因为“高级”格式化命令仅确保每个扇区都可读,而无需重写扇区的扇区头。

现代驱动器需要使用比驱动器中任何东西都校准得更精确的专用设备将格式化标记放到盘片上。如果没有额外的设备,在这样的驱动器上进行低级格式化是不可能的。覆盖所有扇区的数据可能会导致大部分数据无法恢复,但有些驱动器有特殊的逻辑来检测磁盘的某些区域是否出现问题,并将通常存储在这些区域的信息重新定位到其他地方。如果驱动器认为包含机密数据的扇区可能位于磁盘的不稳定部分,因此对其进行了重新定位,则随后尝试擦除该扇区可能会破坏后续副本,而原始副本则不会受到影响。

相关内容