Как смонтировать system.img на Android (или Linux)?

Я хочу изменить некоторые файлы в моем системном разделе телефона. Это EXT4. Я планирую прошить его позже на моем телефоне. Я пытался:

mount -w -t ext4 -o loop /storage/sdcard1/system.img /mnt/njz

и получил это:

не удалось открыть резервный файл: разрешение отклонено

Кроме того, телефон рутирован, и оболочка говорит, что он рутирован. Я также пытался использовать suкоманду перед этой командой. Также попытался добавить дополнительные параметры после «цикла», например

nosuid,nodev,default_permissions,user_id=0,group_id=0,gid=0,uid=0

Почему нет разрешений? Тоже пробовал file_mode=0777,dir_mode=0777, результат тот же.

Я попытался смонтировать это в Linux (Tiny Core Linux), и никаких проблем. Я использовал: sudo mount -t ext4 -o loop system.img /mnt/. В этом случае мой system.imgбыл смонтирован из раздела NTFS.

Ответы (1)

Судя по всему, мой файл был доступен только для чтения, который я настроил в Windows. Это проблема с "отказано в доступе". По какой-то причине Android не может изменить это, мне пришлось использовать ОС Windows или Symbian, чтобы снять отметку только для чтения. Xplore не показывает параметр разрешений для каких-либо файлов, за исключением случаев, когда они находятся в каком-либо разделе EXT. Root Explorer показывает, и именно так я впервые заметил свою проблему, случайно. Я видел, что все остальные файлы имели разные разрешения в подробном представлении в Root Explorer. Я пытался изменить права на 0777 с помощью Root Explorer или Total Commander, и хотя они говорят, что это настроило, это не так. Это невозможно сделать на разделе FAT32. Конечно, когда я изменил его с помощью Windows, он показал те же разрешения, что и другие файлы. Я помню, что месяц назад сделал этот файл доступным только для чтения, чтобы избежать случайных изменений.

Позже у меня возникла дополнительная проблема с монтированием, то есть когда я использую -o loopтолько, он говорит «устройство или ресурс занят». Но когда я нашел, где находятся мои петлевые устройства, выполнив поиск «loop» с помощью Xplore, я обнаружил, что в «/dev/block/» есть loop0файлы loop7. Поэтому, когда я использовал -o loop=/dev/block/loop0, он снова сказал то же самое сообщение о проблеме. Но когда я использовал -o loop=/dev/block/loop1его, наконец, установил. Мне не нужно было использовать параметр «-w», чтобы сделать его доступным для записи, я просто пропустил любую букву.

И забыл сказать, мы можем смонтировать его в любую папку, но эта папка должна существовать. Итак, я создал папку njzили nijazили sistemв корневой папке моего устройства с помощью Xplore (установил в настройках суперпользователя + монтирование с возможностью записи, чтобы он мог делать эти вещи) и смонтировал его туда. Обратите внимание, что эта папка исчезает после сброса. Также umountработало для размонтирования: umount /njz/.

Кроме того, из-за этого моя оригинальная прошивка не работала. Он всегда зацикливается только потому, что файл доступен только для чтения. Это огромная проблема в Linux. Необходимо связаться с разработчиками Linux, Xplore, Total Commander, Root Explorer. SP Flash Tool использовался для прошивки файлов, но проблема была в свойстве файла.