Что такое Android эквивалент / etc / fstab? -- file-system поле с участием mount пол android Связанный проблема

What's the Android equivalent of /etc/fstab?


29
vote

проблема

русский

Иногда я действительно желаю, чтобы они не так много испортились с Linux! Я знаю, что есть <код> /etc/fstab там где-то, но где?

Я хотел бы установить некоторые разделы с альтернативными файловыми системами (потому что я не люблю fat32).

Английский оригинал

Sometimes I really wish they hadn't messed around with Linux so much! I know there's an /etc/fstab in there somewhere, but where?

I'd like to mount some partitions with alternative filesystems (because I don't like FAT32).

     

Список ответов

20
 
vote
vote
Лучший ответ
 

Не думайте о Android как сильно модифицированное распределение Linux. Потому что это не так. Почти единственное, что акции Android с распределением Linux - ядро. И даже этот компонент изменен. Также другие основные компоненты, такие как libc, отличаются.

Android не имеет <код> /etc/fstab

Вам не нужно <код> /etc/fstab для установки раздела. Но есть IIRC NO mount COMMENT. <Код> dev_mount должен работать (требуется root). Чтобы ответить на ваши вопросы Название: Все монтаж системы запуска выполняется с помощью /etc/vold.fstab Script.

 

Don't think about Android as a heavily modified Linux distribution. Because it's not. The nearly only thing that Android shares with a Linux distribution is the kernel. And even this component is modified. Also other core components, like the libc, differ.

Android has no /etc/fstab

You don't need /etc/fstab to mount an partition. But there is IIRC no mount command either.dev_mount should work (root required). To answer your questions title: All startup system mounting is done with the/etc/vold.fstab helper script.

 
 
   
   
8
 
vote

Файл fstab в <Код> / .

Это называется <код> 9988777666 где <код> $systemname основан на свойстве телефонной связи, либо идентифицирован как категория чипсета или самой трубки.

 

The fstab file is in /.

It's called /fstab.$systemname.rc where $systemname is based on the handset's fingerprint property, either identified as category of chipset or handset itself.

 
 
       
       
5
 
vote

Я вижу противоречивую информацию. Один ресурс говорит, что он жесткозедирован , так что не то, что вы можете изменить пользовательскую сторону :

Программы инициальных программ Android находятся в устройстве / системе / init. Добавьте сообщения журнала, чтобы помочь вам отладки потенциальных проблем с макросом журнала, определенным в устройстве / System / init / init.c.

Программа INIT непосредственно устанавливает все файловые системы и устройства, используя либо в жестком кодированных именах файлов, либо имена устройств, сгенерированные путем проверки файловой системы SYSFS (тем самым устраняя необходимость в файле A / ETC / FSTAB в Android).

В другом месте <код> /etc/vold.fstab и <код> /etc/vold.conf упоминается. У меня их на моем устройстве до CM 7.1, но я не уверен, как они используются.

 

I'm seeing conflicting information. One resource says it's hardcoded, so not something you can change user-side:

Android-specific init programs are found in device/system/init. Add LOG messages to help you debug potential problems with the LOG macro defined in device/system/init/init.c.

The init program directly mounts all filesystems and devices using either hard-coded file names or device names generated by probing the sysfs filesystem (thereby eliminating the need for a /etc/fstab file in Android).

Elsewhere /etc/vold.fstab and /etc/vold.conf are mentioned. I have them on my device under CM 7.1 but I'm not sure of how they are used.

 
 
 
 
5
 
vote

Вы можете перемонтировать свое внешнее хранилище, чтобы быть исполненным исполнением, запустив

 <код> /etc/fstab0  

Это удалит флаги NOEXEC, NOSUID и NOZEV, но он все равно будет VFAT FS. Вы можете сделать ссылки на эту ФС, но не изнутри. Remount не выдерживает перезагрузку, потому что файл Vold.fstab будет прочитан, и они будут переоценены при перезагрузке с флагами NOEXEC.

