Как смонтировать APFS в Linux или Windows?
Есть ли способ монтировать APFS
раздел только для чтения или чтение / запись в Linux или Windows?
6 ответов
На самом деле есть бесплатные инструменты для обеих ОС.
- https://github.com/sgan81/apfs-fuse для Linux
- https://www.paragon-software.com/home/apfs-windows for Windows
Это мои инструменты повседневного использования на моем hackintosh.
Установите libfsapfs-utils (проверено в Ubuntu 20.04)
1. Смонтируйте раздел APFS 3 /dev/sdd в каталог /mnt.
fsapfsmount -f 1 /dev/sdd3 /mnt
где, -f file_system_index (монтирует определенную файловую систему)
2. Отключите раздел APFS, смонтированный в каталоге /mnt
fusermount -u /mnt
Есть специальный
linux-apfs
драйвер, у которого даже есть экспериментальная поддержка записи: https://github.com/linux-apfs
Если вы используете Arch Linux или производную версию, вы можете установить ее из AUR.
Я не проверял это сам, но кажется, что коммерческое решение доступно (в настоящее время только для чтения):
https://backstage.paragon-software.com/business/apfs-linux/
Хотя на странице мало что сказано, даже не цена.
Как смонтировать файловые системы Apple APFS
1. Инструменты FOSS для Linux
Мне удалось заставить работать два действительно хороших инструмента:
на сегодняшний день это лучшее, что я работал, но его текущее ограничение заключается в том, что «Шифрование еще не реализовано, даже в режиме только для чтения». Для моего MacBook Air 2015 года это не имело большого значения, но я думаю, что большинство, если не все современные MacBook, теперь зашифрованы, что может создать проблему. Чтобы установить его в Linux Ubuntu (в том числе на USB-накопитель Ubuntu 22.04), запустите следующий скрипт. Запуск на свежезагруженном USB-накопителе Ubuntu 22.04 занимает пару минут, но это, безусловно, лучше, чем перепечатывать это каждый раз, когда вам это нужно!:
install_linux-apfs-rw.sh:
#!/usr/bin/env bash # Gabriel Staples # 20 May 2023 # Install a linux kernel APFS Apple Filesystem module to allow us # to mount and read Apple AFPS drives. # See my instructions online: # https://github.com/linux-apfs/linux-apfs-rw/issues/42#issuecomment-1556103266 install_apfs() { STARTING_DIR="$(pwd)" sudo add-apt-repository universe -y sudo apt update sudo DEBIAN_FRONTEND=noninteractive apt install -y \ linux-headers-$(uname -r) \ git \ gcc \ g++ \ cmake \ make \ ncdu mkdir -p ~/dev cd ~/dev git clone https://github.com/linux-apfs/linux-apfs-rw.git cd linux-apfs-rw time make sudo modprobe libcrc32c sudo insmod apfs.ko cd "$STARTING_DIR" echo "Done installing linux-apfs-rw kernel module"\ "to allow you to mount and read Apple APFS filesystems!" } install_all() { time install_apfs "$@" } # Determine if the script is being sourced or executed (run). # See: # 1. "eRCaGuy_hello_world/bash/if__name__==__main___check_if_sourced_or_executed_best.sh" # 1. My answer: https://stackoverflow.com/a/70662116/4561887 if [ "${BASH_SOURCE[0]}" = "$0" ]; then # This script is being run. __name__="__main__" else # This script is being sourced. __name__="__source__" fi # Only run `main` if this script is being **run**, NOT sourced (imported). # - See my answer: https://stackoverflow.com/a/70662116/4561887 if [ "$__name__" = "__main__" ]; then time install_all "$@" fi
Отметьте его как исполняемый и запустите:
chmod +x install_linux-apfs-rw.sh ./install_linux-apfs-rw.sh
Что действительно приятно в этом инструменте, так это то, что он работает с обычными
mount
команда, поэтому нажатие на диск APFS в файловом менеджере с графическим интерфейсом автоматически монтирует и открывает его!Я попросил Parted Magic установить Parted Magic как часть образа по умолчанию в этом частном сообщении на форуме здесь: https://partedmagic.com/forums/viewtopic.php?p=8936#p8936. Посмотрим, сделают ли они это. Надеюсь, они это сделают!
. Этот инструмент легко установился и позволил мне читать файлы, но
du
будет отображать все файлы на подключенном диске APFS как 0 байт. Я не знаю, почему. Я открыл проблему здесь: https://github.com/sgan81/apfs-fuse/issues/180 .Вот мои инструкции по установке и использованию , опять же, на свежем USB-накопителе Ubuntu 20.04 или 22.04:
Как построить
apfs-fuse
на свежем USB-накопителе Ubuntu 20.04# See: https://askubuntu.com/a/227788/327339 sudo add-apt-repository universe sudo apt install ncdu # see my comment: https://github.com/sgan81/apfs-fuse/issues/101#issuecomment-1547206616 sudo apt install fuse libfuse3-dev bzip2 libbz2-dev cmake gcc g++ git libattr1-dev zlib1g-dev git clone https://github.com/sgan81/apfs-fuse.git cd apfs-fuse git submodule update --init --recursive mkdir build cd build cmake .. time make ./apfs-fuse -h # mount mkdir -p ~/mount/macbook sudo ./apfs-fuse /dev/sda2 ~/mount/macbook/ # unmount sudo umount ~/mount/macbook
И для просмотра смонтированных файлов как root через Ubuntu по умолчанию
nautilus
Файловый менеджер:sudo nautilus /home/ubuntu/mount/macbook/
Самое замечательное в этом инструменте то, что как только я его создал, даже если собрать его на своей основной машине с Linux, использовать его на USB-накопителе Ubuntu или даже на загрузочном диске Parted Magic , это было так же просто, как скопировать исполняемый файл!
Оно бы просто побежало.
Вот и все, что касается бесплатных инструментов с открытым исходным кодом, которые я смог использовать в работе, и я очень старался над этим, вероятно, потратив на это одну полную неделю и около 70 часов.
2. Платные инструменты для Windows или Linux
В будущем, если мне понадобится инструмент для работы, и я не хочу тратить свое время, и если один из двух вышеупомянутых инструментов не будет работать сразу (например, в зашифрованной файловой системе APFS), я думаю, что я Я просто выложу 40 долларов и готово!
- Для Linux: 40 долларов США для личного использования: APFS для Linux от Paragon Software -> нажмите «Купить сейчас». Наверное, оно того стоит.
- Для Windows: пробная версия бесплатна, в противном случае она стоит 50 долларов США для личного использования: APFS для Windows от Paragon Software -> нажмите «Загрузить», чтобы получить пробную версию, или «Купить сейчас», чтобы купить.
У них тоже есть лицензии на ведение бизнеса. Я дам вам найти ссылки оттуда.
Экосистема инструментов APFS
Создательlinux-apfs-rw
был достаточно любезен, чтобы помочь мне понять различные доступные инструменты, здесь :
Я думаю, было бы неплохо иметь раздел «альтернативы» в файле readme.
Думаю, в конце концов я смогу это сделать. А пока расскажу тут быстро:
Это драйвер предохранителя, а не драйвер ядра. Так что он, вероятно, более портативен, но и намного медленнее. В отличие от моего, он также поддерживает шифрование, но доступен только для чтения и не планирует поддерживать запись. Для реализации записи требуется гораздо больше работы, чем для чтения, так что это большой плюс как для моего драйвера, так и для драйвера Paragon.
Я никогда не использовал его (хотя некоторую информацию о макете я получил из работы автора). Первое очевидное отличие состоит в том, что это библиотека. Итак, еще раз, он более портативен, чем мой, и его можно встроить в другие инструменты, если вы этого хотите. Я думаю, что он включает в себя способ крепления с помощью предохранителя, поэтому в этом отношении он похож на предыдущий.
Если предположить, что README обновлен, то, похоже, в нем отсутствует поддержка снимков и нескольких алгоритмов сжатия, которые поддерживаются в моем драйвере (а также, я полагаю, в apfs-fuse). Я не знаю, где оно находится в некоторых вещах, о которых не упоминается, например, в запечатанных томах. Я предполагаю, что они не реализованы. Хотя он поддерживает шифрование.
Как и apfs-fuse, он также доступен только для чтения, и, насколько я понимаю, поддержка записи не планируется.
Основным недостатком этого является то, что он платный и с закрытым исходным кодом. Я никогда им не пользовался (полагаю, он дорогой?), поэтому о его качестве говорить не могу, извините. Вероятно, он гораздо более полный, чем мой, и они не используют «экспериментальный» отказ от ответственности, как я, поэтому они должны быть очень уверены, что записи работают правильно. Однако никто не любит терять данные, и мы мало что знаем о процессе его разработки, поэтому, если вас интересует этот вариант, вам следует поговорить с другими клиентами и узнать, надежен ли он.
Смотрите также
- Если вы пытаетесь выполнить резервное копирование данных с
CrapMacBook, используя Live USB с Linux, загруженный на Mac, я рекомендую файловую систему exFAT, но это немного сложно. Вот несколько ответов, которые я написал для этого проекта и которые вам понадобятся:- Какую файловую систему использовать для Windows, Mac и Linux?
- Как отформатировать файловую систему exFAT в Linux с желаемым размером кластера, чтобы настроить ваш выбор по кривой компромисса между скоростью и использованием диска
- Лучший
rsync
настройки для копирования и зеркалирования в или из файловых систем FAT и exFAT - [статья на моем веб-сайте] Скорость файловой системы exFAT и использование диска в зависимости от размера кластера
- [статья на моем сайте] Как починить MacBook, если он не загружается
Paragon теперь имеет драйвер с полной поддержкой чтения / записи:
https://www.paragon-software.com/home/apfs-linux/
(это не бесплатно, хотя)