Disk Images erkunden

Mit SEVEN 0.26

Veröffentlicht / modifiziert

  • 2020-08-31
  • 2026-07-31

Kategorien

Tags

Verwandte Beiträge

Was ist SEVEN?

SEVEN ist eine leichtgewichtige plattformübergreifende Bibliothek, welche ich in PHP geschrieben habe und die es erlaubt, in Disk Images hineinzuschauen. Mit von der Partie ist das Kommandozeilenprogramm seven-cli, das es leicht macht, Struktur und Inhalt zu untersuchen, Dateien und Ordner zu extrahieren sowie bestimmte Imageformate in einfache Roh-Abbilder umzuwandeln. SEVEN ist Work-in-progress und sicher nicht perfekt, es kam aber bestens mit allen Dateien zurecht, die ich ihm vorgesetzt habe.

Mit Unterstützung für Apple Partition Map (APM), Apples Hierarchical File System (HFS und HFS Plus), Macintosh File System (MFS), ProDOS und Apple Lisa Office System hat das Projekt zur Zeit einen Fokus auf Disk Images von und für ältere Apple Computer. Für andere Plattformen gibt es aber bereits Unterstützung für File Allocation Table (FAT12, FAT16, FAT32), Extended File Allocation Table (ExFAT), Berkley Fast File System/Unix File System (FFS/UFS), ISO-9660 und Universal Disk Format (UDF). Mit der Zeit sollen auch andere Systeme die ihnen gebührende Aufmerksamkeit erhalten. Details zur zukünftigen Entwicklung finden Sie im Roadmap-Abschnitt am Ende des Artikels.

loading

SEVEN 0.26.07.31194 KiB

Benutzung auf eigenes Risiko (siehe auch legal notices). Änderungen an diesem Projekt können Sie im Änderungsprotokoll nachverfolgen.

Kompatibilität – Was kann es lesen?

Zur Zeit ist SEVEN in der Lage, mit direkten Laufwerksabbildern (raw) umzugehen, wie sie zum Beispiel mit Tools wie dd erzeugt werden. Das schließt sektorweise Abbilder von optischen Laufwerken ein (CD-ROM mode 1 & 2 und DVD-ROM). Zudem sind Disk Copy 4.2, 2IMG Universal Format und ImageDisk unterstützt. Unkomprimierte Dateien im New Disk Image Format (NDIF) und Universal Disk Image Format (UDIF/DMG) funktionieren ebenfalls. Ebenso MacBinary (I–III & II+) und BinHex (4.0) Dateien. Disk Copy 4.2, 2IMG und Abbilder von optischen Discs können in Roh-Abbilder umgewandelt werden.

Zusätzlich gibt es Kompatibilitätslayer, dank derer spezifische Meta-Data gleich mitgenutzt werden, welche Betriebssysteme auf nicht-nativen Dateisystemen ablegen: das bedeutet, Unterstützung für Apple PC Exchange und seinen Nachfolger AppleDouble ist mit an Bord. Beide Standards erlauben es, Apples Mac OS Finder-spezifische Informationen (Originalnamen, Dateitypen und -erzeuger, etc.) sowie die klassischen Resource Forks z.B. auf DOS-formatierten Medien (FAT) zu speichern.

Unterstützt sind aktuell:

Partitionstabellen

  • Apple Partition Maps (APM)
  • GUID Partition Tables (GPT)
  • Master Boot Records (MBR)
  • BSD Disklabel

Dateisysteme

  • Apple's Hierarchical File System (HFS, HFS Plus, HFS Wrapper)
  • Macintosh File System (MFS)
  • Apple ProDOS (including GS/OS extended files, ProDOS- and DOS3.3-order)
  • Lisa Office System — experimental
  • File Allocation Table (FAT12, FAT16, FAT32)
  • Extended File Allocation Table (ExFAT)
  • New Technology File System (NTFS) — newly added
  • Berkley Fast File System/Unix File System (FFS/UFS)
  • ISO-9660 (including basic features of the Joliet, Rock Ridge, Apple & Amiga extensions)
  • Universal Disk Format (UDF, plain variation)

Voraussetzungen – Was braucht man?

  • PHP 7 oder neuer, kompiliert mit enable-cli Flag (Standard)
  • PHP-Erweiterungen php-cli, php-mbstring und php-zip
  • Eine Unicode-fähige Kommandzeileneingabe wie macOS Terminal oder Windows PowerShell
  • Die eigenen Laufwerksabbilder

Extraktion von Dateien – Wie das?

Vorausgesetzt SEVEN kann mit der Abbilddatei umgehen, so wird es versuchen alle Datenblöcke, die der Datei im Laufwerksabbild zugeordnet sind, zu lesen und deren Inhalt in eine neue Datei im lokalen Dateisystem speichern. Da manche Dateisysteme zusätzliche Daten wie Metadaten oder Forks vorhalten, wird SEVEN in solchen Fällen bei Bedarf zusätzliche lokale Dateien anlegen.

Leser, welche beispielsweise Dateien zwischen Macs und PCs ausgetauscht haben, dürften ._-Dateien kennen, auch bekannt als AppleDouble-Dateien, die neben OS-spezifische Metadaten die bekannte Resource Fork enthalten können (Classic Mac OS ist darauf angewiesen). Wenn nötig wird SEVEN AppleDoubles erzeugen. Wenn auf ein Apple Dateisystem auf einem modernen Mac gespeichert wird (also HFS Plus oder APFS), dann werden am Ende des Exportprozesses die AppleDouble-Metadaten in die nativen Dateiattribute übertragen.

Roadmap – Was kommt noch?

Zur Zeit arbeite ich an

  • New Technology File System (NTFS) – Tests
  • Konvertieren von Imageformaten — Verbesserungen
  • Apple Lisa Office System – Verbesserungen
  • ZIP — begonnen

Geplante Unterstützung

  • BinHex — Unterstützung für ältere Versionen
  • Universal Disk Image Format (UDIF) — Kompression
  • Apple File System (APFS)
  • Extended Filesystem (ext – ext4)
  • Cue sheet (CUE/BIN) — Sidecar-Datei
  • Sidecar-Kombos wie Cue sheet (CUE/BIN) oder Media Descriptor File (MDS/MDF)

Und darüber hinaus

Ziemlich weit oben auf der Wunschliste steht ein Feature für das Backen von Images von lokalen Ordnern. Das Erstellen eigener HFS-, MFS- oder ProDOS-Disketten wäre für die Emulation von Computern oder das Instandsetzen alter Hardware ausgesprochen nützlich.

Langfristig möchte ich gerne FAT8 (MDOS/MIDAS), CP/M und Amiga OFS/FSS unterstützen. Dazu kommen weitere Image- und Archivformate, ulitmativ DART und komprimierte NDIF-Images (KenCode). Mehr Recherche ist natürlich erforderlich, um zu entscheiden ob, wie und wann das passieren wird. Man darf träumen, oder?

Falls Sie Fragen oder Anregungen zu diesem Projekt haben, lassen Sie es mich einfach wissen.