“未分配空间”到底是什么?

“未分配空间”到底是什么?

再次,我在这里尝试理解一些 HDD 和文件系统的概念。

当 Windows 显示驱动器具有“未分配空间”并提示初始化驱动器时,这到底意味着什么 -驱动器上没有文件系统,或者只是 Windows 无法识别该文件系统?

未分配空间的概念是 Windows 的,还是硬盘的?换句话说,其他操作系统是否可以写入未分配的空间

如果是这样,这是否意味着在 Windows 之外,文件系统不需要写入硬盘?

答案1

按照惯例,硬盘驱动器(或其等效物,例如 USB 拇指驱动器)上有一个分区表。MBR(主引导记录) 样式的分区表位于驱动器开头(扇区号 0)的一个扇区(512 字节)中。MBR 还包含引导加载程序因此分区表空间被限制为四个“主”分区(尽管一些 20 世纪 80 年代的软件支持八个分区)。每个 MBR 分区条目都有:

  • 类型代码(单个字节)表示相应的分区是 NTFS、FAT-32(四种类型)、FAT-16(八种类型)、FAT-12、Linux 交换区域等。分区代码 0(零)表示“原始”或“无意义的内容”、“或忽略分区内容”。
  • 分区是否标记为可启动。每个磁盘最多一个分区可以启用此标志。
  • 分区起始扇区的磁盘地址
  • 分区的结束扇区——或扇区数。 早期的 PC 使用磁柱/磁头/扇区编号;大约 1995 年之后,使用“逻辑块编号”(单个 32 位值)取代磁柱/磁头/扇区寻址

由于最多四个分区很快就无法容忍,因此提出了一种附加分区的机制“擴展分區“在 MBR 中,特殊标记的分区可以具有包含另一个分区表的嵌入式 MBR。因此,可以将磁盘分成数十个分区,尽管某些分区工具可能会造成一些人为的限制。

A谷氨酰胺磷酸酶本质上不限于四个分区。其基本占用磁盘上的 512 字节以上,通常介于 4 到 16 兆字节范围内。但分区的含义是相同的。


磁盘分区表包含了磁盘的每个扇区,按照最常用的说法,它“没有未分配空间”。所以对你的问题的通常回答是未分配空间是所有分区之外的。但是,如果分区被标记为零类型(原始),则会出现术语歧义,因此可能存在一种工具将原始分区在某种意义上视为未分配。

当 Windows 显示驱动器具有“未分配空间”并提示初始化驱动器时,这到底意味着什么 - 驱动器上没有文件系统,还是只是 Windows 无法识别该文件系统?

这意味着没有分区表或所有分区条目都是空的。Windows 很乐意忽略无法识别的文件系统。

未分配空间的概念是 Windows 的概念,还是硬盘的概念?换句话说,其他操作系统是否可以写入未分配空间?

这是所有支持 PC 软件的标准操作系统都遵守的硬盘惯例。不确定是什么“换句话说”意思是。是的,可以写入未分配空间(即使在 Windows 中),但正确的做法是创建一个包含未分配空间的分区,在其中格式化文件系统(写入“未分配空间”),然后将文件和目录写入其中。

如果是这样,这是否意味着在 Windows 之外,文件系统不需要写入硬盘?

对于运行良好的系统来说,不是。协作系统需要文件系统到位、权限设置适当等。但是,在 Linux 中(例如)将磁盘本身作为大文件打开(原始磁盘访问)并直接写入它很简单。它需要管理访问权限和一些指导或计算来确定写入位置。

然而,忽略文件系统和分区坏的。它们极大地改善了磁盘管理,使生活变得更加轻松和理智。最终可能的编写叛逆的软件,完全无视理智和礼貌,在磁盘上随意写入。

然而,我从这个问题中感知到的元性可能是误解您是否打算遵守 Windows、Linux 等中非管理员/非系统模式所施加的权限和限制。

答案2

其他操作系统是否可以写入未分配的空间?

是的,任何操作系统都可以写入任何磁盘位置,无论它是在分区内部还是外部。

分区只不过是操作系统同意使用– 磁盘始终表现为单个连续的存储介质,并且不会知道关心被分割。

(实际上分区表本身存储在同一磁盘的 0-32 扇区上,当工具(如fdiskdiskpart编辑分区)时,它们所做的就是更新存储在这些扇区中的表。)

这是否意味着在 Windows 之外,文件系统不需要写入硬盘?

它不是严格对于大多数操作系统来说都是必需的。具有足够权限的程序可以打开原始设备文件(例如/dev/sda4在 Linux 或\\.\Device\Harddisk5\DR5Windows 上),并将字节读取/写入任何位置。

程序实际上可以通过这种方式发明自己的私有文件系统,或者使用其他结构(例如,有些 SQL 数据库引擎会将数据库写入原始分区)。或者它可以将数据转储到任何地方。

你所知道的文件系统仅仅允许操作系统中的所有程序分享同一驱动器或分区。操作系统负责空间分配、可靠性等,程序无需考虑文件和文件夹以外的任何事情。

当 Windows 显示驱动器具有“未分配空间”并提示初始化驱动器时,这到底意味着什么 - 驱动器上没有文件系统,还是只是 Windows 无法识别该文件系统?

当“磁盘管理”应用程序提示要将驱动器已初始化,这意味着它甚至不承认分区表(这是为了表明哪些区域已分配,哪些区域未分配)。

Windows 可以识别 MBR 和 GPT 分区表,但出现此提示时,表示未找到任何分区表。因此,Windows 甚至无法查看文件系统 - 它无法知道在哪里文件系统(如果有的话)。

