Byłoby bardziej niż pomocne, gdybyś określił, którą wersję OS X używasz. Występują problemy ze zgodnością dostępnych rozwiązań w zależności od wersji systemu operacyjnego.
kopischke
Odpowiedzi:
60
Odpowiedź zależy od chęci inwestowania w oprogramowanie komercyjne:
Jeśli nie masz nic przeciwko wydaniu pieniędzy na produkt komercyjny , extFS firmy Paragon dla komputerów Mac zapewni ci dostęp do odczytu i zapisu w systemach plików ext2 / ext3 / ext4. Obecna wersja obsługuje wszystkie wersje OS X / macOS od 10.10 wzwyż.
Jeśli szukasz darmowego rozwiązania , możesz skonfigurować maszynę wirtualną z systemem Linux, zamontować tam swoje woluminy i udostępnić je za pośrednictwem Samby lub FTP (S). W tym poście podano szczegółowe informacje na temat tego, jak to osiągnąć za pomocą VirtualBox , bezpłatnej aplikacji do obsługi maszyn wirtualnych. Zauważ, że nie jest to do końca lekkie rozwiązanie, nawet jeśli korzystanie z gotowej maszyny wirtualnej VirtualBox oszczędza ci instalowania i konfigurowania dystrybucji Linux od zera.
osboxes.org zapewnia nowsze wersje vs virtualboxes.org.
Tim
36
Opierając się na odpowiedzi Kena: z powodzeniem użyłem fuse4x i fuse-ext2 i zalecam fuse-ext2 zamiast ext4fuse.
ext4fuse było dla mnie kłopotem, ponieważ wymaga ręcznej kompilacji i nie obsługuje opcji fuse4x, które pozwoliłyby mi ustawić kontrolę dostępu. fuse-ext2 zapewnia pakiety do pobrania, a wersja 0.0.7 działała dobrze. Skopiowałem kilka dużych ISO bez problemu.
czy fuse-ext2 może montować rzeczy jako zapisywalne lub tylko do odczytu?
knocte
25
Można również zainstalować OSXFUSE całkowicie poprzez parzenie kierownika wiersz poleceń pakietu:
brew install homebrew/fuse/ext4fuse
Zauważ, że instalacja informuje, że niektóre polecenia muszą być uruchamiane jako „sudo”.
Z Yosemite lepiej spojrzeć na to . A następnie upewnij się, że katalog jest czytelny przez użytkownika przez robi to . Aby zadziałało, musiałem użyć grupy kół w następujący sposób:
W przypadku ostatnich zmian w homebrew powinno to być tak proste, jak:
brew cask install osxfuse
brew install ext4fuse
Może być konieczne ponowne uruchomienie komputera.
ext4fuse jest niestety tylko do odczytu. I może być konieczne użycie flagi , aby działała jak zwykły użytkownik.
Inni oglądający to pytanie mogą być zainteresowani libguestfs . Nie znam portu OS X, ale biorąc pod uwagę, że VirtualBox ma interfejs API, nie jest wykluczone.
Zastanawiam się, dlaczego nikt nie napisał warstwy zgodności, która pozwala na uruchamianie kodu systemu plików jądra Linux w przestrzeni użytkownika / bezpieczniku. A może ktoś?
Jeśli zastanawiasz się, co to wiersz poleceń, aby zamontować partycję ext4 za pomocą fuse i ext2fuse (np. W przypadku instalacji za pomocą MacPorts port install ext2fuse) - najpierw musisz ustalić, gdzie jest partycja Linux:
diskutil list
Spowoduje to wyświetlenie listy wszystkich partycji dla wszystkich dysków, a wśród nich powinieneś zobaczyć odpowiednie wymienione na liście w kolumnie TYPE jako Linux. Połącz diskX i numer partycji Y tak jak to / dev / diskXsY - np .:
mount -t fuse-ext2 /dev/disk1s2 ~/my_mount_point
Może narzekać, że nie może zapisać do pliku dziennika, ale nadal powinien zamontować partycję w twoim domowym punkcie montowania. Ale jeśli chcesz zamontować partycję w katalogu systemowym, musisz uruchomić ją jako root, np .:
sudo mount -t fuse-ext2 /dev/disk1s2 /sys_mount_point
Jeśli to nie działa spróbuj:
sudo ext2fuse /dev/disk1s2 /sys_mount_point
Aktualizacja : Niedawno odkryłem, że fuse-ext2 ma problemy z niektórymi nowszymi funkcjami ext4, więc zamiast tego lepiej jest użyć ext4fuse ( port install ext4fuselub brew install ext4fuse). Użyj bezpośrednio polecenia ext4fuse:
ext4fuse /dev/disk1s2 ~/mount_point
Również, jak wspomniał Timothy w komentarzach, zwykle potrzebujesz tylko, sudojeśli montujesz poza katalogiem domowym lub dysk (/ dev / diskX) jest dostępny tylko przez root:
sudo ext4fuse /dev/disk1s2 /sys_mount_point
Należy zauważyć, że dostęp do zamontowanego systemu plików można uzyskać tylko jako root / sudo. na przykład
sudo ls /sys_mount_point
Aby odmontować system plików, wystarczy użyć zwykłego umountpolecenia (z sudo, jeśli jest używany do zamontowania partycji):
Aby uzyskać dostęp do dysku jako root, wystarczy zamontować go poza katalogiem domowym. Można cd ~, mkdir mnt, ext4fuse /dev/diskXsY mnt, ls -la mntbez sudo / root.
Timothy Zorn
mount: exec /Library/Filesystems/fuse-ext2.fs/Contents/Resources/mount_fuse-ext2 for ...: Brak takiego pliku lub katalogu
Wolfgang Fahl
9
Dla przypomnienia przetestowałem sterownik Paragon ExtFS (wersja próbna) na moim MacBooku Pro do zapisu na partycji ext4 w systemie Linux. Odkryłem, że sterownik był bardzo niestabilny i spowodował uszkodzenie systemu plików, fsckktórego nie można naprawić ani w systemie Linux, ani w Narzędziu dyskowym.
Moim pomysłem było mieć dostęp do mojej /homepartycji z Mac OS X za pomocą tego sterownika Paragon, ale nie sugeruję, aby wykonać tę konfigurację. Do tej pory mam /homepartycję w Linuksie sformatowaną hfsplusbez dzienników, a następnie mogę uzyskać dostęp do moich plików z Mac OS X. Oczywiście od czasu do czasu mam problemy z FS, ale nie jest to zbyt częste. Jednak nie sugeruję tego ustawienia (przynajmniej, że masz aktualną kopię zapasową do codziennej pracy).
Wreszcie uważam, że Paragon jest bardziej odpowiedni do użytku na zewnętrznych dyskach twardych, ale w każdym razie nie jest zbyt niezawodny, jeśli chodzi o oprogramowanie, którego licencja jest droga.
Aktualizacja: Od maja 2015 roku sformatowałem mój / home do ext4 i podłączam system plików za pomocą fuse-ext2 w połączeniu z FUSE dla OS X. Mogę uzyskać dostęp do partycji ext4 w celu odczytu i zapisu. Jest to bardziej solidna konfiguracja niż ta, którą wcześniej opisałem powyżej.
Mogę potwierdzić ostatni wpis tutaj, w którym sterownik Extagon Paragon może powodować poważne problemy na dyskach linuksowych. Dla mnie, który jest podwójnym uruchomieniem OSX i Linuksa, Paragon spowodował uszkodzenia na moim / urządzeniu. To było łatwe do rozwiązania, ale nie jest to stabilne rozwiązanie ...
Dalsze złe doświadczenia ze sterownikiem Extagon Paragon. Konsekwentna panika jądra prowadząca do restartu systemu, uszkodzenie systemu plików (na szczęście działało fsck na Linux-ie). Wypróbowałem na dwóch różnych dyskach zewnętrznych z tymi samymi wynikami.
9
Możesz szybko uruchomić Linux VM na OS X za pomocą Vagrant . Musisz zainstalować dostawcę VM, takiego jak VirtualBox i Vagrant, albo poprzez plik .dmg z witryny, albo za pomocą zaparzacza .
Po vagrantzainstalowaniu polecenia uruchom to w dowolnym wybranym folderze:
vagrant init ubuntu/trusty64; vagrant up --provider virtualbox
Spowoduje to wygenerowanie Vagrantfilepliku konfiguracyjnego i .vagrantfolderu.
w ciągu kilku minut uruchomisz system Linux (pobrany z repozytorium Atlas Hashicorp ).
Następnie podłącz do skrzynki za pomocą polecenia: vagrant sshi spróbuj zamontować urządzenie w systemie Linux.
Domyślnie bieżący folder zostanie zsynchronizowany z /vagrantfolderem na maszynie wirtualnej. Aby uzyskać bardziej zaawansowane opcje, możesz zmodyfikować Vagrantfilewymaganą konfigurację.
Więc jeśli podłączysz swój system plików w /vagrantfolderze, zostanie on automatycznie zsynchronizowany z powrotem z systemem macOS.
Alternatywnie wystarczy zainstalować VirtualBox , uruchomić aplikację GUI, zainstalować i uruchomić minimalną wersję systemu Linux, np. Ubuntu , aby osiągnąć to samo, co wyjaśniono powyżej.
Powyższe nienatywne rozwiązanie nie jest idealne, ale przynajmniej twój macOS byłby bardziej stabilny niż instalowanie niestabilnych rozszerzeń jądra, które mogą powodować wiele awarii systemu.
Uruchomiony z, vagrant init ubuntu/xenial64; vagrant up --provider virtualboxponieważ ubuntu/vivid64nie jest już dostępny.
Fredrik Erlandsson
Spróbuj użyć ubuntu/trusty64zamiast tego.
kenorb
8
Miałem dysk USB sformatowany w systemie ext4, który mogłem zamontować po zainstalowaniu osxfuse . Czytanie z niego działa świetnie, ale nie jestem pewien, czy pisanie jest bezpieczne.
Ponadto, w celu przeniesienia plików z systemu plików OS X ( HFS + ) na ext4, możesz najpierw chcieć usunąć te ukryte pliki .DS_Store, w które wkrada się system plików OS X, ponieważ czasami powodują złe i- węzły .
find /my/data/to/move -name '*.DS_Store' -type f -delete
Jest to lepsze niż konieczność ich naprawy za pomocą polecenia fsck .
Wydaje się, że ext4fuse dla Sierra i High Sierra działa dobrze tylko w przypadku dostępu do odczytu i dlatego można go prawdopodobnie uznać za preferowaną opcję. Podczas gdy inne odpowiedzi już zawierają przykłady użycia, powtórzę to jeszcze raz z kilkoma ważnymi szczegółami:
Możesz zamontować jako zwykły użytkownik, ale w takim przypadku będziesz mieć dostęp tylko do plików czytelnych dla całego świata, dlatego do pełnego dostępu musisz użyć sudo, np .:
sudo ext4fuse -o allow_other /dev/disk2s1
Oto skrypt bash, który częściowo automatyzuje proces. Po uruchomieniu automatycznie utworzy punkt montowania po pojawieniu się monitu o wprowadzenie jednego z wyświetlanych identyfikatorów urządzenia, takich jak disk2s1:
diskutil list
read -p "Please type the EXT4 device identifier: " disk_id
MOUNT_POINT=~/mnt/$disk_id
mkdir -p ${MOUNT_POINT}
sudo ext4fuse -o allow_other /dev/$disk_id ${MOUNT_POINT}
echo "***TO UNMOUNT USE***: 'diskutil umount ${MOUNT_POINT}'"
open ${MOUNT_POINT}
Aby odmontować, możesz użyć np. diskutil umount /dev/disk2s1- jeśli pojawi się komunikat, że odmontowanie się nie powiodło, możesz wymusić odmontowanie diskutil umount force /dev/disk2s1, chociaż byłoby lepiej zamknąć aplikacje korzystające z plików na dysku i ponowić próbę odmontowania bez force.
Jeśli akurat posiadasz pliki _lpoperator(najwyraźniej są one tworzone, gdy używasz rsync z opcją zachowania grupy), następujące polecenie pozwoli ci uzyskać dostęp do tych plików:
/usr/sbin/dseditgroup -o edit -a everyone -t group _lpoperator
Oryginalna odpowiedź dla Yosemite i starszych (przestarzała)
Aby włączyć obsługę EXT2 / 3/4 w OSX, potrzebne są dwa pakiety: OSXFUSE i FUSE-EXT2 .
W homebrew formuły OSXFUSE i bezpiecznik-EXT2 nie działa dla mnie po obu Mavericks lub Yosemite.
To, co zadziałało, było następujące:
Pobierz i zainstaluj OSXFUSE DMG ręcznie ze strony http://osxfuse.github.io/ . WAŻNE : Po uruchomieniu instalatora PKG, upewnij się, że wybrałeś warstwę kreatora MacFUSE Compatibility Layer w kreatorze (domyślnie nie jest włączona) - bez niego podczas próby montowania pojawiał się błąd.
Po zainstalowaniu zarówno OSXFUSE, jak i FUSE-EXT2 możesz zamontować partycje ext2 / ext3 / ext4, jak wspomniano w innych odpowiedziach:
Znajdź nazwę urządzenia dla partycji EXT, którą chcesz zamontować (np. disk0s2W poniższym przykładzie (UPDATE) w późniejszych wersjach MacOS partycje ext3 / ext4 mogą być oznaczone jako Microsoft Basic Data, a nie Linux ):
# diskutil list | grep Linux
1: Linux_Swap 8.2 GB disk0s1
2: Linux 119.9 GB disk0s2
Zamontuj partycję do istniejącego punktu montowania:
sudo mkdir -p /Volumes/ext4
sudo mount -t fuse-ext2 /dev/disk0s2 /Volumes/ext4
Montowanie jako zwykły użytkownik nie działało dla mnie. Prawdopodobnie można to naprawić, bawiąc się uprawnieniami, ale nie zajrzałem do tego.
Uwaga: Podejrzewam, że formuły homebrew nie działały, ponieważ homebrew instaluje się osxfusebez warstwy zgodności MacFUSE .
Obie wersje nie mogą zamontować partycji EXT. Najprawdopodobniej wersja DMG ( Caskroom/cask/osxfuse) zawiedzie, ponieważ homebrew instaluje pakiet z ustawieniami domyślnymi, co oznacza, że nie uwzględniono warstwy zgodności MacFUSE . Główna osxfusewersja prawdopodobnie potrzebuje specjalnego parametru instalacyjnego, aby włączyć kompatybilność z MacFUSE, więc dopóki nie zostanie to naprawione w homebrew, należy użyć ręcznej metody DMG.
Ta metoda działała na mnie w przypadku indywidualistów, yosemite, elcapitan i sierra.
Skrypt montowania EXT2 / 3/4 dla starszych wersji OSX (przestarzałe)
Aby zaoszczędzić trochę pisania, używam małego skryptu, który pobiera nazwę partycji, taką jak disk0s2i montuje pod nią /Volumes/disk0s2, tworząc folder, jeśli to konieczne:
### mount_ext4.sh
sudo mkdir -p "/Volumes/$1"
sudo mount -t fuse-ext2 "/dev/$1""/Volumes/$1"
open "/Volumes/$1"
Skrypt jest wywoływany z nazwą partycji, za pomocą której przeglądasz diskutil list, np mount_ext4.sh disk2s3.
Próbowałem tego, ale niestety otrzymaliśmy błąd FUSE-EXT2 could not mount /dev/disk2s2 at /Volumes/ext4 because the following problem occurred:(ale nie ma opisu problemu ani odniesienia). Zainstalowałem dodatek Compability Layer. Korzystam z systemu macOS Sierra, więc wypróbowałem wersję Github gzp500.
Winterflags
6
Istnieją również e2fsprogs dostępne w MacPorts. Nie testowałem tego jeszcze sam, ale wygląda obiecująco.
Odpowiedzi:
Odpowiedź zależy od chęci inwestowania w oprogramowanie komercyjne:
Jeśli nie masz nic przeciwko wydaniu pieniędzy na produkt komercyjny , extFS firmy Paragon dla komputerów Mac zapewni ci dostęp do odczytu i zapisu w systemach plików ext2 / ext3 / ext4. Obecna wersja obsługuje wszystkie wersje OS X / macOS od 10.10 wzwyż.
Jeśli szukasz darmowego rozwiązania , możesz skonfigurować maszynę wirtualną z systemem Linux, zamontować tam swoje woluminy i udostępnić je za pośrednictwem Samby lub FTP (S). W tym poście podano szczegółowe informacje na temat tego, jak to osiągnąć za pomocą VirtualBox , bezpłatnej aplikacji do obsługi maszyn wirtualnych. Zauważ, że nie jest to do końca lekkie rozwiązanie, nawet jeśli korzystanie z gotowej maszyny wirtualnej VirtualBox oszczędza ci instalowania i konfigurowania dystrybucji Linux od zera.
źródło
Opierając się na odpowiedzi Kena: z powodzeniem użyłem fuse4x i fuse-ext2 i zalecam fuse-ext2 zamiast ext4fuse.
ext4fuse było dla mnie kłopotem, ponieważ wymaga ręcznej kompilacji i nie obsługuje opcji fuse4x, które pozwoliłyby mi ustawić kontrolę dostępu. fuse-ext2 zapewnia pakiety do pobrania, a wersja 0.0.7 działała dobrze. Skopiowałem kilka dużych ISO bez problemu.
źródło
Można również zainstalować OSXFUSE całkowicie poprzez parzenie kierownika wiersz poleceń pakietu:
Zauważ, że instalacja informuje, że niektóre polecenia muszą być uruchamiane jako „sudo”.
Z Yosemite lepiej spojrzeć na to . A następnie upewnij się, że katalog jest czytelny przez użytkownika przez robi to . Aby zadziałało, musiałem użyć grupy kół w następujący sposób:
źródło
W przypadku ostatnich zmian w homebrew powinno to być tak proste, jak:
Może być konieczne ponowne uruchomienie komputera.
ext4fuse jest niestety tylko do odczytu. I może być konieczne użycie flagi , aby działała jak zwykły użytkownik.
Inni oglądający to pytanie mogą być zainteresowani libguestfs . Nie znam portu OS X, ale biorąc pod uwagę, że VirtualBox ma interfejs API, nie jest wykluczone.
Zastanawiam się, dlaczego nikt nie napisał warstwy zgodności, która pozwala na uruchamianie kodu systemu plików jądra Linux w przestrzeni użytkownika / bezpieczniku. A może ktoś?
źródło
Jeśli zastanawiasz się, co to wiersz poleceń, aby zamontować partycję ext4 za pomocą fuse i ext2fuse (np. W przypadku instalacji za pomocą MacPorts
port install ext2fuse
) - najpierw musisz ustalić, gdzie jest partycja Linux:Spowoduje to wyświetlenie listy wszystkich partycji dla wszystkich dysków, a wśród nich powinieneś zobaczyć odpowiednie wymienione na liście w kolumnie TYPE jako Linux. Połącz diskX i numer partycji Y tak jak to / dev / diskXsY - np .:
Może narzekać, że nie może zapisać do pliku dziennika, ale nadal powinien zamontować partycję w twoim domowym punkcie montowania. Ale jeśli chcesz zamontować partycję w katalogu systemowym, musisz uruchomić ją jako root, np .:
Jeśli to nie działa spróbuj:
Aktualizacja : Niedawno odkryłem, że fuse-ext2 ma problemy z niektórymi nowszymi funkcjami ext4, więc zamiast tego lepiej jest użyć ext4fuse (
port install ext4fuse
lubbrew install ext4fuse
). Użyj bezpośrednio polecenia ext4fuse:Również, jak wspomniał Timothy w komentarzach, zwykle potrzebujesz tylko,
sudo
jeśli montujesz poza katalogiem domowym lub dysk (/ dev / diskX) jest dostępny tylko przez root:Należy zauważyć, że dostęp do zamontowanego systemu plików można uzyskać tylko jako root / sudo. na przykład
Aby odmontować system plików, wystarczy użyć zwykłego
umount
polecenia (z sudo, jeśli jest używany do zamontowania partycji):źródło
cd ~
,mkdir mnt
,ext4fuse /dev/diskXsY mnt
,ls -la mnt
bez sudo / root.Dla przypomnienia przetestowałem sterownik Paragon ExtFS (wersja próbna) na moim MacBooku Pro do zapisu na partycji ext4 w systemie Linux. Odkryłem, że sterownik był bardzo niestabilny i spowodował uszkodzenie systemu plików,
fsck
którego nie można naprawić ani w systemie Linux, ani w Narzędziu dyskowym.Moim pomysłem było mieć dostęp do mojej
/home
partycji z Mac OS X za pomocą tego sterownika Paragon, ale nie sugeruję, aby wykonać tę konfigurację. Do tej pory mam/home
partycję w Linuksie sformatowanąhfsplus
bez dzienników, a następnie mogę uzyskać dostęp do moich plików z Mac OS X. Oczywiście od czasu do czasu mam problemy z FS, ale nie jest to zbyt częste. Jednak nie sugeruję tego ustawienia (przynajmniej, że masz aktualną kopię zapasową do codziennej pracy).Wreszcie uważam, że Paragon jest bardziej odpowiedni do użytku na zewnętrznych dyskach twardych, ale w każdym razie nie jest zbyt niezawodny, jeśli chodzi o oprogramowanie, którego licencja jest droga.
Aktualizacja: Od maja 2015 roku sformatowałem mój / home do ext4 i podłączam system plików za pomocą fuse-ext2 w połączeniu z FUSE dla OS X. Mogę uzyskać dostęp do partycji ext4 w celu odczytu i zapisu. Jest to bardziej solidna konfiguracja niż ta, którą wcześniej opisałem powyżej.
źródło
Możesz szybko uruchomić Linux VM na OS X za pomocą Vagrant . Musisz zainstalować dostawcę VM, takiego jak VirtualBox i Vagrant, albo poprzez plik .dmg z witryny, albo za pomocą zaparzacza .
Po
vagrant
zainstalowaniu polecenia uruchom to w dowolnym wybranym folderze:Spowoduje to wygenerowanie
Vagrantfile
pliku konfiguracyjnego i.vagrant
folderu.w ciągu kilku minut uruchomisz system Linux (pobrany z repozytorium Atlas Hashicorp ).
Następnie podłącz do skrzynki za pomocą polecenia:
vagrant ssh
i spróbuj zamontować urządzenie w systemie Linux.Domyślnie bieżący folder zostanie zsynchronizowany z
/vagrant
folderem na maszynie wirtualnej. Aby uzyskać bardziej zaawansowane opcje, możesz zmodyfikowaćVagrantfile
wymaganą konfigurację.Więc jeśli podłączysz swój system plików w
/vagrant
folderze, zostanie on automatycznie zsynchronizowany z powrotem z systemem macOS.Alternatywnie wystarczy zainstalować VirtualBox , uruchomić aplikację GUI, zainstalować i uruchomić minimalną wersję systemu Linux, np. Ubuntu , aby osiągnąć to samo, co wyjaśniono powyżej.
Powyższe nienatywne rozwiązanie nie jest idealne, ale przynajmniej twój macOS byłby bardziej stabilny niż instalowanie niestabilnych rozszerzeń jądra, które mogą powodować wiele awarii systemu.
źródło
vagrant init ubuntu/xenial64; vagrant up --provider virtualbox
ponieważubuntu/vivid64
nie jest już dostępny.ubuntu/trusty64
zamiast tego.Miałem dysk USB sformatowany w systemie ext4, który mogłem zamontować po zainstalowaniu osxfuse . Czytanie z niego działa świetnie, ale nie jestem pewien, czy pisanie jest bezpieczne.
Ponadto, w celu przeniesienia plików z systemu plików OS X ( HFS + ) na ext4, możesz najpierw chcieć usunąć te ukryte pliki .DS_Store, w które wkrada się system plików OS X, ponieważ czasami powodują złe i- węzły .
Jest to lepsze niż konieczność ich naprawy za pomocą polecenia fsck .
źródło
Zaktualizowana odpowiedź dla (wysokiej) Sierra
Wydaje się, że ext4fuse dla Sierra i High Sierra działa dobrze tylko w przypadku dostępu do odczytu i dlatego można go prawdopodobnie uznać za preferowaną opcję. Podczas gdy inne odpowiedzi już zawierają przykłady użycia, powtórzę to jeszcze raz z kilkoma ważnymi szczegółami:
Zainstaluj ext4fuse z:
Możesz zamontować jako zwykły użytkownik, ale w takim przypadku będziesz mieć dostęp tylko do plików czytelnych dla całego świata, dlatego do pełnego dostępu musisz użyć
sudo
, np .:Oto skrypt bash, który częściowo automatyzuje proces. Po uruchomieniu automatycznie utworzy punkt montowania po pojawieniu się monitu o wprowadzenie jednego z wyświetlanych identyfikatorów urządzenia, takich jak
disk2s1
:Aby odmontować, możesz użyć np.
diskutil umount /dev/disk2s1
- jeśli pojawi się komunikat, że odmontowanie się nie powiodło, możesz wymusić odmontowaniediskutil umount force /dev/disk2s1
, chociaż byłoby lepiej zamknąć aplikacje korzystające z plików na dysku i ponowić próbę odmontowania bezforce
.Jeśli akurat posiadasz pliki
_lpoperator
(najwyraźniej są one tworzone, gdy używasz rsync z opcją zachowania grupy), następujące polecenie pozwoli ci uzyskać dostęp do tych plików:Oryginalna odpowiedź dla Yosemite i starszych (przestarzała)
Aby włączyć obsługę EXT2 / 3/4 w OSX, potrzebne są dwa pakiety: OSXFUSE i FUSE-EXT2 .
W homebrew formuły OSXFUSE i bezpiecznik-EXT2 nie działa dla mnie po obu Mavericks lub Yosemite.
To, co zadziałało, było następujące:
Po zainstalowaniu zarówno OSXFUSE, jak i FUSE-EXT2 możesz zamontować partycje ext2 / ext3 / ext4, jak wspomniano w innych odpowiedziach:
Znajdź nazwę urządzenia dla partycji EXT, którą chcesz zamontować (np.
disk0s2
W poniższym przykładzie (UPDATE) w późniejszych wersjach MacOS partycje ext3 / ext4 mogą być oznaczone jako Microsoft Basic Data, a nie Linux ):# diskutil list | grep Linux 1: Linux_Swap 8.2 GB disk0s1 2: Linux 119.9 GB disk0s2
Zamontuj partycję do istniejącego punktu montowania:
sudo mkdir -p /Volumes/ext4 sudo mount -t fuse-ext2 /dev/disk0s2 /Volumes/ext4
Montowanie jako zwykły użytkownik nie działało dla mnie. Prawdopodobnie można to naprawić, bawiąc się uprawnieniami, ale nie zajrzałem do tego.
Uwaga: Podejrzewam, że formuły homebrew nie działały, ponieważ homebrew instaluje się
osxfuse
bez warstwy zgodności MacFUSE .Istnieją dwa
osxfuse
pakiety w Homebrew:Obie wersje nie mogą zamontować partycji EXT. Najprawdopodobniej wersja DMG (
Caskroom/cask/osxfuse
) zawiedzie, ponieważ homebrew instaluje pakiet z ustawieniami domyślnymi, co oznacza, że nie uwzględniono warstwy zgodności MacFUSE . Głównaosxfuse
wersja prawdopodobnie potrzebuje specjalnego parametru instalacyjnego, aby włączyć kompatybilność z MacFUSE, więc dopóki nie zostanie to naprawione w homebrew, należy użyć ręcznej metody DMG.Ta metoda działała na mnie w przypadku indywidualistów, yosemite, elcapitan i sierra.
Skrypt montowania EXT2 / 3/4 dla starszych wersji OSX (przestarzałe)
Aby zaoszczędzić trochę pisania, używam małego skryptu, który pobiera nazwę partycji, taką jak
disk0s2
i montuje pod nią/Volumes/disk0s2
, tworząc folder, jeśli to konieczne:Skrypt jest wywoływany z nazwą partycji, za pomocą której przeglądasz
diskutil list
, npmount_ext4.sh disk2s3
.źródło
FUSE-EXT2 could not mount /dev/disk2s2 at /Volumes/ext4 because the following problem occurred:
(ale nie ma opisu problemu ani odniesienia). Zainstalowałem dodatek Compability Layer. Korzystam z systemu macOS Sierra, więc wypróbowałem wersję Github gzp500.Istnieją również e2fsprogs dostępne w MacPorts. Nie testowałem tego jeszcze sam, ale wygląda obiecująco.
źródło