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

Cha*_*tai 19 hard-drive formatting

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

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

我读到硬盘上有一个引导扇区,格式化后硬盘上还有剩余吗?它真的以驱动器上剩余的 0 个字节结束吗?

Tet*_*jin 50

这确实是三个不同的问题,要完全理解它的道路漫长而艰难。

让我试着把它压缩成更小、更简单的想法......

把硬盘想象成一本参考书,后面有一个索引,可以快速查找相关部分。然后删除索引。这本书仍然可读,但只是以一种更线性的方式。找到合适的章节更难,但并非不可能。

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

完整格式会覆盖实际数据本身——尽管它仍然可以通过高级技术恢复。

当您使用擦除或完全空白的硬盘驱动器启动计算机时,您看到的是一个保存在实际计算机硬件中的微型操作系统(实际上是一个独立程序,但就所有意图和目的而言,它就像一个小型操作系统) ,而不是在硬盘驱动器本身上 - 它只是告诉机器接下来在哪里查找说明。

引导扇区是硬盘驱动器的一个小扇区,其中包含一条指令,告诉计算机下一步到哪里寻找完全可引导的系统。

  • 我想与其说它不准确和具有误导性,不如尝试提供替代方案。我真的想不出一种方法来压缩这个特定的“系统”而不深入研究不必要的和同样具有误导性的细节。它可能更准确,但不一定有助于 OP 了解正在发生的事情。我非常怀疑 OP 是否对操作系统的开始有准确和直接的理解。 (6认同)
  • EFI 可以完成操作系统所做的一切。 (5认同)

LPC*_*hip 9

这里有3个问题。

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

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

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

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

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

我读到硬盘上有一个引导扇区,格式化后硬盘上还有剩余吗?它真的以驱动器上剩余的 0 个字节结束吗?

硬盘驱动器的引导扇区是硬盘驱动器上的特定位置,仅在更改分区时才会更改。如果您尝试从该特定硬盘驱动器引导,引导扇区将确定从哪个分区引导。格式化不会影响引导扇区。仅更改引导扇区仍然可以使硬盘驱动器正常工作,但您无法从中引导。

  • *“...另外向整个分区写入0。这仍然允许未格式化的程序恢复数据...”* - 这将是恢复已归零数据的一个非常巧妙的技巧。IOW你自相矛盾.. (6认同)
  • @sawdust 仍然可以恢复*一些*数据。或者,至少,它的一些部分,通过高级方法。Recuva **可能**能够恢复该数据的**部分**。单次传递可能不足以**真正**改变硬盘驱动器的整个磁场。对于 SSD,由于磨损均衡技术可能会使扇区保持不变,清零数据可能无法正常工作。这意味着,随着时间/运气/一些知识,这些数据仍然可以恢复。这就是您在 SSD 上使用 [ATA Secure Erase](https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase) 的原因。 (4认同)
  • `“引导扇区基本上是一个配置文件”`——也许在 (U)EFI/GPT 系统上?至少在基于 MBR 的系统上,引导扇区包含代码。(存在配置的事实实际上相当依赖于扇区开头的代码。) (2认同)

TOO*_*GAM 6

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

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

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

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

启动计算机时,会出现一些类似于 DOS 的内容。

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

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

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

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

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

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

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

如果是这样,磁盘就被认为是“可引导的”,BIOS 会告诉 CPU 按照磁盘第一个字节上的指令启动。磁盘的前 512 个字节称为“主引导记录”(“MBR”)。存储在 MBR 中的代码必须相当小,因为如果计算机要启动,第 511 个字节必须是 01010101。实际上,这个可引导代码的大部分作用是使用称为“分区表”的标准检查第 447 到 510 字节。该表中的字节将指定分区(或多个分区)所在的位置。通常,第一个分区将在硬盘驱动器的第二个圆柱上启动。(对于旧硬盘,术语“柱面”指的是硬盘的物理特性。

(U)EFI稍微复杂一点,理解更复杂的GPT结构。

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

它真的以驱动器上剩余的 0 个字节结束吗?

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

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

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