Mounten Sie Ext4 auf El Capitan

Ich habe kürzlich OS X 10.11 auf meinem Mac installiert.

Ich habe versucht, eine SD-Karte mit einer Ext4-Partition zu lesen, die in nicht einmal angezeigt wurde Disk Utility, obwohl diskutilsie als Linux-Partition angezeigt wurde.

Ich kann die Partition anscheinend nicht mounten (der mountBefehl scheint sich geändert zu haben, aber ich habe das nicht vollständig untersucht).

Ich hatte FUSE for OS Xinstalliert und auf 2.8.1 aktualisiert. Ich hatte auch fuse-ext2, aber obwohl dies in den Einstellungen angezeigt wurde, zeigt es "Nicht installiert" an. Ich habe versucht, von der Sourceforge-Site neu zu installieren, habe aber die folgende Fehlermeldung erhalten:-

This package is incompatible with this version of OS X and may fail to install.

Hat jemand eine Lösung, um das Einhängen von Ext4-Partitionen zu ermöglichen?

Hey, ich frage mich nur, ob Sie eine Lösung für dieses Problem gefunden haben?
@dastaan ​​Ich habe meine ursprüngliche Aufgabe umgangen, indem ich auf einer Linix-Maschine gemountet habe. Ich habe auch ein Linix-Betriebssystem (Ubuntu MATE) in einer virtuellen Maschine installiert und kann Ext4 mit einem USB-Kartenleser mounten (auf den internen Leser kann anscheinend nicht zugegriffen werden). Keines davon ist vollständig zufriedenstellend; Ich bin unschlüssig, ob ich SIP deaktivieren soll. Ich verstehe nicht, warum Apple mich daran hindern will, meinen Rechner zu benutzen, oder warum es sich hartnäckig weigert, Ext4-Unterstützung einzubauen (wie es jahrelang bei NTFS der Fall war) - zumindest ist dies Open Source. Ich hoffe immer noch, dass jemand eine Ext4-Unterstützung einbaut, die mit SIP funktioniert.
Danke für die schnelle Antwort. Lass mich es zumindest vorerst nach deiner Methode machen. Übrigens habe ich versucht, den SIP-Modus zu deaktivieren, um zu sehen, ob es funktioniert. Aber konnte es nicht zum Laufen bringen.

Antworten (6)

Versuchen Sie es mit ext4fuse.

ext4fuse Dies ist eine schreibgeschützte Implementierung von ext4 für FUSE. Der Hauptgrund dafür ist, Linux-Partitionen von OSX lesen zu können. Es sollte jedoch auf jeder FUSE-Implementierung funktionieren.

Grundlegende Verwendung, wobei Nund Min /dev/diskNsMdie Festplatten- und Partitionsnummern (wie 7und 1) Ihrer Ext4 ("Linux")-Daten sind. Sie finden diese entsprechenden Nummern für Ihren Computer im Festplattendienstprogramm von OS X oder indem Sie sie diskutil listauf der Befehlszeile ausführen.

mkdir -p "$HOME/tmp/my-linux-mount"
ext4fuse "/dev/diskNsM" "$HOME/tmp/my-linux-mount"

Unter macOS Sierra wird die Option -o allow_otherbenötigt , wie in:

ext4fuse /dev/diskNsM $HOME/tmp/my-linux-mount -o allow_other

Installieren Sie beides ext4fuseund osxfuseverwenden Sie Homebrew .

brew cask install osxfuse
brew install ext4fuse

Laut den Dokumenten müssen Sie möglicherweise auch <your user>zur operatorGruppe hinzufügen. Verwenden Sie hier whoami, um Ihren aktuellen Benutzernamen zu finden.

sudo dscl . append /Groups/operator GroupMembership "$(whoami)"

Siehe auch die Lösung für Probleme beim Klicken auf „Zulassen“ für die Meldung „Systemerweiterung blockiert“ fürosxfuse , und die osxfuseDokumentation für Mount-Optionen wie allow_otherund defer_permissions.

