Mount Ext4 na El Capitan

47

Niedawno zainstalowałem OS X 10.11 na komputerze Mac.

Próbowałem odczytać kartę SD z partycją Ext4, której nawet nie pokazano Disk Utility, chociaż pokazałem diskutilją jako partycję Linuksa.

Nie mogę zainstalować partycji ( mountwydaje się, że polecenie uległo zmianie, ale nie zbadałem tego w pełni).

Miałem FUSE for OS Xzainstalowany i zaktualizowany do 2.8.1. Też tak zrobiłem fuse-ext2, ale mimo że zostało to pokazane w Preferencjach, pokazuje „Nie zainstalowano”. Próbowałem ponownie zainstalować z witryny sourceforge, ale wystąpił następujący błąd: -

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

Ma dowolne rozwiązanie pozwalające na zamontowanie partycji Ext4.

Milliways
źródło
Hej, zastanawiam się, czy znalazłeś rozwiązanie tego problemu?
dhruvvyas90
@ dastaan ​​Obejrzałem swoje oryginalne zadanie, montując je na maszynie Linix. Zainstalowałem także Linix OS (Ubuntu MATE) na maszynie wirtualnej i mogę zamontować Ext4 za pomocą czytnika kart USB (nie można uzyskać dostępu do wewnętrznego czytnika). Żadne z nich nie jest całkowicie zadowalające; Nie jestem zdecydowany, czy wyłączyć SIP. Nie rozumiem, dlaczego Apple chce mnie zatrzymać przy użyciu mojego komputera lub dlaczego uparcie odmawia wbudowania obsługi Ext4 (podobnie jak w NTFS od lat) - przynajmniej jest to open source. Nadal mam nadzieję, że ktoś zbuduje obsługę Ext4 współpracującą z SIP.
Milliways,
Dziękuję za szybką odpowiedź. Pozwól mi to zrobić swoją metodą, przynajmniej na razie. Przy okazji próbowałem wyłączyć tryb SIP, aby zobaczyć, czy to działa. Ale nie mogłem tego uruchomić.
dhruvvyas90
powiązane: apple.stackexchange.com/questions/29842/...
Ciro Santilli 事件 改造 中心 法轮功 六四 事件

Odpowiedzi:

44

Spróbuj użyć ext4fuse.

ext4fuse Jest to implementacja ext4 tylko do odczytu dla FUSE. Głównym powodem tego jest możliwość odczytu partycji linuxowych z OSX. Powinien jednak działać niezależnie od implementacji FUSE.

Podstawy używania, gdzie Ni Mw /dev/diskNsMto numery dysków i partycji (takie jak 7a 1) Twojego ext4 ( „Linux”) danych. Te odpowiednie numery dla twojego komputera znajdziesz w Narzędziu dyskowym OS X.

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

W systemie macOS Sierra -o allow_otherwymagana jest opcja , ponieważ:

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

Zainstaluj oba ext4fusei osxfuseużywając Homebrew .

brew cask install osxfuse
brew install ext4fuse

Zgodnie z docs , można również dodać <your user>do operatorgrupy. Tutaj za pomocą whoamiznaleźć swoją aktualną nazwę użytkownika.

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

Zobacz także poprawkę dotyczącą problemów z kliknięciem „zezwól” dla komunikatu „Zablokowane rozszerzenie systemu”osxfuse oraz osxfusedokumentację dotyczącą opcji montowania, takich jak allow_otheri defer_permissions.

Joel Purra
źródło
5
Dzięki za tę odpowiedź! Bardzo przydatne. Musiałem użyć sudo ext4fuse /dev/diskNsM ~tmp/my-linux-mount -o allow_otherdo zamontowania go, zanim mogłem go otworzyć z moim użytkownikiem ... Nie mogłem otworzyć dysku bez sudow moim systemie
Sean W.
2
Szybka uwaga tutaj: „cytowanie” ~/w poleceniu using zshspowoduje utworzenie \~folderu zamiast korzystania z katalogu domowego. Zastanów się nad usunięciem ofert lub użyj $HOMEzamiast tego. Potwierdzam, że działa bezbłędnie na MacOS Sierra 10.12.3 :)
GabLeRoux
1
@GabLeRoux: całkiem dobrze! Wiedząc, ile copypasta dzieje się na superużytkowniku, zachowałem cytaty, ale zmieniłem na $HOME. Dzięki!
Joel Purra,
Nie wydaje się, aby działało to poprawnie, jak wskazują niektóre zgłoszenia błędów: github.com/gerard/ext4fuse/issues/44
slhck
1
@JanM: z pliku ext4fuseReadme : „Jeśli używasz OS XI, sugeruję poleganie na projekcie homebrew”.
Joel Purra
9

Nie używaj Paragon ExtFS dla OSX z El Capitan. Port jest bardzo eksperymentalny, mimo że Paragon twierdzi, że obsługuje El Capitan.

Dwukrotnie uszkodziłem system plików ext4 o pojemności 1,5 TB poza nieodwracalnymi limitami, używając dwóch niezależnych instalacji EL Capitan (10.11.3) na MacBooku Pro i MacBooku Air. fsck -y /dev/sda(x)na polu linuksowym po zakończeniu przesyłania plików zgłasza roszczenia do setek tysięcy bloków o wielu roszczeniach z kilkoma plikami i katalogami - fileytem zniknął!

