как монтировать / систему как читать / писать в андроиде?


15

Не удается смонтировать / system в Android с помощью следующей команды, у кого-нибудь есть решение для этого?

root@hwG7-UL20:/ # mount -o rw,remount,rw /system
mount: Invalid argument

255|root@hwG7-UL20:/ # mount -o remount rw /system
mount: Invalid argument

root@hwG7-UL20:/ # mount|grep system
/dev/block/bootdevice/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0

полный вывод для монтирования:

255|root@hwG7-UL20:/ # mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,size=970220k,nr_inodes=155384,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,size=970220k,nr_inodes=155384,mode=750,gid=1000 0 0
none /sys/fs/cgroup/memory cgroup rw,relatime,memory 0 0
none /dev/frz cgroup rw,relatime,freezer 0 0
tmpfs /mnt/asec tmpfs rw,seclabel,relatime,size=970220k,nr_inodes=155384,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,seclabel,relatime,size=970220k,nr_inodes=155384,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
adb /dev/usb-ffs/adb functionfs rw,relatime 0 0
/dev/block/bootdevice/by-name/log /log vfat rw,nosuid,nodev,relatime,uid=1000,gid=1007,fmask=0007,dmask=0007,allow_utime=0020,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 0
/dev/block/bootdevice/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
/dev/block/bootdevice/by-name/userdata /data ext4 rw,seclabel,nosuid,nodev,relatime,noauto_da_alloc,data=ordered 0 0
/dev/block/bootdevice/by-name/cache /cache ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0
/dev/block/bootdevice/by-name/persist /persist ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0
/dev/block/bootdevice/by-name/modem /firmware vfat ro,relatime,uid=1000,gid=1000,fmask=0337,dmask=0227,codepage=437,iocharset=iso8859-1,shortname=lower,errors=remount-ro 0 0
/data/media /mnt/shell/emulated sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1023 0 0
/dev/block/bootdevice/by-name/cust /cust ext4 ro,seclabel,relatime,data=ordered 0 0

большое спасибо!


Где ты это делаешь? В режиме восстановления или в терминале на вашем устройстве.
Вивек Джи

в терминале "adb shell" с
рутом

Что произойдет, если вы включите название устройства? то естьmount -o remount,rw /dev/block/bootdevice/by-name/system /system
Дэн Халм

еще сказал: mount:
неверный

1
Старый вопрос, но у меня та же проблема, что и сейчас. У кого-нибудь было решение для этого?
Полярное

Ответы:


6

Решение простое. Чтобы перемонтировать смонтированную систему, вам нужно иметь привилегии root. Сделать су. Вы войдете в корневой режим. Затем выполните команду ниже. Это будет работать, я делал это много раз.

Итак, вот шаги:

 adb shell  
 su  
 mount -o rw,remount -t ext4 /system

Изменить: нашел лучшее решение

На хост-компьютере (Linux или Windows PC) выполните следующие команды.

>> adb root  
>> adb remount

По умолчанию remount перемонтирует раздел / system с помощью rw, если у вас есть разрешения.

Примечание 1: чтобы выполнить su или adb root, ваше устройство должно быть рутовано и иметь исполняемый файл su. Если вы выполните команду su, если она выполнена правильно, ваша подсказка терминала изменится с $ на #. Благодарность..

Примечание 2: В последних мобильных телефонах, мало известных мне acer и samsung, Security был усилен, и даже после рутирования телефона adb remount не будет работать. Насколько я знаю, до сих пор нет решения для этого.


1
Я бы осторожно включил опцию "-t", чтобы выбрать файловую систему, так как это может привести к попытке перемонтировать ее как "ext4", когда ранее это мог быть "f2fs" (используемый более новыми пользовательскими ROMS). Вам нужно только сказать ... mount -o rw, remount / system, чтобы перемонтировать как чтение-запись и перемонтировать как доступный только для чтения ... mount -o ro, remount / system
ConceptRat

adbd cannot run as root in production builds
beppe9000

2

см. эту статью по теме здесь и стек ответ об обмене здесь

В принципе

  1. Вам нужен рут

  2. Лучше установить ADB Secure Apk

  3. Проверьте, как раздел / system смонтирован как «только для чтения» (ro). Обратите особое внимание на устройство.

    # mount | grep system
    /dev/block/stl12 /system ext4 ro,relatime,barrier=1,data=ordered 0 0
    
  4. Затем перемонтируйте это как / system

    # mount -o rw,remount /dev/block/stl12 /system
    
  5. Наконец, вы можете подтвердить это

    # mount | grep system
    /dev/block/stl12 /system ext4 rw,relatime,barrier=1,data=ordered 0 0
    

0

Если вы являетесь пользователем root, вы можете загрузить ES File Explorer из Play Store, нажав значок меню с 3 линиями в левом верхнем углу. Далее прокрутите вниз, пока не увидите Root Explorer. Нажмите и удерживайте в течение 2-3 секунд. Должно появиться меню. Нажмите «Mount R / W». Поместите точку для «системы» в разделе RW. Может потребоваться перезагрузка.


Никаких результатов, все еще RO. Вероятно, он использует ту же команду.
говорит
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.