Если вы переформатируете любое из вашего внешнего хранилища на что-либо, кроме VFAT, то они не будут переопределены при перезагрузке, а любые приложения, которые вы перешли на любое внешнее хранилище, не будут полезны. Если вы не собираетесь использовать внешнее хранилище для приложений, вы можете размонтировать ваше внешнее хранение и использовать <код> /etc/fstab1 , чтобы сделать его Ext2. Используйте /etc/fstab2 , чтобы вернуть его в VFAT и сделать его использоваться снова.

Примечание <Код> /etc/fstab3 сломан, вы получите что-то вроде

lseek: значение слишком большой для определенного типа данных

Так что не тратьте свое время. Все это предполагает, что вы укоренились и имеют рабочее двоичное двоичность.

 

You can remount your external storage to be executable by running

mount -o remount, rw /mnt/sdcard 

this will remove the noexec, nosuid and nodev flags, but it will still be vfat fs. You can make links to this fs but not from within. The remount does not survive a reboot, because the vold.fstab file will be read and they will be remounted at reboot with the noexec flags.

If you reformat any of your external storage to anything other than vfat, then they will not be remounted at reboot, and any apps that you have moved to any external storage will not be usable. If you don't intend to use external storage for apps then you can unmount your external storage and use busybox mke2fs DEVICE to make it ext2. Use busybox newfs_msdos DEVICE to return it to vfat and make it usable again.

Note busybox mkfs.vfat is broken, you will get something like

lseek: Value too large for defined data type

so don't waste your time. All of this assumes you are rooted, and have a working busybox binary.

 
 
5
 
vote

Я понимаю, что это старая тема, но некоторые из ответов здесь фактически препятствовали мои усилия, чтобы узнать о fstab и Android, потому что они так сильно подразумевают, что <код> fstab Ситуация в Android чрезвычайно отличается от других распределений Linux. Из того, что я могу сказать, это не так.

Тем не менее, чтение разных ответов здесь заставило меня задаться вопросом: какой <код> fstab -эквивалентных файлов или файлов находятся на моем устройстве my

Вернуться на мгновение, отмечая, что « Android No / etc / fstab », вероятно, не полезен для ОП, поскольку они, должно быть, уже знали это. Если это было неверно, их вопрос (спрашивая, какой андоидный эквивалент /etc/fstab есть) не имеет никакого смысла. С другой стороны, мы знаем, что @flow не пытался подразумевать, что на Android не было эквивалентно, поскольку они упомянули один из них, «помощник скрипта» названного <код> /etc/vold.fstab .

Все вообще, я думаю, что вынос от поста @ Flow's - это то, что в некоторых системах есть файл (возможно, «помощник скрипта» - я не могу проверить, что на моем телефоне) называется <код> /etc/vold.fstab Код>, а на этих системах этот файл является ближайшим эквивалентом /etc/fstab .

Возвращение к удивлениям о моем собственном устройстве, я собираюсь опубликовать свои выводы здесь по нескольким причинам, несмотря на эпоху ОП:

    .
  • сначала я хочу документировать все fstab -style файлов, которые я могу найти на моем телефоне, пиксель 2xl.
  • Во-вторых, я хочу показать людям, особенно Linux / Android Newbies, что это довольно легко найти эти файлы на вашем собственном устройстве («научить их рыбу»).
  • В-третьих, для меня полезно написать свои выводы (бонус: я всегда смогу найти его снова здесь на Stockexchange!).
  • Наконец, Google по-прежнему обслуживает эту страницу, поэтому есть шанс, что это поможет кому-то, кроме меня.

Так что позвольте мне попытаться обосновать все, что я узнал от всего этого:

Android, или, по крайней мере, его варианты, к которым у меня есть доступ, использует <код> fstab -style файлов. Тем не менее, точное имя, местоположение и функция этих файлов варьируются по распределению - значение по версии и устройству Android, а также ROM, если вы используете пользовательский ром.