ExtFs nie jest również zaimplementowany w DiskUtilty w Ela Capitan, więc nie można sprawdzić integralności systemu plików ani formatu w ext2 / 3/4 ...

Paragon Guys, proszę pilnie naprawić swoje oprogramowanie! Twoje roszczenie dotyczące El Capitan jest bardzo mylące!

Podsumowując, zrzuć Paragon ExtFS z OSX 10.11.x i nie marnuj swoich 20 USD lub wróć do Yosemite lub wcześniejszych OSX. Alternatywnie umieść Linux Box w sieci GB i skopiuj przez SMB. To jest bezpieczniejsze....

Schnorch
źródło
To brzmi jak horror! Czy miałeś jakieś późniejsze kontakty z ExtFS firmy Paragon, ponieważ spowodowałoby to aktualizację tego doświadczenia, czy unikałeś go od tego czasu? Rozważałem to jako opcję, ale daje mi to uzasadnione obawy, aby przeczytać więcej przed zrobieniem tego.
TCAllen07
Ostatnio miałem podobny horror, ale na szczęście udało mi się odzyskać moje pliki (tylko przy użyciu narzędzi systemu Windows).
nyxee
4
Choć może to być okropne, nie jest to odpowiedź na pytanie, jak odczytać partycję ext4 na komputerze Mac.
Aleks G
5

Zrobiłem rozwidlenie fuse-ext2, który instaluje wszystko w / Library i / usr / local, abyś nie musiał wyłączać SIP w Mac OS X El Capitan. Cieszę się, jeśli spróbujesz ;-).

gpz500
źródło
Wyglądało interesująco, dopóki nie dotarłem do kroku Homebrew. Czy ktoś może stworzyć pakiet instalowalny?
Milliways,
1
Homebrew jest potrzebny tylko w przypadku pakietu e2fsprogs (polecenia utworzenia nowego systemu plików ext, sprawdzenia systemu plików ext itp.). fuse-ext2 używa tylko polecenia e2label z efsprogs, aby uzyskać etykietę woluminu ext. Myślę, że jest to konieczne do automatycznego montażu przy wkładaniu urządzeń (pamięci USB, zewnętrzne dyski twarde, karty SD). Jeśli nie masz nic przeciwko ręcznemu montowaniu i nie musisz tworzyć nowych systemów plików ext ani sprawdzać istniejących systemów plików, możesz pominąć instalację Homebrew i e2fsprogs.
gpz500
A jeśli masz już instalację e2fsprogs (z MacPorts, Fink lub skompilowanych ze źródeł), możesz edytować plik /Library/Filesystems/fuse-ext2.fs/fuse-ext2.util, aby użyć instalacji e2fsprogs.
gpz500
w pewnym momencie, podczas odprawy moich didsks, zostałem poproszony o zainstalowanie nowszej wersji e2fsck, więc myślę, że nawet ci ze starszymi instalacjami e2fsprogs powinni zaktualizować.
nyxee
5

Po odwiedzeniu tej strony z tym problemem działało to dla mnie:

brew cask install osxfuse
brew install ext4fuse

Teraz musisz znaleźć swój system plików Linux, więc

diskutil list 

Dla mnie tak było

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

Następnie po komentarzu @Sean W.

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

I powinien być teraz zamontowany.

Nic Scozzaro
źródło
3
To rozwiązanie działa, właśnie wypróbowałem je na moim komputerze Mac z zewnętrznym dyskiem EXT4 sformatowanym przez Synology NAS. Dobrze zamontowane. Dzięki @Nicolas
James Wong,
2
MacOS 10.13.3 blokuje działanie ext4fuse. Musiałem przejść do ustawień zabezpieczeń i zezwolić na uruchomienie oprogramowania od dewelopera „Benjamina Fleischera”. Podejmij decyzję, czy jest to bezpieczne działanie.
Guy C
czy to rozwiązanie montuje je tylko do odczytu, czy jest zapisywalne?
knocte
1
To rozwiązanie jest tylko do odczytu.
Diogo Cardoso
1
Działa to świetnie dla mnie na macOS Mojave! Pomaga to diskutil listtuż przed podłączeniem dysku, a następnie diskutil listponownie porównać dane wyjściowe i zobaczyć, który dysk został dodany.
cgenco
3

Ostrzeżenie: po napotkaniu niektórych z tych samych problemów opisanych w odpowiedzi Schnorcha nie mogę dłużej polecać tego programu! Oryginalna odpowiedź pozostawiona poniżej dla potomności ...


Opcją komercyjną (20 USD) jest Paragon ExtFS dla OS X , który obsługuje montowanie odczytu / zapisu w ext2 / 3/4. Używam go teraz w El Capitan.

Ma kilka niedogodności, takich jak pozornie nie zwracanie uwagi na opcje montowania określone w fstab ... Ale ogólnie wydaje się, że dobrze działa.

Tomek
źródło
Gdzie jest fstab na OSX? Używam OSX 10.12. Mogę teraz uzyskać dostęp tylko do ext4 w trybie tylko do odczytu. Niedawno straciłem partycje ext4, ale wciąż walczę z
Paragonem
3
Po prostu przenieś się do Linuksa ...
niebezpieczeństwo89