Mount Ext4 auf El Capitan


47

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 nicht einmal angezeigt wurde Disk Utility, obwohl diskutilsie als Linux-Partition angezeigt wurde .

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

Ich hatte FUSE for OS Xauf 2.8.1 installiert und aktualisiert. Ich hatte auch fuse-ext2, aber obwohl dies in den Einstellungen angezeigt wurde, zeigt es "Nicht installiert". Ich habe versucht, von der SourceForge-Site neu zu installieren, habe jedoch den folgenden Fehler erhalten:

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

Hat jemand eine Lösung, mit der Ext4-Partitionen gemountet werden können.


Hey, fragst du dich nur, ob du eine Lösung für dieses Problem gefunden hast?
Dhruvvyas90

@dastaan ​​Ich habe meine ursprüngliche Aufgabe gelöst, indem ich sie auf einer Linix-Maschine installiert habe. Ich habe auch ein Linix-Betriebssystem (Ubuntu MATE) in einer virtuellen Maschine installiert und kann Ext4 mit einem USB-Kartenleser einbinden (auf den internen Leser kann anscheinend nicht zugegriffen werden). Keines davon ist völlig zufriedenstellend; Ich bin unschlüssig, ob ich SIP deaktivieren soll. Ich verstehe nicht, warum Apple mich daran hindern will, meinen Computer zu verwenden, oder warum es sich hartnäckig weigert, Ext4-Unterstützung einzubauen (wie es seit Jahren bei NTFS der Fall ist) - zumindest handelt es sich dabei um Open Source. Ich hoffe immer noch, dass jemand Ext4-Support aufbaut, der mit SIP funktioniert.
Milliways

Danke für die schnelle Antwort. Lass es mich nach deiner Methode tun, zumindest für den Moment. Übrigens habe ich versucht, den SIP-Modus zu deaktivieren, um zu sehen, ob es funktioniert. Aber konnte es nicht zum Laufen bringen.
Dhruvvyas90

Antworten:


44

Versuchen Sie es mit ext4fuse.

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

Grundlegende Verwendung, wo Nund Min /dev/diskNsMsind die Festplatten- und Partitionsnummern (wie 7und 1) Ihrer Ext4-Daten ("Linux"). Sie finden diese entsprechenden Nummern für Ihr Gerät im Festplatten-Dienstprogramm von OS X.

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

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

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

Installieren Sie beide ext4fuseund osxfuseverwenden Sie Homebrew .

brew cask install osxfuse
brew install ext4fuse

Gemäß den Dokumenten müssen Sie möglicherweise auch <your user>der operatorGruppe hinzufügen . Hier whoamifinden Sie Ihren aktuellen Benutzernamen.

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

Weitere Informationen finden Sie in der Problembehebung unter "Zulassen" für die Meldung "Systemerweiterung blockiert"osxfuse sowie in den osxfuseDokumenten zu Einhängeoptionen wie allow_otherund defer_permissions.


5
Danke für diese Antwort! Sehr hilfreich. Ich musste verwenden sudo ext4fuse /dev/diskNsM ~tmp/my-linux-mount -o allow_other, um es zu mounten, bevor ich es mit meinem Benutzer öffnen konnte ... Konnte die Festplatte nicht öffnen, ohne sudoauf meinem System
Sean W.

2
Hier eine kurze Anmerkung: "Zitieren" ~/in einem Befehl mit erstellt zshtatsächlich einen \~Ordner, anstatt das Basisverzeichnis zu verwenden. Entfernen Sie Anführungszeichen oder verwenden Sie $HOMEstattdessen. Ich bestätige, dass dies unter MacOS Sierra 10.12.3 einwandfrei funktioniert :)
GabLeRoux

1
@ GabLeRoux: ganz richtig! Da ich wusste, wie viel Copypasta im Superuser passiert, habe ich die Anführungszeichen beibehalten, aber in geändert $HOME. Vielen Dank!
Joel Purra

Dies scheint nicht richtig zu funktionieren, wie aus einigen Fehlerberichten hervorgeht: github.com/gerard/ext4fuse/issues/44
slhck

1
@ JanM: aus der ext4fuseReadme- Datei: "Wenn Sie OS X verwenden, empfehlen wir Ihnen, sich auf das Homebrew-Projekt zu verlassen."
Joel Purra

9

Verwenden Sie Paragon ExtFS für OSX nicht mit El Capitan. Der Port ist sehr experimentell, obwohl Paragon behauptet, Unterstützung für El Capitan zu haben.