但是,当 Windows 发现具有无法识别的文件系统的分区时,“磁盘管理”才不是提示格式化或以其他方式覆盖它 - 它只是显示该分区具有无法识别的文件系统,通常缩写为“RAW”。

当其他操作系统在 MBR 或 GPT 磁盘上创建分区时,它们通常会遵循现有的分区表,而不会开始使用其他分区表。因此,如果 Linux 或 FreeBSD 创建了自己的分区,它们将要在磁盘管理中可见为实际分区 - 只要它们位于 MBR 或 GPT 中,它们就不会仅仅因为文件系统无法识别而变成“未分配空间”。

但是,不要将 DiskMgmt 的提示混淆为初始化使用 Windows 资源管理器的提示格式磁盘。前者涉及未知分区表,而后者涉及已知分区中的未知文件系统。

(有时 Windows 会意外地将驱动器号分配给未知的文件系统,并尝试通过 Windows 资源管理器打开它会导致“格式化”提示。)

简而言之:

  • 提示初始化磁盘 ⇒ 未找到分区表(MBR 或 GPT)。磁盘可能为空,或者使用非标准分区表(如 APM)。

  • 没有提示,但显示未分配空间 ⇒ 该空间确实未分配。磁盘的分区表没有与该区域相对应的条目。

  • 没有提示,但显示未知分区⇒该分区包含无法识别的文件系统。

  • 提示格式磁盘 ⇒ 该分区包含无法识别的文件系统。

答案3

让我们首先解释一下硬盘的工作原理。

硬盘显然有空间。您在整个驱动器上创建分区方案,并用分区填充该方案。分区是分区空间中具有固定大小的预留空间。(这是一个非常基本的解释。如果我将 RAID 添加到组合中,我担心答案会变得不必要地复杂)

如果你的硬盘只有一个分区,而且分区大小小于硬盘本身,那么就还有空间可以创建另一个分区。这部分空间称为未分配空间。

那么,这是否意味着您始终可以在那里创建分区?不。另一个操作系统可能在该空间中创建了您的操作系统完全不熟悉的分区。

如果是这种情况,您的操作系统要么将其视为未知分区,要么在最坏的情况下将其视为未分配空间。如果您在实际上由另一个操作系统分配的未分配空间中创建分区,则在大多数情况下会破坏先前的分区。

还有一种可能性是,驱动器的分区方案不为操作系统所熟悉。如果是这种情况,操作系统会认为驱动器未初始化,并要求您初始化它。在 Windows 中,它将是 GPT 或 MBR,但已知有些情况下驱动器(或 SD 卡等)是为特殊设备格式化的,其独特格式是一种安全形式。

答案4

想象一下,HDD 就像是儿童磁性板

儿童磁性白板

当你第一次拿到一块板子时,它并不是完全白色的,而是黑白混杂的。在读写之前,你必须先擦除板上要写入的部分。由于硬盘可以存储各种数据,你还必须创建一些初始信息(通常在开始时),这些信息定义了硬盘上将存储哪些类型的数据。

例如,我可以在左上角写一个点状图案,以指示板的内容为英语。或者另一个图案,表示图像。或者一个复杂的图案,将板分成四个部分,并定义左上角四分之一将包含图像,右上角将包含英文文本,下半部分的两个部分为空并准备输入新数据。(在图案中写“下半部分为空”就足够了,我不必完全清理这部分,因为没有人会尝试读取这个空间的内容,因为它被指定为“空”)

这样,操作系统通常会在驱动器的开头写入一个清晰的模式,该模式可用于识别驱动器上写入的其他数据以及可以在哪里找到这些数据。这些部分是分区表和文件系统描述符。

未知数据难以与噪声区分

当操作系统遇到硬盘时,它通常会尝试读取驱动器上的前几个字节以识别某种模式。大多数操作系统都知道驱动器可以如何分区的多种不同格式,并尝试找到已知标记(主引导记录、分区表等)来识别驱动器的内容。 - 如果操作系统(如 Windows)找不到它能识别的模式,它就不知道驱动器是“空的”(充满随机噪音,如摇晃后的磁性板)还是只是它不认识的格式。

因此,“未分配空间”只是操作系统无法识别的数据,没有可识别的模式。如果您选择在此空间中创建分区,操作系统将简单地覆盖前几个字节并创建一个数据模式,该模式本质上表示“此驱动器将包含此结构中的文件,并且当前此注释之后的所有内容当前为空并且可以被覆盖”,之后您复制到驱动器上的所有文件都将写入此注释中定义的结构中。

“未分配空间”的特殊情况

硬盘上无法识别的空间可能是未知的文件系统。也可能是由 VeraCrypt 等加密软件生成的隐藏分区 - 其设计使得隐藏的加密数据看起来就像未分配磁盘上的随机噪声。另一种情况可能是文件系统损坏。如果硬盘驱动器受到损坏,则最初的模式可能会被破坏,因此系统无法再识别文件系统,即使它是已知类型。在这种情况下,您需要一些恢复软件,它会尝试重建有关文件系统的信息,以便可以再次访问原始数据。

访问原始数据的工具

还有一些适用于 Windows/Linux 的工具,可让您访问 HDD 的原始数据。这些工具不会关心驱动器是否已分区或是否仅包含随机噪声,如果您使用这些工具,则可以完整地查看驱动器,就像磁性板一样。在那里,您将看到大量随机的数字和符号,它们通常由操作系统中的文件系统驱动程序解释,以便您查看文件和文件夹的结构。

如果您对文件系统的工作原理感兴趣,您可以使用此类工具查看驱动器并亲自查看分区表。

相关内容