Unterstützt NTFS (oder ein anderes Dateisystem) Dateien außerhalb der Partition?

571
Cole Johnson

Auf meinem Laufwerk C: befand sich also eine Datei namens BOOTSECT.BAK . Da ich nicht wusste, was es ist, öffnete ich es in HxD und die ersten 14 Bytes B \0 O \0 O \0 T \0 M \0 G \0 R \0entsprachen der UTF-16LE-Zeichenfolge BOOTMGR. Nach einiger Recherche fand ich heraus, dass dies der VBR für Windows ist. Dies wird auf Sektor 63 (oder 2048 unter Vista +) installiert.

Nach weiteren Recherchen stellt sich heraus, dass es sich um eine Kopie der VBR handelt, nicht um die eigentliche Sache. Das verwirrte mich, als ich ziemlich sicher war, dass ich irgendwo gehört habe, dass Windows irgendwo in C:\Windows\System32oder seine eigene Datei gibt C:\Windows\boot. Ich habe auch gehört, dass Windows dem MBR eine Datei in einem dieser Verzeichnisse zuordnet .

TL; DR: Kann NTFS (oder ein anderes Dateisystem für diese Angelegenheit) eine Datei außerhalb der Partition zuweisen? Am wahrscheinlichsten mit negativen Ganzzahlen oder LBA des Startsektors (dh -2048 für Sektorversatz oder 2048 für LBA)

5

3 Antworten auf die Frage

6
Breakthrough

Can NTFS (or any other file system for that matter) assign a file outside of the partition?

No, wouldn't that completely void the purpose of a filesystem to begin with? If you just want to manipulate the raw 0's and 1's stored on the disk outside your partition, there's plenty of low-level disk operation tools you can use. You can also mount another partition within a mounted NTFS partition (i.e. you can mount another partition at C:\MyNewVol\), if the files are stored within another filesystem.

Those particular files you outlined above are called metafiles, and are well defined per the NTFS specification. See that previous link for a description of various metafiles (e.g. the VBR you mentioned is stored in the $Boot metafile), and where they are located on-disk with respect to the NTFS partition boundaries.

Also, with respect to the whole MBR vs. VBR, from the Wikipedia page on VBR:

[The VBR] is the first sector of an individual partition on the device, with the first sector of the entire device being a master boot record (MBR) containing the partition table.

Thus, you can access the VBR through the NTFS filesystem (assuming you have the proper permissions to do so), but you can't directly access the MBR; for that, you do need low-level disk tools.

4
jlliagre
Does NTFS (or any file system) support files outside of the partition? 

Unter Windows aber nicht bei Unix-Varianten. Je nachdem, wie eine Datei definiert wird, werden Dateisysteme gefunden, die Dateien außerhalb der Partition unterstützen.

  • tmpfs unterstützt Dateien, die teilweise oder vollständig im RAM gespeichert sind.
  • procfs enthält Dateien in / proc / pid / fd /, die definitiv zu anderen Dateisystemen gehören
  • In / dev (oder / devices) haben Sie "Dateien", deren Inhalt sich außerhalb der Partition befindet. Sie können über diese auf die VBRs und MBRs zugreifen (z. B. / dev / sda1, / dev / dsk / c0d0t0p1, ...).
  • Alle Dateisysteme, die symbolische Links unterstützen, können auch Dateien von fremden Standorten speichern.

Es sieht so aus, als würde die Installation von cygwin ein Verzeichnis / dev bereitstellen, von dem aus Sie auf die vollständigen Daten der Festplatte und der Partition einschließlich der VBRs und MBRs zugreifen können.

Allerdings sind diese Verzeichnisse nur Mount-Punkte unter einem anderen Dateisystem, wie ich bereits erwähnt habe. Beim Zugriff auf Dateien und Unterverzeichnisse unter diesen Mount-Punkten wird das Dateisystem um eine Ebene vollständig umgangen (dh ich mounte meinen EXT4 FS unter `/` und mein RAMDISK unter `/ tmp ', die Dateien in` / tmp' haben nichts (mit dem EXT4 FS nur das RAMDISK). Dies ist dasselbe wie Mount-Punkte unter Windows. Breakthrough vor 11 Jahren 0
@Breakthrough tmpfs, procfs und symbolische Links waren nur Beispiele. Die eigentliche Antwort lautet / dev. Ihre Einträge sind nicht an allen Mount-Punkten. Hierbei handelt es sich um Dateien besonderer Art (Zeichen- und Blockgeräte), die Daten außerhalb des aktuellen Dateisystems enthalten, und eine davon beginnt mit einem UTF-16LE-codierten BOOTMGR in Coles Fall. jlliagre vor 11 Jahren 0
1
Hennes

Dateisysteme adressieren nur Daten innerhalb ihres eigenen zugewiesenen Speicherplatzes.

Ein Betriebssystem hat jedoch keine derartigen Einschränkungen und kann Informationen speichern, die von einer beliebigen Stelle auf der Festplatte in einer Datei gelesen werden.

Der Unterschied zwischen OS und FS ist zwar gering, aber von entscheidender Bedeutung.