所以在我的C:驱动器上,有一个名为引导分区我不知道它是什么,所以我打开了它氢键前 14 个字节B \0 O \0 O \0 T \0 M \0 G \0 R \0
对应于 UTF-16LE 字符串BOOTMGR
。经过一番研究,我发现这是 Windows 的 VBR。它安装在扇区 63(或 Vista+ 上的 2048)。
经过进一步研究,结果发现复制VBR 的,而不是实际的。这让我很困惑,因为我很确定我听说过 Windows 在某个地方给它一个自己的文件C:\Windows\System32
。C:\Windows\boot
我还听说 Windows 分配了膜生物反应器其中一个目录中的文件。
总结:NTFS(或任何其他文件系统)可以分配分区外的文件吗?最有可能的是负整数或起始扇区的 LBA(即扇区偏移为 -2048 或 LBA 为 2048)
答案1
Does NTFS (or any file system) support files outside of the partition?
在 Windows 上并不多,但在 Unix 变体上却如此,并且取决于您如何定义文件,您会发现支持分区外文件的文件系统。
- tmpfs 支持部分或全部存储在 RAM 中的文件。
- procfs 包含 /proc/pid/fd/ 中的文件,这些文件肯定属于其他文件系统
- 在 /dev(或 /devices)中,您有内容位于分区之外的“文件”。您可以通过它们访问 VBR 和 MBR(例如:/dev/sda1、/dev/dsk/c0d0t0p1,...)。
- 所有支持符号链接的文件系统也可以对来自外部位置的文件进行存储。
答案2
NTFS(或任何其他文件系统)可以分配分区外的文件吗?
不,这难道不是从一开始就完全否定了文件系统的目的吗?如果您只想操作分区外磁盘上存储的原始 0 和 1,则可以使用大量低级磁盘操作工具。您还可以在已安装的 NTFS 分区内安装另一个分区(即您可以安装其他C:\MyNewVol\
如果文件存储在另一个文件系统中,则请将其存储在 分区处。
你上面列出的那些特定文件被称为元文件,并根据 NTFS 规范进行了明确定义。请参阅上一个链接,了解各种元文件的描述(例如,您提到的 VBR 存储在$Boot
元文件中),以及它们在磁盘上相对于 NTFS 分区边界的位置。
此外,关于整个 MBR 与 VBR,从维基百科上有关 VBR 的页面:
[VBR] 是单个分区的第一个扇区在设备上,使用整个设备的第一个扇区为主引导记录 (MBR)包含分区表。
因此,您可以通过 NTFS 文件系统访问 VBR(假设您有适当的权限),但您不能直接访问 MBR;为此,您做需要低级磁盘工具。
答案3
文件系统仅处理其自己分配的空间内的数据。
然而操作系统没有这样的限制,它可以将从磁盘上任何位置读取的信息存储在文件中。
OS 和 FS 之间的区别可能很小,但却至关重要。