格式化是否真的删除了物理硬盘上的所有内容?


19

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

启动计算机时,会出现类似于DOS的内容。这可能无法存储在硬盘上吗?那它存放在哪里呢?

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


6
格式化不会删除所有内容。要删除所有内容,可以使用程序在整个驱动器上写入零
barlop '16

6
Vista或更高版本上的非快速格式实际上会写入零。Windows的早期版本实际上执行了本质上的操作chkdsk /b
丹尼尔·B

5
猜测一下,这种“类似于DOS的东西”可能是UEFI提示。
user253751 '16

3
至少一个“答案”将BIOS称为“操作系统”。对于独立程序,这是不正确的描述。有关更多讨论,请参见superuser.com/questions/424892/is-bios-considered-an-os
锯木屑

Answers:


51

这实际上是三个不同的问题,需要很长的艰辛道路才能全面理解。

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

可以将硬盘看作一本参考书,在后面有一个索引,以快速查找相关章节。然后删除索引。这本书仍然可读,但是只是线性的。很难找到正确的章节,但并非没有。

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

完整格式会覆盖实际数据本身-尽管使用高级技术仍可以恢复该数据。

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

引导扇区是硬盘驱动器的一小部分,其中包含一条指令,该指令告诉计算机接下来可以在哪里寻找完全可引导的系统。


1
注意:“引导扇区”告知计算机(而不是硬盘驱动器本身)有关硬盘驱动器下一步的位置的更多信息。
Makyen '16

5
EFI可以完成操作系统的所有工作。
Zan Lynx

6
我想您不是要说这是不准确和误导的,而是需要尝试提供一种替代方法。我真的想不出一种方法来压缩这个特定的“系统”,而不必深入研究不必要且同样令人误解的细节。它可能更准确,但不一定能帮助OP理解正在发生的事情。我非常怀疑OP是否能准确,直接地了解操作系统的含义。
尼尔森

值得一提的是,这对HDD有效。SSD驱动器更加复杂。
Hauleth '16

@Hashim-我将接受其他编辑,但“ BIOS”过于具体,并非我的意思。我没有任何具有BIOS的计算机。
Tetsujin,

9

这里有3个问题。

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

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

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

启动计算机时,会出现类似于DOS的内容。这可能无法存储在硬盘上吗?那它存放在哪里呢?

然后,启动计算机时看到的文本屏幕称为BIOS。BIOS(基本输入输出系统)是与您的硬件通信并允许Windows或任何其他操作系统与您的硬件进行交互的操作系统。鉴于有时需要确定硬件何时失效,BIOS具有文本界面和与之交互的SETUP程序。启动计算机时,会看到此文本界面。请注意,大多数BIOS具有显示图像的功能,而不是使用户感到困惑。

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

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


2
"The bootsector basically is a config file"-也许是在(U)EFI / GPT系统上?至少在基于MBR的系统上,引导扇区包含代码。(实际上存在配置实际上取决于该扇区开始时的代码。)
TOOGAM

6
“ ...此外,将0写入整个分区。这仍将允许未格式化的程序恢复数据...” -这将是恢复已清零数据的一个绝妙的技巧。哎呀,你在矛盾自己..
锯末

4
@sawdust仍然可以恢复一些数据。或者至少通过高级方法来完成其中的一部分。Recuva的可能能够恢复一些数据的。单次通过可能不足以真正改变硬盘驱动器的整个磁场。使用SSD时,归零数据可能无法正常工作,这是由于损耗均衡技术可能会使扇区保持不变。这意味着,只要有时间/运气/一些知识,就可以恢复数据。这就是为什么在SSD上使用ATA安全擦除的原因。
Ismael Miguel

@IsmaelMiguel __因此,您可以区分出合格的技术人员可以进行数据恢复。Recuva仅对“已删除”文件不主张恢复覆盖文件。但是我的批评是,这个答案断言任何拥有某种“未格式化”程序的人都能执行此恢复专长!仅供参考,我已经完成了文件系统和磁盘驱动器编程以及已编写的磁盘控制器固件,因此我对该主题有一定的了解。
锯末

@锯末我知道他们没有抱怨。我正在提出这些主张。这些并不是可靠的主张。单词“ may”是那里的关键字。Recuva可以检测到部分删除的文件,但是我不确定它可以从那些部分覆盖的文件中提取多少。
Ismael Miguel

6

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

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

