Какую файловую систему Android прикрепляет к корневому каталогу?

23

Я знаю, что Android использует FAT32 для SD-карт и монтирует их через FUSE. Но какая FS прикреплена в / ? Какой-то экст? ZFS?

yanpas
источник

Ответы:

30

Файловая система «Android» не имеет определенного определения, поэтому она может варьироваться в зависимости от устройства. Любая ФС, в которую ядро ​​может загружать драйверы, - это в основном честная игра.

В общем, вы почти наверняка обнаружите, что ext4 является самой распространенной файловой системой на современных устройствах. Старые устройства также могут использовать более старые версии ext * или другие файловые системы. Поскольку все построено на Linux, ext4 довольно разумный выбор, с надежной поддержкой ядра и хорошим послужным списком. Вы можете прочитать немного о том, почему это решение было принято в статье Ars Technica о переходе на ext4.

Некоторые устройства также используют файловую систему Samsung Flash-Friendly (f2fs). Примечательно, что некоторые устройства Motorola, а также Nexus 9, используют f2fs. Цель f2fs состояла в том, чтобы создать файловую систему, которая была специально разработана с учетом потребностей носителей на основе флэш-памяти, в попытке максимизировать производительность на устройствах, использующих чипы NAND в качестве основного носителя данных.

Однако это не означает, что это единственные файловые системы, на которых может работать Android, как я уже отмечал выше. Учитывая исходный код ядра и ноу-хау, можно было бы включить драйверы для других файловых систем в образ ядра. Например, Android x86 поддерживает установку на файловые системы NTFS и FAT32 .

eldarerathis
источник
1
Старые телефоны Samsung Android (ранние телефоны с Android 2.1, такие как i9000) также использовали нечто, называемое RFS, которое в основном было FAT с поддержкой разрешений в стиле UNIX.
SztupY
У RFS было имя среди большинства пользователей, у которых было устройство, которое им пользовалось ... Really Freaking Slow .
Райан Конрад
Но в современных устройствах, таких как Amazon Fire HD 7, SD-карту нельзя отформатировать в ext4. Huawei Ascend P7 позволяет использовать NTFS на SD-карте
david.perez
@ david.perez Вопрос не в SD-картах, а в о /.
eldarerathis
1
@ Абдул Вроде. Многие (возможно, все) файловые системы, которые поддерживает Linux, реализованы в виде модулей ядра, что означает, что они могут быть исключены из сборки или загружены / выгружены во время выполнения. Технически они все еще являются частью исходного кода ядра, но не являются обязательной частью каждой сборки, поэтому поддержка может немного отличаться для разных устройств; это зависит от ядра ПЗУ, имеющего соответствующий модуль для встроенной и доступной файловой системы.
eldarerathis
4

YAFFS (еще одна файловая система Flash) обычно использовалась в качестве файловой системы по умолчанию для версий Android до 2.3: http://www.yaffs.net/google-android

С тех пор ext4 используется из-за поддержки многопоточности: https://ext4.wiki.kernel.org/index.php/Main_Page

Чарльз Бойд
источник
7
YAFFS использовался только до версии 2.3, ext4 использовался с тех пор из-за поддержки многопоточности.
Overv
7
У Ars Technica есть статья о переходе от yaffs к ext4 , для всех, кто интересуется, и включает в себя некоторые обсуждения с инженерами Android, которые немного объясняют это решение.
eldarerathis
0

Я попытался отформатировать все разделы с помощью того, f2fsкогда я прошивал собственное ПЗУ, я смог найти, что / отформатирован с помощью ext4fs, когда я проверил, что виноват пакетный файл, который идет с файлом ПЗУ, он фактически переформатирует f2fsраздел ext4fs.

siniranji
источник