Danke für diese Antwort! Sehr hilfreich. Ich musste es verwenden sudo ext4fuse /dev/diskNsM ~tmp/my-linux-mount -o allow_other, um es zu mounten, bevor ich es mit meinem Benutzer öffnen konnte ... Ich konnte die Festplatte ohne sudoauf meinem System nicht öffnen
Kurzer Hinweis hier: "Zitate" ~/in einem Befehl mit zshwird tatsächlich einen \~Ordner erstellen, anstatt das Home-Verzeichnis zu verwenden. Erwägen Sie, Anführungszeichen zu entfernen oder $HOMEstattdessen zu verwenden. Ich bestätige, dass dies unter MacOS Sierra 10.12.3 einwandfrei funktioniert :)
@GabLeRoux: ganz richtig! Da ich wusste, wie viel Copypasta auf Superuser passiert, habe ich die Anführungszeichen beibehalten, aber zu geändert $HOME. Danke!
Dies scheint nicht richtig zu funktionieren, wie einige Fehlerberichte zeigen: github.com/gerard/ext4fuse/issues/44
Ich war immer noch nicht in der Lage, osxfuse in 10.13.4 mit MacPorts zu erstellen ... Teil des Protokolls: pastebin.com/yuKNr5pD
@JanM: aus der ext4fuseReadme : "Wenn Sie OS XI verwenden, schlagen Sie vor, dass Sie sich auf das Homebrew-Projekt verlassen."
Konnte es nicht zum Laufen bringen. allowBei mir gibt es überhaupt keine Taste. Menschen beschreiben ähnliche Erfahrungen ohne Lösungen.

Verwenden Sie Paragon ExtFS für OSX nicht mit El Capitan. Die Portierung ist sehr experimentell, obwohl Paragon behauptet, El Capitan zu unterstützen.

Ich habe zweimal ein 1,5-TB-ext4-Dateisystem über irreparable Grenzen hinaus beschädigt, indem ich zwei unabhängige Installationen von EL Capitan (10.11.3) auf einem MacBook Pro und MacBook Air verwendet habe. fsck -y /dev/sda(x)Auf einer Linux-Box werden nach Abschluss der Dateiübertragung Hunderttausende mehrfach beanspruchte Blöcke mit mehreren Dateien und Verzeichnissen beansprucht - das Dateisystem ist weg!

ExtFs ist auch nicht in DiskUtilty in Ela Capitan implementiert, sodass Sie die Integrität Ihres Dateisystems nicht überprüfen oder in ext2/3/4 formatieren können ...

Paragon Guys, bitte reparieren Sie Ihre Software dringend! Ihre Behauptung, El Capitan zu unterstützen, ist sehr irreführend!

Zusammenfassend lassen Sie Paragon ExtFS mit OSX 10.11.x fallen und verschwenden Sie nicht Ihre 20 $ oder kehren Sie zu Yosemite oder früheren OSXs zurück. Alternativ können Sie eine Linux-Box in Ihrem GB-Netzwerk installieren und über SMB kopieren. Es ist sicherer....

Das liest sich wie eine Horrorgeschichte! Hatten Sie später mit Paragons ExtFS zu tun, da dies diese Erfahrung aktualisieren würde, oder haben Sie es seitdem vermieden, es zu verwenden? Ich habe es als Option in Betracht gezogen, aber das gibt mir berechtigte Bedenken, vorher mehr zu lesen.
Ich hatte kürzlich einen ähnlichen Horror, aber zum Glück konnte ich meine Dateien wiederherstellen (nur mit Windows-Tools).
So schrecklich es auch sein mag, dies ist keine Antwort auf die Frage, wie man die ext4-Partition auf dem Mac liest.
Das ist keine Antwort auf die obige Frage.

Nachdem ich diese Seite mit diesem Problem besucht habe, hat Folgendes für mich funktioniert:

brew cask install osxfuse
brew install ext4fuse

Jetzt müssen Sie Ihr Linux-Dateisystem finden, also

diskutil list 

Für mich hatte es

   #:                       TYPE NAME                    SIZE       IDENTIFIER
   5:           Linux Filesystem                         149.0 GB   disk0s5

Folgen Sie dann dem Kommentar von @ Sean W.

