Какие файловые системы я могу использовать для SD-карты на 128 ГБ на Android 7.1, используемой в качестве портативного хранилища

Я не могу найти ответ на этот вопрос на StackExchange. У меня есть телефон с бета-версией LineageOS 14.1 (Android 7.1) и карта SDXC на 128 ГБ, которую я хочу использовать в качестве переносного/общего хранилища между устройствами.

Я знаю, что встроенная функция «Настройки» -> «Хранилище» -> «Форматировать SD-карту» выбирает файловую систему по умолчанию (FAT32 с большими кластерами или exFAT?), но если бы я захотел, мог бы я вручную отформатировать карту через Терминал, чтобы использовать правильное ведение журнала файловая система для лучшей безопасности данных?

Если да, то какие файловые системы я могу использовать и каковы будут соответствующие команды? Будут ли другие преимущества или недостатки? Будет ли он по-прежнему переносимым или мне придется что-то делать, чтобы остановить настройку ACL/разрешений по умолчанию, что предотвратило бы его замену на другие устройства?

Обновлять

Что касается комментариев ниже, похоже, что больше контекста поможет.

Я не рассматриваю NTFS/apple NFS как другие файловые системы. Моими основными «другими устройствами» для портативности будут другие устройства Android 5.1+ и Windows 8.1/10 (через USB-адаптер microSD). Меня устраивает, что Windows потребуется драйвер ext2/3/4/другой или размещение виртуальной машины Linux для чтения или записи карты microSD, которая не имеет формата FAT*. (Мне гораздо удобнее добавлять обработку ext* на машину с Windows, чем добавлять возможности NTFS на Android, и это также проще и с меньшей вероятностью вызовет у меня проблемы, потому что Windows потребуется доступ к нему только для управления/копирования файлов, а не через несколько приложений разных поколений на Android)

Суть вопроса заключается в том, что портативное хранилище по умолчанию использует FAT32/exFAT, не предлагая альтернатив, и в них нет каких-либо особых положений о целостности данных, таких как ведение журнала, которые были бы неотъемлемой частью (и включены) в несколько других файловых систем.

Поэтому возникает естественный вопрос, могу ли я, используя файловую систему, отличную от используемой по умолчанию, - что, конечно, потребует ручного форматирования и, возможно, ручной настройки разрешений, - получить эффект универсальной возможности чтения/записи и переносимости (как с FAT*), но Кроме того , вы получаете повышенную целостность за счет ведения журнала в случае сбоя или другой проблемы с данными, чего не обеспечивает FAT*.

Если другие устройства поддерживают это, EXT4 будет вашим лучшим выбором. Имейте в виду, что, как вы думали, разрешения будут в лучшем случае беспорядочными, поэтому вам придется довольно часто редактировать их, чтобы они были доступны для чтения-записи-исполнения для всего мира (плохая практика и недостаток безопасности). Если вы хотите перестраховаться, выберите FAT32 , но помните, что максимальный размер файла будет 4 ГБ-1. Наконец, если вы смелы и считаете, что все ваши устройства могут его поддерживать, вы можете попробовать NTFS .
Значит, нет простого варианта получить журналируемую ФС без хаоса разрешений или большой работы?
@DeathMaskSalesman Вы действительно рекомендуете FAT32 для такого большого хранилища? FAT32 — плохая идея для томов размером от 32 ГБ. Вместо этого я рекомендую exFAT, потому что любая система, поддерживающая тома размером более 32 ГБ, также должна поддерживать exFAT.
@iBug Ну, если exFAT поддерживается многими устройствами, то почему бы и нет? Планируете ли вы добавить его в качестве ответа?
@DeathMaskSalesman Я понятия не имею, как добавить ответ. ОП не сказал нам, с какими устройствами он хотел бы обмениваться данными. Обсуждать так много, что я думаю, что это излишне.
@iBug Скажем только один раз: у вас очень профессиональный подход к делу. Примите мои комплименты.
Чтобы уточнить (как ОП), я спросил, что мне нужно знать. Мне не нужно спрашивать о совместимости с другими устройствами, вопрос касается исключительно файловых систем, которые можно использовать, и последствий разрешений / других плюсов и минусов ... учитывая, что я могу сузить совместимость других устройств отдельно, если это необходимо.
@Stilez Windows имеет наилучшую совместимость с другими вещами, поэтому лучше сначала соответствовать требованиям других. Если OP делится между Win и Linux, то ext4. Если Win&Mac (хоть и не по теме), то HFS+. Если Linux и Mac, я сдамся и порекомендую exFAT.
Похоже, разъяснение поможет - см. обновление к OP.

