Редактирование fstab для монтирования /data из другого раздела

Можно ли отредактировать fstab для монтирования /data, /cache и т. д. из другого раздела внутренней памяти? б.внешняя SD-карта?

Подробности: раздел по умолчанию для /data и /cache слишком мал для моих нужд, и я могу отформатировать (внутреннюю) /sdcard в ext4.

Изменить: на первый взгляд мой вопрос может показаться похожим на другие вопросы о способе увеличения размера /data, но это не так. Вот почему:

(1) Мне нужно сделать это специально , отредактировав fstab, что является обычным способом сделать то же самое на рабочем столе GNU/Linux. (2) Другие вопросы не касаются /cache и других разделов.

Спасибо за минус. Было бы лучше, если бы вы могли указать, чего не хватает в этом вопросе.
Это был не я, но раздел «Связанные» этого вопроса предполагает, что вы не проверяли существующие решения, а «против» означает «не показывает никаких исследований». Два клика привели меня к: Смонтировать папку с внешней SD как /data — что идеально подходит для вашего вопроса и отвечает на него.
@lzzy Я знаю о ссылке. Мой вопрос конкретно касается редактирования «fstab» (что является правильным «способом Linux» для этого).
Для линукса да. Но мы говорим здесь об Android: модификация fstab(если она существует на вашем устройстве) может потребовать изменения загрузочного образа. Хотя он основан на Linux, некоторые аспекты Android работают по-другому. Цитата из Что такое Android-эквивалент /etc/fstab? : У Android нет/etc/fstab . Также проверьте эти вопросы/ответы . // Более того, это проблема XY : лучше попробуйте решить свою проблему, а не придерживаться своего «предполагаемого решения» ;)
@lzzy Я знал, что «проблема XY» будет процитирована;) (был на SE довольно долго.) Сам ваш предыдущий ответ говорит «за» актуальность вопроса, потому что я специально хочу знать, возможно ли это сделать редактируя fstab. Как вы, наверное, понимаете, люди из страны GNU/linux могут захотеть узнать, почему в Dalvik/Linux обычное «редактирование fstab» не работает.
@lzzy в моем Android 4.2 есть файл /etc/fstab: o
у моего андроида 4.2 есть/etc/fstab — поэтому я написал «если он существует на вашем устройстве». На некоторых устройствах он действительно есть, но даже в этом случае он часто интегрируется с загрузочным образом — поэтому изменения, которые вы там применяете, будут потеряны при загрузке, что каким-то образом противоречит цели, верно? Это означает, что вы в конечном итоге создадите свой собственный загрузочный образ, что может выйти за рамки этого сайта, по крайней мере, «пограничной» разработки. Если вы действительно хотите применить это, вы не предоставили достаточно подробностей в своем вопросе: устройство, версия Android, ПЗУ отсутствуют.
@lzzy Я думаю, что ваш предыдущий комментарий должен стать хорошей черновой версией ответа на мой вопрос. Не могли бы вы опубликовать отполированную версию того же ответа. Возвращаясь к проблеме, я думаю, что мне следует прочитать о загрузочном образе и т. Д., Чтобы узнать, могу ли / как я могу продолжить работу с моим Y (просто для удовольствия, поскольку теперь ясно, что Y не является жизнеспособным решением для X) .
Можно попробовать переразметить память. См. это руководство на форуме XDA.
Более того, существует аналог etc/fstab для Android. Для версии Android ниже 3.2 /system/etc/vold.fstab Для версии Android выше 3.3 /fstab.<device>
Кроме того: vold.fstabИМХО обычно только для SD-карт. А другого fstabнет на многих устройствах (я никогда не видел его ни на одном устройстве, которое я проверял — и я действительно проверял много, см., например, Как я могу идентифицировать разделы Android-устройства из оболочки? : если бы было fstabобщедоступный, он там оказался). Также см. Что такое Android-эквивалент /etc/fstab? который я связал с моим ответом.
Почти дубликат: android.stackexchange.com/q/56888/218526

Ответы (1)

Как вы уже ожидали, формулировка вашего вопроса выглядит как проблема XY : существуют разные способы достижения вашей цели (монтирование /dataи /cacheт. д. из другого раздела), в то время как ваш вопрос сосредоточен на «редактировании fstab».

Рабочее решение см., например, в разделе «Смонтировать папку с внешней SD-карты как /data »: то, что там описано, должно работать на всех устройствах/ПЗУ — при «редактировании fstab» возникают некоторые проблемы:

  • Хотя это, конечно, то, как это работает в Linux, мы говорим здесь об Android, который использует ядро ​​​​Linux, но с совершенно другой настройкой (см.: Что такое Android-эквивалент /etc/fstab? )
  • Файл fstabотсутствует во многих/большинстве установок Android ( подробности см. в разделе Как перечислить все основные разделы с их метками? )
  • Если fstabфайл присутствует, он обычно является частью загрузочного образа ( подробности см. в initrd ). Это означает, что ваши изменения в файле будут напрасными: при следующей загрузке, когда вы ожидаете, что они будут обработаны, вместо этого файл будет перезаписан из загрузочного образа, а затем обработан - без ваших изменений.

Вердикт: даже если на вашем устройстве есть fstabфайл, вы не можете просто отредактировать его и все. Вместо этого вам придется перестроить загрузочный образ — задача, которая выходит за рамки этого сайта (который ориентирован на конечного пользователя, а создание/восстановление загрузочного образа, скорее, относится к компетенции разработчиков). Это может быть не совсем «не по теме», но, по крайней мере, пограничная/серая зона.