当硬盘中的所有位都设置为 1 时会发生什么?

当硬盘中的所有位都设置为 1 时会发生什么?

当计算机硬盘上的所有位都变为零时,我们说磁盘已被清除,现在没有任何数据。假设现在所有位都为 1。计算机会检测出这个磁盘是什么?(当然除了已满)

答案1

什么也没有发生。所有 1 都不构成任何分区表和文件系统,就像所有 0 一样。除非你以一种(自定义的?)方式使用磁盘,其中所有的 1 都有意义。同样,所有的 0可能意味着什么。

例如,如果你将一个磁盘克隆到另一个大小相同的磁盘,后者的磁盘不能“清除任何数据”。它将包含状态原始磁盘。即使在克隆之前擦除了原始磁盘,新磁盘也不会被视为“干净”。这与上下文有关。

您可以擦除磁盘上所有内容,这将在此处讨论:零填充(与一次填充相比)驱动器:惯例还是实际原因?

答案2

这与全新磁盘的情况完全相同,所有位都设置为零。或者它有任何其他无用的模式。无论哪种情况,磁盘都很可能显示为空且未格式化/未初始化。

磁盘是“满”还是“空”实际上并不取决于它存储的“1”位的数量。使用情况统计信息以及空闲/已使用区域由“文件系统”明确跟踪:它知道哪些磁盘区域用于存储文件,哪些区域没有。(完全由 0x00 字节组成的大文件仍然是“已使用”空间,而删除大型电影文件会将其所有空间标记为“空闲”,即使它仍然写入了这些位和字节。)

首先,操作系统会尝试检测分区表类型。分区表类型有多种,其中最常见的是 MBR(MS-DOS 分区表)和 GPT(EFI 分区表)。这两种格式在固定位置都有某些固定字节 - 例如,MBR 在偏移量 510 处有字节 0xAA55。如果这些确切的字节不存在(因为您用 0xFF、0x00 或其他内容填充了磁盘)- 操作系统会放弃并确定无法识别磁盘的格式,并且认为磁盘是空的。(Windows 允许您通过 DiskMgmt“初始化”磁盘。)

然后,如果您有一个分区表,其中列出了一些分区,操作系统将尝试检测它包含的文件系统。(此外,根据操作系统的不同,即使没有分区表,也可能这样做——操作系统只会在整个磁盘上查找文件系统。通常,固定磁盘必须有一个分区表,而可移动磁盘可能只有一个原始文件系统。)同样,这首先在特定位置查找特定的指示字节,如果这些字节不匹配,那么它就不是那个文件系统。最终,操作系统放弃,因为它根本无法识别任何文件系统,并认为分区(或磁盘)是空的。它会询问您是否要格式化磁盘。

相关内容