Чтобы найти эти файлы в вашей системе, откройте эмулятор терминала, как <код> tmux или <код> fstab0 и запустить что-то вроде этого: <код> fstab1 . Перенаправление файла 2 (<Код> fstab2 ) в <Код> fstab3 сделает ваш выход намного чище, поскольку вы сможете игнорировать натиск сообщений об ошибках, вы получите от <код> fstab4 , даже если вы <код> fstab5 .

На моей системе (пиксель 2xL, имя кода "Taimen") я нашел три файла кандидата:

 <код> fstab6  

Первые два - это отдельные файлы, которые не являются жесткой или символической ссылкой на другую, но если вы <код> fstab7 их вы обнаружите, что они идентичны. Глядя немного глубже, если вы запустите <код> fstab8 на файлах, которые вы увидите, что у них есть одно и то же устройство и значения INODE:

 <код> fstab9  

<Код> fstab0 Сообщает оба этих имена используемых файлов как обычные файлы только с одной ссылкой, каждая (так не включена жесткие или символические ссылки). Я не эксперт на файловыйИстем, но здесь произошло то, что одно и то же устройство было установлено дважды. Вы можете увидеть это в выходе следующей команды, где только различия между двумя линиями выхода в точках монтирования (часть сразу после «включено»):

 <Код> fstab1  

Третий файл виден только для меня, если я вхожу в систему как root, поэтому, если у вас есть устройство, идентичное моему, вы все равно не найдете, или имейте доступ к этому файлу, если ваш телефон не будет укорениться. Этот файл имеет отношение к службе под названием «Открытое управление мобильным альянсом», но это услуга, о которой я очень мало знаю, поэтому я просто упомяну об этом здесь, и вы можете Google для получения подробной информации об этом, если вы хотите.

.
 

I realize that this is an old topic, but some of the answers here actually hindered my efforts to learn about fstab and Android because they so strongly imply that the fstab situation in Android is extremely different from other Linux distributions. From what I can tell, it isn't.

However, reading different responses here made me wonder: what fstab-equivalent file or files are on my device?

Stepping back for a moment, noting that "Android has no /etc/fstab" is probably not helpful to the OP since they must have already known this. If this were untrue, their question (asking what the Android equivalent of /etc/fstab is) would not make any sense. On the other hand, we know @Flow was not trying to imply that there was no equivalent on Android, since they mentioned one of them, a "helper script" named /etc/vold.fstab.

All in all, I think the takeaway from @Flow's post is that on some systems, there is a file (possibly a "helper script" - I can't verify that on my phone) called /etc/vold.fstab, and on those systems, this file is the nearest equivalent to /etc/fstab.

Getting back to wondering about my own device, I am going to post my findings here for several reasons, in spite of the age of the OP:

  • First, I want to document all of the fstab-style files I can find on my phone, a Pixel 2XL.
  • Second, I want to show people, especially Linux/Android newbies, that it is fairly easy to find these files on your own device ("teach them to fish").
  • Third, it's helpful for me to write up my findings (bonus: I'll always be able to find it again here on StackExchange!).
  • Finally, Google is still serving this page up so there's a chance this will help someone other than me.

So let me try to sum up everything I have learned from all of this:

Android, or at least its variants that I have access to, does make use of fstab-style files. However, the exact name, location, and function of these files vary by distribution - meaning by Android version and device, and also by ROM if you use a custom ROM.

To find these files on your system, open up a terminal emulator like tmux or adb shell and run something like this: find / -type f -iname '*fstab*' 2>/dev/null. The redirection of file 2 (stderr) to /dev/null will make your output much cleaner as you will be able to ignore the onslaught of error messages you will get from find, even if you are root.

On my system (a Pixel 2XL, code name "taimen"), I found three candidate files:

taimen:/ # find / -type f -iname '*fstab*' 2>/dev/null  /sbin/.core/mirror/vendor/etc/fstab.taimen /vendor/etc/fstab.taimen /data/data/com.android.omadm.service/files/dm/dmt_data/fstab 

