Могу ли я использовать ext4 на моей SD-карте в телефоне без рута?

18

Я знаю, что на рутированном телефоне вполне нормально создать небольшой раздел ext4 для использования в App2SD, но я не спрашиваю об этом случае: у меня нерутованный HTC Desire с запущенной Froyo, и я хотел бы отформатировать вся моя SD-карта как ext4 вместо FAT. Я знаю, что это будет означать, что ПК с Windows не смогут использовать карту, но все мои ПК работают под управлением Linux, поэтому они должны быть в порядке. Сможет ли телефон получить доступ и использовать карту в этом случае?

Эндрю Айлетт
источник
Я не думаю, что ты можешь. тем более что froyo использует FAT для реализации apps2sd.
Райан Конрад
Я думаю, вам придется изменить параметры монтажа для SD-карты, что потребует root.
Мэтью Прочитал

Ответы:

4

Поддержка ext4 должна поддерживаться, если у вас обновление до Android 2.3 или 3.0 (я вижу, что ваш пост написан непосредственно перед выпуском 2.3 и 3.0 ...).

... и когда btrFS добавлен в Android, у него есть хорошая опция монтирования "ssd" с выравниванием износа и т. д., что ext4 не имеет ... и более высокая скорость, чем у ext4 сейчас, особенно если вы используете ", сжимать = lzo "OR", space_cache "в fstab (но не используйте сжатие с параметром space_cache, используйте только 1 или другой, иначе в некоторых тестах скорость сканирования увеличивается) - и эта скорость достигается несмотря на контрольное суммирование btrFS всех данные (не только журналов, как это делает ext4). :-)

Goldfanger
источник
3
Просто обновление от 2017 года: я думаю, что это действительно только при наличии рутованного устройства, к сожалению.
Джесси Адельман
5

У меня на самом деле была моя SDCard на ext4, и он был постоянно смонтирован во время загрузки (у меня есть root на моем телефоне).

Самая большая проблема заключалась в том, что приложения не ожидают проверки прав доступа на / SDCard, но extX обеспечивает это (без опции монтирования). Поэтому, если одно приложение хранит, например, некоторое аудио, и вызывает другой субкомпонент для его воспроизведения, произойдет сбой.

То же самое относится и к фотографиям (камера их снимает, возможно, кто-то из них хочет получить к ним доступ).

Вы можете исправить это вручную, но вы должны запускать после каждого нового созданного файла ... Было бы неплохо реальное решение этого, но оно требует модификации системы: пусть приложения запускаются с umask (002) вместо 022. Android UPG (частные группы пользователей), поэтому в этом нет большого вреда. - Теперь приложения могут выбирать, хотят ли они предоставлять файлы другим пользователям, установив для группы значение «sdcard» или нет. Это также добавило бы к принудительному разделению, где приложения хотят это.

Роберт Симер
источник
Получить фиксированные разрешения с помощью FUSE или sdcardfs: android.stackexchange.com/a/217936/218526 . Но этот ответ не для нерутированных телефонов.
Ирфан Латиф
3

Похоже, что ответ «нет» :(. Я спрашивал, потому что у меня есть новая карта, чтобы пойти в телефоне, поэтому я подумал, что просто попробую - она ​​не сработала. Когда я спрашиваю телефон смонтировать свою карту, он сразу говорит: «SD-карта безопасна для извлечения».

Ну что ж.

Эндрю Айлетт
источник
Пожалуйста, поддержите ваш ответ или удалите его.
Лео Леопольд Герц 준영
forum.xda-developers.com/showthread.php?t=2424900 объясняет, что vold является чем-то вроде препятствия
JasonPlutext
@JasonPlutext теперь есть исправленные vold .
Ирфан Латиф
1

Краткий ответ: нет .

Хотя на Android 5 cat /proc/filesystemsпоказывает, что ext4поддерживается, кажется, что только FAT32и exFAT (FAT64)поддерживаются на нерутированных устройствах. Я пытался установить карту памяти microSD на 64 ГБ как exFAT, но безуспешно.

Используя fdiskвы можете отформатировать вашу карту в FAT32 (файлы более 4 ГБ не поддерживаются):

$ fdisk -H 224 -S 56 /dev/mmcblk0

  • d удалить предыдущий раздел
  • nновый раздел, затем выберите основной pи начальный сектор по умолчанию, например,2048
  • tнабор cдля FAT32
  • (здесь вы можете сохранить несколько секторов, перейдя в экспертный режим xи переместив начало раздела b)
  • w написать изменения

Затем отформатируйте в FAT32, используя количество зарезервированных секторов ( 2048)

$ mkfs.vfat -F 32 -s 32 -R 2048 -v /dev/mmcblk0p1

  • -F 32 для FAT32
  • -s 32 размер кластера, выраженный в секторах, поэтому 32 x 512 байт = 16 КБ кластеров
  • -R 2048 количество зарезервированных секторов

Таким образом, 64 ГБ карта может быть смонтирована с использованием FAT32, мне не удалось найти никакого рабочего форматирования для exFAT или ext4.

Tombart
источник
Пожалуйста, поддержите ваш ответ или удалите его.
Лео Леопольд Герц 준영
@ Маси, не могли бы вы быть более конкретным? Я попытался отформатировать SD-карту в ext2, ext3, ext4, fat32 и exfat. Протестировано на Android 5.0 и только fat32 работал. Android имеет очень ограниченные возможности входа на некорневые устройства. Что бы вы хотели, чтобы я сделал?
Томбарт
Я только что сделал полную установку системы нового Rom на ext4. В телефоне использовался режим восстановления (TWRP 2.8.x). Нет телефона вообще в телефоне. Ваш образ восстановления должен поддерживать ext4. Пожалуйста, дайте нам знать ваше и попробуйте обновить его. Я рекомендую TWRP 3.0.2.
Лео Леопольд Герц 준영
1
@Masi Вопрос по умолчанию не рутированный Android. Я полагаю, вы используете рутованную ОС.
Томбарт
1
@ Маси, хорошо, тогда ты можешь подкрепить это утверждение чем-то более конкретным?
Томбарт
1

Я попробовал LineageOS 14.1 (android 7.1.2), он поддерживает SDCard (TF-Card), отформатированный в ext4. Хотя он форматирует SDCard в VFAT по умолчанию, если вы не делаете патч. Самый простой способ - отформатировать SD-карту с помощью ext4 с помощью внешнего usb-sdcard-адаптера, а затем вставить SD-карту в телефон с установленной LineageOS.

neoedmund
источник
Это из-за пропатченной Vold . Не будет работать на стандартных ROM.
Ирфан Латиф