Ответы (2)

Если требуется журналирование, то семейство EXT (предпочтительно ext4) может быть вашим единственным выбором. В остальном exFAT лучше. К вашему сведению, безопасность данных больше зависит от вашего оборудования, а не от программного обеспечения (при условии отсутствия вредоносного ПО), включая файловые системы. Любая ФС на плохом диске выходит из строя, и любая ФС на хорошем диске мало что меняет.

Определенно уверен, что если вы отформатируете его в ext4, вам придется часто chmod -R 777и chown -R 0.1028(что на самом деле root:sdcard_r), чтобы приложения работали нормально. Различные приложения имеют разные UID и GID, и при создании файла группы владельцев устанавливаются как U&G приложения, а разрешения устанавливаются в соответствии с umask эффективного потока .
Другое замечание заключается в том, что Linux ACL не поддерживается Android, тогда какSELinux есть, что может вызвать.
Семейство FAT лучше тем, что не имеет поддержки разрешений, что предотвращает возникновение «хаоса разрешений». exFAT — это мое личное предпочтение для общих хранилищ. Нет необходимости в регулярном обслуживании.
Поскольку вы спрашиваете здесь, в сообществе Android, я не буду обсуждать NTFS и Apple HFS, поскольку они вряд ли могут быть распознаны обычным устройством Android. Конечно, вы можете добавить их поддержку самостоятельно, но в основном это забота разработчиков.

Стандартный Android поддерживает только установку дисков FAT32 в качестве переносного хранилища, если они установлены в масштабе всей системы (r/w). Поддерживаемые разделы могут различаться в зависимости от устройства. Это зависит от производителя / индивидуального производителя ПЗУ для предоставления драйверов системного уровня для томов разных форматов.

Поскольку вы используете ОС Lineage (вилка cm), она может быть предоставлена. А в случае, если это не так, его можно легко настроить (рекомендуется способ busybox). Мне бы не хотелось использовать журналирование, файловые системы, ориентированные на разрешения.

Что касается внешнего SD, я сосредотачиваюсь на случайных удалениях в основном на моих носителях и документах, поэтому TestDisk (бесплатная утилита командной строки) с легкостью работает для «Восстановления файлов» из старого дерева индексов. Очень полезный.

Что касается разделов, то для простоты я предпочитаю иметь следующие разделы и настраивать их на всех своих съемных дисках.

FAT32 (~ 75% размера) (можно установить на все - настольный компьютер, телефон, планшет, смарт-телевизор, маршрутизатор, NAS)

и exFAT (~ 25%) (на внешних жестких дисках я использую TrueCrypt для шифрования этого тома) (большие файлы — монтируются на ПК (Win/Lin/Mac) и Android (по крайней мере, в ES File Explorer (приложение, поддерживающее exfat) и на моем Sony AndroidTV (драйвера предоставляются производителем)) и рутированный Nexus 7 поддерживает его)

Вы можете разрешить Android создавать раздел в качестве принятого хранилища в зависимости от потребностей. См. эту ссылку для смешанных форматов разделов при использовании адаптированного хранилища (Semi-Adopted storage).

Приложения могут запрашивать доступ к хранилищу и монтировать внешние диски в своем собственном контексте (точка монтирования не используется другими приложениями). Существуют приложения, поддерживающие ExFat, NTFS, AFS, HFS+ и даже зашифрованные разделы с помощью truecrypt/bitlocker. Все это подходит для внешних подключений, так как SD-карта должна быть подключена почти всегда и доступна поперек.