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

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

Я не думаю, что вы можете. тем более, что froyo использует FAT для своей реализации apps2sd.
Я думаю, вам придется изменить параметры монтирования SD-карты, для чего потребуется root.

Ответы (5)

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

... и когда btrFS добавляется в Android, у него есть хороший вариант монтирования ",ssd" с выравниванием износа и т. д., которого нет у ext4... и теперь более высокая скорость, чем у ext4, особенно если вы используете ",compress =lzo" ИЛИ ",space_cache" в fstab (но не используйте сжатие ВМЕСТЕ с параметром space_cache, используйте только 1 или другой, иначе в некоторых тестах он замедляется) - и эта скорость достигается, несмотря на контрольную сумму btrFS всех данные (не только журналов, как это делает ext4). :-)

Просто обновление от 2017 года: я думаю, что это действительно действительно только в том случае, если у вас есть рутированное устройство, к сожалению.
Просто обновление от 2021 года, которое все еще не работает на Android 10. Я также пробовал флэш-накопитель в формате XFS, но ничего.

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

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

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

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

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

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

Ну что ж.

Пожалуйста, поддержите свой ответ как-нибудь или удалите его.
forum.xda-developers.com/showthread.php?t=2424900 объясняет, что vold является чем-то вроде препятствия
@JasonPlutext теперь доступен пропатченный vold .

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

Хотя на Android 5 cat /proc/filesystemsпоказано, что ext4поддерживается, кажется, что они поддерживаются только FAT32на exFAT (FAT64)устройствах без рута. Я безуспешно пытался установить карту micro SD на 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.

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

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

Это из-за пропатченного vold . Не будет работать на стоковых прошивках.