Гора Ext4 на Эль-Капитан


47

Я недавно установил OS X 10.11 на мой Mac.

Я попытался прочитать SD-карту с разделом Ext4, который даже не отображался Disk Utility, хотя diskutilпоказывал его как раздел Linux.

Кажется, я не могу смонтировать раздел ( mountпохоже, команда изменилась, но я не исследовал это полностью).

Я FUSE for OS Xустановил и обновил до 2.8.1. У меня тоже было fuse-ext2, но хотя это было показано в настройках, оно показывает «Не установлено». Я попытался переустановить с сайта sourceforge, но получил следующую ошибку: -

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

У кого-нибудь есть решение, позволяющее монтировать разделы Ext4.


Эй, просто интересно, нашли ли вы решение этой проблемы?
dhruvvyas90

@dastaan ​​Я обошел свою первоначальную задачу, установив ее на машину Linix. Я также установил ОС Linix (Ubuntu MATE) на виртуальную машину и могу подключить Ext4 с помощью устройства чтения карт USB (кажется, что к внутреннему устройству чтения нет доступа). Ни один из них не является полностью удовлетворительным; Я не решил, следует ли отключить SIP. Я не понимаю , почему Apple , хочет , чтобы остановить меня , используя мою машину, или почему она упорно отказывается строить в поддержку Ext4 (как это было в NTFS в течение многих лет) - по крайней мере , это с открытым исходным кодом. Я все еще надеюсь, что кто-то создаст поддержку Ext4, которая работает с SIP.
Милливэйс

Спасибо за быстрый ответ. Дай мне сделать это по твоему методу, по крайней мере сейчас. Кстати, я попытался отключить режим SIP, чтобы посмотреть, работает ли он. Но не мог заставить это работать.
dhruvvyas90

Ответы:


44

Попробуйте использовать ext4fuse.

ext4fuse Это реализация ext4 только для чтения для FUSE. Основная причина, по которой это существует, - возможность читать разделы linux из OSX. Тем не менее, он должен работать поверх любой реализации FUSE.

Базовое использование, где Nи Mв /dev/diskNsM- это номера дисков и разделов (например, 7и 1) ваших данных Ext4 («Linux»). Вы можете найти эти соответствующие номера для вашего компьютера в OS X 'Disk Utility.

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

На MacOS Sierra опция -o allow_otherнеобходима , как в:

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

Установите оба ext4fuseи osxfuseиспользуя Homebrew .

brew cask install osxfuse
brew install ext4fuse

Согласно документам , вам, возможно, придется добавить <your user>в operatorгруппу. Здесь используется, whoamiчтобы найти ваше текущее имя пользователя.

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

См. Также исправление проблем, связанных с нажатием кнопки «разрешить» для сообщения «Расширение системы заблокировано»osxfuse , и osxfuseдокументов для параметров монтирования, таких как allow_otherи defer_permissions.


5
Спасибо за этот ответ! Очень полезный. Мне пришлось использовать его, sudo ext4fuse /dev/diskNsM ~tmp/my-linux-mount -o allow_otherчтобы смонтировать, прежде чем я смог открыть его с моим пользователем ... Не смог открыть диск без sudoв моей системе
Шон У.

2
Краткое замечание: «цитирование» ~/в команде с помощью команды zshфактически создаст \~папку, а не домашний каталог. Попробуйте удалить кавычки или использовать $HOMEвместо этого. Я подтверждаю, что это работает безупречно на MacOS Sierra 10.12.3 :)
GabLeRoux

1
@GabLeRoux: совершенно верно! Зная, сколько копипаст происходит в суперпользователе, я сохранил цитаты, но изменил на $HOME. Благодарность!
Джоэл Пурра

Похоже, что это не работает должным образом, о чем свидетельствуют некоторые сообщения об ошибках: github.com/gerard/ext4fuse/issues/44
slhck

1
@JanM: из ext4fusereadme : «Если вы используете OS XI, предлагаю вам положиться на доморощенный проект».
Джоэл Пурра

9

Не используйте Paragon ExtFS для OSX с El Capitan. Порт очень экспериментальный, несмотря на то, что Paragon заявляет о поддержке El Capitan.

Я дважды повредил файловую систему ext4 объемом 1,5 ТБ за непоправимые пределы, используя две независимые установки EL Capitan (10.11.3) на MacBook Pro и MacBook Air. fsck -y /dev/sda(x)на коробке linux после завершения передачи файлов требуются сотни тысяч многократно запрошенных блоков с несколькими файлами и каталогами - файловый элемент пропал!