The first two are separate files in that neither is a hard or symbolic link to the other, but if you diff them you will find that they are identical. Looking a little deeper, if you run stat on the files you will see that they have the same Device and Inode values:

taimen:/ # stat /sbin/.core/mirror/vendor/etc/fstab.taimen /vendor/etc/fstab.taimen    File: `/sbin/.core/mirror/vendor/etc/fstab.taimen'   Size: 1326     Blocks: 16      IO Blocks: 512 regular file Device: fc00h/64512d     Inode: 925      Links: 1 Access: (644/-rw-r--r--)        Uid: (    0/    root)   Gid: (    0/    root) Access: 2009-01-01 02:00:00.000000000 Modify: 2009-01-01 02:00:00.000000000 Change: 2009-01-01 02:00:00.000000000    File: `/vendor/etc/fstab.taimen'   Size: 1326     Blocks: 16      IO Blocks: 512 regular file Device: fc00h/64512d     Inode: 925      Links: 1 Access: (644/-rw-r--r--)        Uid: (    0/    root)   Gid: (    0/    root) Access: 2009-01-01 02:00:00.000000000 Modify: 2009-01-01 02:00:00.000000000 Change: 2009-01-01 02:00:00.000000000 

stat reports both of these filenames as regular files with only one link each (so no hard or symbolic links are involved). I'm not a filesystem expert but what has happened here is that the same device has been mounted twice. You can see this in the output of the following command, where the only differences between the two lines of output in are the mount points (the part immediately after "on"):

taimen:/ $ mount | grep vendor  /dev/block/dm-0 on /vendor type ext4 (ro,seclabel,relatime,block_validity,delalloc,barrier,user_xattr) /dev/block/dm-0 on /sbin/.core/mirror/vendor type ext4 (ro,seclabel,relatime,block_validity,delalloc,barrier,user_xattr) 

The third file is only visible to me if I login as root, so if you have a device identical to mine, you still will not find, or have access to, this file unless your phone is rooted. That file has to do with a service called Open Mobile Alliance Device Management, but that is a service I know very little about, so I will just mention it here, and you can Google for details about that if you'd like.

 
 
   
   

Связанный проблема

29  Что такое Android эквивалент / etc / fstab?  ( Whats the android equivalent of etc fstab ) 
Иногда я действительно желаю, чтобы они не так много испортились с Linux! Я знаю, что есть <код> /etc/fstab там где-то, но где? Я хотел бы установить некот...

2  Как я могу сделать это так, чтобы любой пользователь мог Chmod в моем предохранительном предохранителей Ext4 отформатирован / SDCard?  ( How can i make it so that any user can chmod in my fuse mounted ext4 formatted ) 
У меня есть трансформатор ASUS TF101. Я наконец-то получил, чтобы укорениться только сейчас. Важно: <Код> /sdcard не fat32. Это файловая система предох...

3  / data / sdext2 mount не найден link2sd  ( Data sdext2 mount not found link2sd ) 
Я установил CM 7.2 стабильный (Android 2.3.) From Здесь . Затем я последовал за Это руководство по подготовке моей SD-карты для Link2SD. Затем я установил L...

2  SSHFS от Android до NAS  ( Sshfs from android to nas ) 
Я пытаюсь получить любую папку на внутреннем хранилище HTC M7, который будет установлен через <код> sshfs в папку на моем NAS. Цель будет иметь, например, /...

4  Как поменять внешнюю SD-карту с Intenal One на укоренившемся с эмпировке EGS102?  ( How to swap external sd card with intenal one on rooted ematic egs102 tablet ) 
Сегодня я уконул свой китайский планшет (EMS102), и открыл свой <код> vold.fstab , но я не могу найти строку, которая указывает на внутреннюю память. Это то, ...

