Disk Images erkunden

Mit SEVEN 0.24

Veröffentlicht / modifiziert

  • 2020-08-31
  • /
  • 2024-02-27

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) sowie Macintosh File System (MFS) und ProDOS hat das Projekt zur Zeit einen Fokus auf Disk Images von und für ältere Apple Macintosh 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.24.02.27135 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) – wie sie zum Beispiel mit Tools wie dd erzeugt werden – umzugehen. 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.

Apple Partition Maps (APM), GUID Partition Tables (GPT), BSD Disklabel und Master Boot Records (MBR) können gelesen werden – sowie die folgenden Dateisysteme: File Allocation Table (FAT12, FAT16, FAT32), Extended File Allocation Table (ExFAT), Berkley Fast File System/Unix File System (FFS/UFS), Apples Hierarchical File System (HFS, HFS Plus, HFS Wrapper), ISO-9660 (mit Grundfunktionen der Erweiterungen Joliet, Rock Ridge, Apple & Amiga) und Universal Disk Format (UDF, plain variation). Unterstützt sind ebenso Macintosh File System (MFS) und Apple ProDOS (nebst GS/OS Extended Files, ProDOS- und DOS3.3-Reihenfolge).

Kompatibilitätslayer sind neu hinzugekommen, dank derer spezifische Meta-Data gleich mit genutzt werden, welche Betriebssysteme auf nicht-nativen Dateisystemen ablegen: Seven hat nun Unterstützung für Apple PC Exchange und seinen Nachfolger AppleDouble mit an Bord – beide Standards erlauben es Apples Mac OS Finder-spezifische Informationen (Originalname, Dateityp und -erzeuger, etc.) sowie die klassischen Resource Forks auf q>DOS-formatierten Medien (FAT) zu speichern. AppleDouble ist seit OS X im Einsatz.

Voraussetzungen – Was braucht man?

  • PHP 7 oder neuer kompiliert mit enable-cli Flag (Standard)
  • Eine Unicode-fähige Kommandzeileneingabe wie macOS Terminal oder Windows PowerShell
  • Ihre 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 deren Daten mit den nativen Attributen verschmolzen.

Roadmap – Was kommt noch?

Zur Zeit arbeite ich an

  • Konvertieren von Imageformaten — Verbesserungen
  • BinHex — Unterstützung für ältere Versionen
  • Media Descriptor File (MDS/MDF) — gerade begonnen
  • ZIP — gerade begonnen

Geplante Unterstützung

  • Universal Disk Image Format (UDIF) — Kompression
  • Apple File System (APFS)
  • Extended Filesystem (ext – ext4)
  • New Technology File System (NTFS)
  • Cue sheet (CUE/BIN) — Sidecar-Datei
  • 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, Amiga OFS/FSS und LISA Office System 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.