Ich habe mit zwei unabhängigen Installationen von EL Capitan (10.11.3) auf einem MacBook Pro und MacBook Air ein 1,5-TB-ext4-Dateisystem, das irreparabel ist, zweimal beschädigt. 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 verschwunden!

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

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

In der Zusammenfassung sollten Sie Paragon ExtFS mit OSX 10.11.x sichern und nicht Ihre 20 US-Dollar verschwenden oder zu Yosemite oder früheren OSX-Versionen zurückkehren. Alternativ können Sie eine Linux-Box in Ihr GB-Netzwerk stellen und über SMB kopieren. Es ist sicherer....


Das liest sich wie eine Horrorgeschichte! Haben Sie nachträglich mit Paragons ExtFS zu tun gehabt, da dies diese Erfahrung auf den neuesten Stand bringen würde, oder haben Sie es seitdem vermieden, es zu verwenden? Ich habe es als Option in Betracht gezogen, aber dies gibt mir berechtigte Bedenken, vorher mehr zu lesen.
TCAllen07

Ich hatte kürzlich einen ähnlichen Schrecken, aber zum Glück konnte ich meine Dateien wiederherstellen (nur mit Windows-Tools).
Nyxee

4
So schrecklich es auch sein mag, dies ist keine Antwort auf die Frage, wie die ext4-Partition auf einem Mac gelesen werden soll.
Aleks G


5

Ich habe einen Fork von Fuse-Ext2 erstellt, der alles in / Library und / usr / local installiert, so dass 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. Kann jemand ein installierbares Paket erstellen?
Milliways

1
Homebrew wird nur für das Paket e2fsprogs 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 die Bezeichnung eines ext-Volumes abzurufen. Ich denke, dies ist notwendig für die automatische Bereitstellung beim Einstecken von Geräten (USB-Speichersticks, externe Festplatten, SD-Karten). Wenn Sie mit dem manuellen Einhängen einverstanden sind und keine neuen ext-Dateisysteme erstellen oder vorhandene Dateisysteme überprüfen müssen, können Sie auf die Installation von Homebrew und e2fsprogs verzichten.
gpz500

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.
gpz500

Irgendwann, als ich meine Didsks eincheckte, wurde ich gebeten, eine neuere Version von e2fsck zu installieren. Selbst bei älteren Installationen von e2fsprogs wird ein Upgrade empfohlen.
Nyxee

5

Nach dem Besuch dieser Seite mit diesem Problem hat Folgendes für mich funktioniert:

brew cask install osxfuse
brew install ext4fuse

Nun müssen Sie also Ihr Linux-Dateisystem finden

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.


3
Diese Lösung funktioniert, habe sie nur auf meinem Mac mit einem externen EXT4-Laufwerk ausprobiert, das mit Synology NAS formatiert wurde. Gut montiert. Thanks @Nicolas
James Wong

2
MacOS 10.13.3 blockiert die Ausführung von ext4fuse. Ich musste die Sicherheitseinstellungen aufrufen und zulassen, dass die Software des Entwicklers Benjamin Fleischer ausgeführt wurde. Bitte treffen Sie Ihre eigene Entscheidung, ob dies eine sichere Maßnahme ist.
Guy C

Ist diese Lösung schreibgeschützt oder beschreibbar?
Knocte

1
Diese Lösung ist schreibgeschützt.
Diogo Cardoso,

1
Das hat bei mir unter macOS Mojave super geklappt! Es ist hilfreich, diskutil listdirekt vor dem Anschließen des Laufwerks diskutil listdie Ausgabe zu vergleichen und festzustellen, welches Laufwerk hinzugefügt wurde.
Cgenco

3

Achtung: Da ich einige der in Schnorchs Antwort beschriebenen Probleme hatte, kann ich dieses Programm nicht mehr empfehlen! Originalantwort unten für die Nachwelt ...


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

Es hat ein paar Belästigungen, wie anscheinend nicht auf die in fstab angegebenen Mount-Optionen zu achten ... Scheint aber im Allgemeinen die Aufgabe gut zu erledigen.


Wo ist fstab unter OSX? Ich benutze OSX 10.12. Ich kann jetzt nur im Nur-Lese-Modus auf ext4 zugreifen. Ich habe vor kurzem meine ext4 Partitionen verloren , aber ich bin immer noch kämpfen mit Paragon ..
nyxee

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.