基本上,格式化最终会创建一个空白表。当我说“表格”时,您会想到带有行和列的图表。每行都引用一个文件名。每列标识一个文件片段。例如,“此文件的第一个片段位于扇区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个字节。该表中的字节将指定一个分区(或多个分区)的位置。通常,第一个分区将从硬盘驱动器的第二个Cylinder开始。(对于旧的硬盘驱动器,术语“圆柱体”是指硬盘驱动器的物理特性。

(U)EFI有点复杂,因为它了解更复杂的GPT结构。

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

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

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

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

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


3

格式化是否真的删除了物理硬盘上的所有内容?我想了解格式化真正删除了什么。

根据实际实验(而不是猜测或引用其他来源),被覆盖的旧数据将取决于您执行此“格式”的方式

当分区是由Linux(使用GParted)(对于NTFS或Ext4)创建并格式化的(对于NTFS或Ext4)或Windows 7格式化的“快速”的分区时,只有极少数的扇区被覆盖,足以初始化文件系统。未分配的扇区(用户文件可以自由使用)不会受到影响并保留旧数据。

当Windows 7创建分区并设置格式(不使用quick选项)时,该分区中的所有扇区都会被覆盖。未分配(可自由供用户文件使用)的扇区中的旧数据用零覆盖。恢复旧数据和文件将没有“取消格式化”的可能。

启动计算机时,会出现类似于DOS的内容。这可能无法存储在硬盘上吗?那它存放在哪里呢?

您可能指的是BIOS或UEFI程序,它们(通常)存储在闪存芯片(主板上)中。
您可以通过在未连接任何驱动器的情况下重新启动主板,轻松地验证此独立程序(不是操作系统)是否位于PC本地且不在任何HDD或SSD上。(当然,在PC断电时断开驱动器的连接。)

我读到硬盘驱动器上有一个引导扇区,格式化后硬盘驱动器上是否有剩余?

在驱动器的第一个扇区中存在一个引导程序(例如MBR,主引导记录),并且在每个可引导分区的开头都有另一个引导程序。
MBR是一个简单的引导程序,它加载标记为“活动”的分区的引导程序。
活动分区的引导程序将由文件系统安装。它可能是启动程序的另一个中间加载程序,该启动程序能够实际加载操作系统(例如GRUB)。

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

您要问的不是很明显。

请注意,将有一些扇区未分配给任何分区,永远不会以任何格式写入。MBR和第一个分区之间可能有多达1024个(Linux创建分区)或2047个(Win7创建分区)未使用的扇区。分区之间也可能有未使用的扇区。扇区的实际数量可能会有所不同,具体取决于先前分区的结束位置以及“相邻”分区的起始位置,这取决于分区对齐方式的类型(例如,“圆柱”或每兆字节)。


2

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

如果不知道某个磁道具有一组适当放置的扇区标记(例如,完全空白的未格式化磁盘就是这种情况),则在使用前需要对其进行格式化。为此,驱动器将打开写入模式,写入一个间隙,然后重复写入一个扇区标头,一个小间隙,一个辅助启动标头和一个扇区的任意数据值,以及另一个间隙。之后,驱动器将切换到读取模式,并确保所有扇区均可读(如果扇区之间的间隙过长,则最后一个扇区可能会覆盖第一个扇区;如果间隙太短,则驱动器速度变化可能导致随后的扇区写入操作以扩展到下一个扇区)。

在这样的驱动器上执行“低级”格式会很好地擦除其上的所有信息,但是比典型的“高级”格式命令花费的时间更长,该命令仅确保每个扇区都可读,而无需费心重写扇区头。部门。

现代驱动器要求使用专门的设备将格式化标记放到盘片上,该专用设备比驱动器中的任何设备都经过更精确的校准。如果没有额外的设备,则无法在此类驱动器上执行低级格式化。覆盖所有扇区中的数据可能会使大多数数据无法恢复,但是某些驱动器具有特殊的逻辑,可以检测磁盘区域何时似乎已损坏,并重新定位通常存储在此类区域中的信息。如果包含机密数据的扇区由于驱动器认为可能位于磁盘的不稳定部分而被重新定位,则随后尝试擦除该扇区的尝试可能会破坏以后的副本,同时保持原始状态不变。


1

不,首先,格式化是在分区而不是整个驱动器上执行的过程,因此它不会影响分区表,其他分区或驱动器上的MBR。您所看到的听起来像是引导加载程序,这是一个由BIOS直接执行的小程序,然后它具有选择并执行操作系统内核的任务,在这种情况下,分区已格式化,这意味着引导加载程序无法找到要执行的内核。

也就是说,即使该过程应用于整个驱动器,也认为格式化实际上会从驱动器中删除文件内容是错误的,因为实际上它并没有执行此操作。格式化驱动器时会发生的情况是清除了文件分配表,超级块等元数据,并在其中写入了空结构。

文件的实际内容不受格式化过程本身的影响。打个比方是将一本书的目录清空,即使没有目录列出这些章节,章节仍然会存在。

存在可以忽略元数据并直接在驱动器上查找文件本身实际占用空间的软件,并且在大多数情况下,恢复文件非常简单,除非文件占用的某些空间已被新数据重用和覆盖。

如果您实际上想破坏磁盘上的数据,则可以使用一些方法,但该方法取决于驱动器的类型(例如,SSD比HDD具有更简单的安全擦除方法),对于磁性驱动器,另一个因素是什么级别需要破坏。销毁数据(使数据无法通过商业硬盘恢复)与试图销毁数据到高度敏感的法医分析设备无法恢复数据痕迹之间存在区别。

编辑:请注意,除非机器因BIOS更新中断而受阻,否则即使尝试安装电源完全空白的机器,即使安装了完全空白的驱动器,也会显示某些内容。BIOS没有存储在任何驱动器上,它是一个小程序,存储在主板本身的小型固态存储芯片中。


BIOS存储在作为ROM芯片而不是小型固态存储芯片的EEPROM中。最大的区别是ROM代表只读存储器。需要刷新它才能更改程序。
LPChip '16

2
@LPChip它仍然是闪存的一种形式,实际上SSD具有相同的基本限制,即它们不能简单地覆盖并必须先擦除然后再写入,不同之处在于SSD的擦除块大小仅占总数的一小部分芯片的容量和电路构造的一些变化,但它仍然是固态存储器的一种形式。我只是不是真的想深入了解可闪存芯片的众多不同技术实现。
MttJocy

@LPChip-您的注释中唯一准确的部分是ROM首字母缩写的扩展。 “ BIOS存储在作为ROM芯片的EEPROM中...”。EEPROM不属于ROM,因为可以对其进行擦除和在线写入。ROM是通过半导体掩膜过程创建的。闪存而非EEPROM已用于存储BIOS大约二十年了。EEPROM和闪存都是“固态存储器”。这是一个模棱两可的术语,但是比您进行更正的尝试更准确。
锯末
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.