ExtFs также не реализован в DiskUtilty в Ela Capitan, поэтому вы не можете ни проверить целостность вашей файловой системы, ни форматировать в ext2 / 3/4 ...

Paragon Ребята, пожалуйста, исправьте ваше программное обеспечение срочно! Ваше заявление в поддержку El Capitan вводит в заблуждение!

В Резюме дамп Paragon ExtFS с OSX 10.11.x и не тратьте свои 20 долларов или вернитесь к Yosemite или более ранним OSX. Или же поместите Linux Box в свою сеть GB и скопируйте через SMB. Это безопаснее ....


Это читается как ужасная история! Были ли у вас какие-либо последующие отношения с ExtFS от Paragon с тех пор, как это обновит этот опыт, или вы с тех пор избегали его использования? Я рассматривал это как вариант, но это дает мне законные основания читать больше, прежде чем сделать это.
TCAllen07

У меня недавно был похожий ужас, но, к счастью, я смог восстановить свои файлы (только с помощью инструментов Windows).
nyxee

4
Как бы ужасно это ни было, это не ответ на вопрос о том, как читать раздел ext4 на Mac.
Алекс Г


5

Я сделал форк из fuse-ext2, который устанавливает все в / Library и / usr / local, чтобы вам не приходилось отключать SIP в Mac OS X El Capitan. Рад, если вы попробуете это ;-).


Выглядело интересно, пока я не дошел до шага Homebrew. Возможно ли, чтобы кто-то сделал установочный пакет?
Milliways

1
Homebrew необходим только для пакета e2fsprogs (команды для создания новой файловой системы ext, проверки файловой системы ext и т. Д.). fuse-ext2 использует только команду e2label из efsprogs, чтобы получить метку тома ext. Я думаю, что это необходимо для автоматического монтирования при вставке устройств (карты памяти USB, внешние жесткие диски, SD-карты). Если у вас все в порядке с ручным монтированием, и вам не нужно создавать новые файловые системы ext или проверять существующие файловые системы, вы можете пропустить установку Homebrew и e2fsprogs.
gpz500

И, если у вас уже установлена ​​система e2fsprogs (из MacPorts, из Fink или из скомпилированных источников), вы можете отредактировать файл /Library/Filesystems/fuse-ext2.fs/fuse-ext2.util, чтобы использовать установку e2fsprogs.
gpz500

в какой-то момент, когда я проверял свои didsks, меня попросили установить более новую версию e2fsck, так что я думаю, что даже те, у кого более старые установки e2fsprogs, советуют обновиться.
nyxee

5

После посещения этой страницы с этим вопросом, вот что сработало для меня:

brew cask install osxfuse
brew install ext4fuse

Теперь вам нужно найти вашу файловую систему Linux, поэтому

diskutil list 

Для меня это было

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

Затем, следуя комментарию @Sean W.,

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

И это теперь должно быть установлено.


3
Это решение работает, только что попробовал его на моем Mac с внешним диском EXT4, отформатированным Synology NAS. Монтируется нормально. Спасибо @Nicolas
Джеймс Вонг

2
MacOS 10.13.3 блокирует запуск ext4fuse. Мне нужно было перейти к настройкам безопасности и разрешить запуск программного обеспечения от разработчика «Бенджамина Флейшера». Пожалуйста, примите собственное решение о том, является ли это безопасным действием.
Парень C

это решение монтирует его только для чтения или оно доступно для записи?
knocte

1
Это решение доступно только для чтения.
Диого Кардосо

1
Это отлично сработало для меня на MacOS Mojave! Это помогает diskutil listсразу перед подключением вашего диска, затем diskutil listснова сравнить выход и посмотреть, какой диск был добавлен.
Cgenco

3

Предупреждение: испытав некоторые из тех же проблем, которые описаны в ответе Шнорча, я больше не могу рекомендовать эту программу! Оригинальный ответ оставлен ниже для потомков ...


Коммерческая опция ($ 20) - это Paragon ExtFS для OS X , которая поддерживает монтирование чтения / записи в ext2 / 3/4. Я использую это сейчас в El Capitan.

У него есть несколько неприятных моментов, например, то, что он не обращает внимания на параметры монтирования, указанные в fstab ... Но в целом, похоже, отлично работает.


Где находится fstab на OSX? Я использую OSX 10.12. Теперь я могу получить доступ только к ext4 в режиме только для чтения. Я недавно потерял свои разделы ext4, но я все еще борюсь с Paragon ..
nyxee

3
Просто перейдите на Linux ...
danger89
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.