0  Android X86> Ошибка: SysRQ: Apareation Remount R / 0 [Дубликат]  ( Android x86 error sysrq emergency remount r 0 ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже имеет ответ здесь : ...

0  Раздел подкачки не работает на Huawei U8160 работает Cyanogenmod 7.2  ( Swap partition not working on huawei u8160 running cyanogenmod 7 2 ) 
У меня есть Huawei U8160 (также известный как: Vodafone 858 Smart), который работает Cyanogenmod 7.2 (который был выпущен Madteam в 2/7/2012). После обновле...

0  Крепление CIFS / SMB Share до Android 10 в качестве папки?  ( Mount cifs smb share to android 10 as folder ) 
Я пытаюсь установить CIFS долиться в Android 10 Cooted телефон, и я уже устанавливаю его, но я не могу видеть файлы в папке в других приложениях только в рути...

3  Не удается установить Sdext для link2sd?  ( Cannot mount sdext for link2sd ) 
У меня есть Huawei U8160, бегущий цианогенмод 7.2. Когда я перезагрузию свой телефон, я должен перемещать sdexted сам, используя эмулятор терминала. <код>...

18  Как монтировать / систему как чтение / запись в Android?  ( How to mount system as read write in android ) 
Не удается установить / систему в Android с следующей командой, у кого-нибудь есть решение для этого? <код> root@hwG7-UL20:/ # mount -o rw,remount,rw /syste...

2  TWRP: не удалось подключить '/ preload' (неверный аргумент)  ( Twrp failed to mount preload invalid argument ) 
с TWRP, почти на каждой операции я получаю не удалось подключить '/ preload' (неверный аргумент) Мое устройство в настоящее время не может загружаться, ...

1  Невозможно установить Galaxy S7 с помощью Simple-MTPFS (с S4, который она раньше работала)  ( Cannot mount galaxy s7 with simple mtpfs with s4 it used to work fine ) 
Я хотел бы установить мою Samsung Galaxy S7 (SM-G930F) в папку, используя Simple-mtpfs , и я не могу сделать это, как раньше (на предыдущем Федора и старша...

3  Гора зашифрованная эмулируемая AVD userdata-Qemu.img.qcow2  ( Mount encrypted emulated avd userdata qemu img qcow2 ) 
Я пытаюсь сделать резервную копию своего AVD. Чтобы ускорить вещи, я люблю делать инкрементные резервные копии. Резервное копирование <код> *.img.qcow2 файла...

3  Почему (Bind) крепления в / хранилище / эмулируются / 0 не видны в приложениях?  ( Why bind mounts in storage emulated 0 are not visible in apps ) 
Я смонтировал каталог в другой каталог с: <код> mount --bind "/storage/sdcard/dir1" "/storage/sdcard/dir2" Я делаю это при загрузке загрузки с помощью T...

0  Как отключить автоответ / dev / block / mmcblk1p2?  ( How to disable automount of dev block mmcblk1p2 ) 
Я установил Link2SD, затем отформатировал мой 2-й раздел как Ext2. Затем я использовал Link2SD для создания сценария монтажа. Теперь из-за бесплатной версии я...

3  Galaxy S2 - доступ к внутренней памяти телефона в режиме восстановления  ( Galaxy s2 accessing internal phone memory in recovery mode ) 
Как я могу получить доступ к внутреннему хранилищу в режиме восстановления с помощью Android Debug Bridge (Adb.exe)? <код> C:UsersMohammadRezaDesktopplatfor...

3  Можно ли изменять файлы на SD с ПК без размонтирования?  ( Is it possible to modify files on sd from pc without unmounting ) 
<Сильная> Мотивация: Как мне в настоящее время начал ставить некоторые медиа (музыку, электронную книгу и т. Д.) Мне нужно организовать (добавить, модифици...

1  / sd-ext внезапно переменил чтение только во время работы  ( Sd ext gets suddenly remounted read only during work ) 
У меня есть желание HTC с помощью Cyanogenmod 7.2 (с PATCH PATCH) и с разделенной картой MicroSD Micros (First: Fat, Second: Ext3). Второй раздел автоматиче...

3  Могу ли я горевать LoopDevice в Android?  ( Can i mount loopdevice in android ) 
У меня укоренился мой телефон Android и получите оболочку THR ADB. Я хочу установить изображение ROM в Android. Но я всегда терпит неудачу: Mount -o loop /...

3  Как установить раздел EXT2 в SDCard  ( How to mount a ext2 partition in sdcard ) 
Я не хочу использовать Fat32, я хочу использовать более стабильную EXT2. ...

0  Как исправить «Mount:« RemOnt »-> '/ System': нет такого файла или каталога"?  ( How to fix mount remount system no such file or directory ) 
<код> angler:/ # mount -o rw, remount /system mount: 'remount'->'/system': No such file or directory 1|angler:/ # Когда я попробую в Kali Linux на моем те...

4  Монтаж. Имг от внутреннего хранилища как USB Mass Storage  ( Mounting img from internal storage as usb mass storage ) 
Я пытаюсь установить <код> .img файл из моего внутреннего хранилища как USB-хранение . Есть приложение для Android с именем Drivedroid Что именно то, ...

3  Является ли Cyanogenmod Kernel поддерживает петлиные устройства?  ( Does cyanogenmod kernel support loop devices ) 
С тех пор, как я не смогу устанавливать нандодрома, и, поскольку я прочитал, что ядро ​​необходимо поддерживать контурные устройства для тех, которые мне нужн...

4  Как я могу получить восстановление ClockWorkmod, чтобы правильно использовать / SDCard на зашифрованной Galaxy Nexus?  ( How can i get clockworkmod recovery to properly use sdcard on an encrypted gala ) 
У меня есть устройство Galaxy Nexus (Toro). Он вспыхнул с новейшим сенсорным изображением для восстановления ClockWorkmod, а также снимка вехи цианогенмода 11...

2  Где есть возможность монтировать как жесткий диск ...?  ( Where has the option to mount as hard drive gone ) 
У меня есть HTC Desire HD (на Vodafone UK). На этой неделе я заметил эту неделю, когда теперь я подключаю к компьютеру или Mac, вариант для установки в виде ж...

Связанный проблема

29  Что такое Android эквивалент / etc / fstab? 
2  Как я могу сделать это так, чтобы любой пользователь мог Chmod в моем предохранительном предохранителей Ext4 отформатирован / SDCard? 
3  / data / sdext2 mount не найден link2sd 
2  SSHFS от Android до NAS 
4  Как поменять внешнюю SD-карту с Intenal One на укоренившемся с эмпировке EGS102? 
0  Android X86> Ошибка: SysRQ: Apareation Remount R / 0 [Дубликат] 
0  Раздел подкачки не работает на Huawei U8160 работает Cyanogenmod 7.2 
0  Крепление CIFS / SMB Share до Android 10 в качестве папки? 
3  Не удается установить Sdext для link2sd? 
18  Как монтировать / систему как чтение / запись в Android? 
2  TWRP: не удалось подключить '/ preload' (неверный аргумент) 
1  Невозможно установить Galaxy S7 с помощью Simple-MTPFS (с S4, который она раньше работала) 
3  Гора зашифрованная эмулируемая AVD userdata-Qemu.img.qcow2 
3  Почему (Bind) крепления в / хранилище / эмулируются / 0 не видны в приложениях? 
0  Как отключить автоответ / dev / block / mmcblk1p2? 
3  Galaxy S2 - доступ к внутренней памяти телефона в режиме восстановления 
3  Можно ли изменять файлы на SD с ПК без размонтирования? 
1  / sd-ext внезапно переменил чтение только во время работы 
3  Могу ли я горевать LoopDevice в Android? 
3  Как установить раздел EXT2 в SDCard 
0  Как исправить «Mount:« RemOnt »-> '/ System': нет такого файла или каталога"? 
4  Монтаж. Имг от внутреннего хранилища как USB Mass Storage 
3  Является ли Cyanogenmod Kernel поддерживает петлиные устройства? 
4  Как я могу получить восстановление ClockWorkmod, чтобы правильно использовать / SDCard на зашифрованной Galaxy Nexus? 
2  Где есть возможность монтировать как жесткий диск ...?