sudo ext4fuse /dev/disk0s5 ~tmp/my-linux-mount -o allow_other

Und es sollte jetzt montiert werden.

Diese Lösung funktioniert, habe sie gerade auf meinem Mac mit einem externen EXT4-Laufwerk ausprobiert, das von Synology NAS formatiert wurde. Gut montiert. Danke @Nicolas
MacOS 10.13.3 blockiert die Ausführung von ext4fuse. Ich musste zu den Sicherheitseinstellungen gehen und die Ausführung von Software des Entwicklers „Benjamin Fleischer“ zulassen. Bitte entscheiden Sie selbst, ob dies eine sichere Maßnahme ist.
Mountet diese Lösung es schreibgeschützt oder ist es beschreibbar?
Diese Lösung ist schreibgeschützt.
Das hat bei mir unter macOS Mojave super funktioniert! Es hilft, diskutil listdirekt vor dem Anschließen des Laufwerks diskutil listdie Ausgabe zu vergleichen und zu sehen, welches Laufwerk hinzugefügt wurde.
Danke! Hat auch super für mich in macOS 10.15.1 Catalina funktioniert.

Wie in fuse-ext2 / OSX 10.11 „El Capitan“ besprochen, schlägt make fehl , die Installation von fuse-ext2schlägt unter OS X 10.11, El Capitan, aufgrund von System Integrity Protection (SIP) fehl.

Die derzeit empfohlene Lösung besteht darin , SIP zu deaktivieren .

Ich habe einen Fork von fuse-ext2 erstellt , der alles in /Library und /usr/local installiert, damit Sie SIP in Mac OS X El Capitan nicht deaktivieren müssen. Freut mich, wenn du es probierst ;-).

Sah interessant aus, bis ich zum Homebrew-Schritt kam. Ist es möglich, dass jemand ein installierbares Paket erstellt?
Homebrew wird nur für das e2fsprogs-Paket benötigt (Befehle zum Erstellen eines neuen Ext-Dateisystems, zum Überprüfen eines Ext-Dateisystems usw.). fuse-ext2 verwendet nur den Befehl e2label von efsprogs, um das Label eines Ext-Volumes zu erhalten. Ich denke, dies ist für das automatische Mounten beim Einstecken von Geräten (USB-Speichersticks, externe Festplatten, SD-Karten) erforderlich. Wenn Sie mit dem manuellen Mounten einverstanden sind und keine neuen Ext-Dateisysteme erstellen oder vorhandene Dateisysteme überprüfen müssen, können Sie die Installation von Homebrew und e2fsprogs weglassen.
Und wenn Sie bereits eine Installation von e2fsprogs in Ihrem System haben (von MacPorts, von Fink oder aus Quellen kompiliert), können Sie die Datei bearbeiten /Library/Filesystems/fuse-ext2.fs/fuse-ext2.util, um Ihre e2fsprogs-Installation zu verwenden.
Irgendwann, als ich meine Didsks eincheckte, wurde ich gebeten, eine neuere Version von e2fsck zu installieren, also denke ich, dass sogar denjenigen mit älteren Installationen von e2fsprogs empfohlen wird, ein Upgrade durchzuführen.

Warnung: Nachdem ich einige der in Schnorchs Antwort beschriebenen Probleme erlebt habe, kann ich dieses Programm nicht mehr empfehlen! Ursprüngliche Antwort links unten für die Nachwelt ...


Eine kommerzielle (20 US-Dollar) Option ist Paragon ExtFS für OS X , das das Mounten von ext2/3/4 mit Lese-/Schreibzugriff unterstützt. Ich benutze es jetzt in El Capitan.

Es hat ein paar Ärgernisse, wie zum Beispiel das scheinbare Nichtbeachten der in fstab angegebenen Mount-Optionen ... Aber im Allgemeinen scheint es den Job gut zu machen.

Wo ist fstab unter OSX? Ich verwende OSX 10.12. Ich kann jetzt nur im Lesemodus auf ext4 zugreifen. Ich habe kürzlich meine ext4-Partitionen verloren, aber ich kämpfe immer noch mit Paragon.
Einfach auf Linux umsteigen...