Wie mounte ich system.img auf Android (oder Linux)?

Ich möchte einige Dateien in meiner Systempartition des Telefons ändern. Es ist EXT4. Ich habe vor, es später auf meinem Handy zu flashen. Ich habe es versucht:

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

und bekam das:

Backing-Datei öffnen fehlgeschlagen: Berechtigung verweigert

Außerdem ist das Telefon gerootet und die Shell sagt, dass es gerootet ist. Ich habe auch versucht, suden Befehl vor diesem Befehl zu verwenden. Auch versucht, zusätzliche Optionen nach "Schleife" hinzuzufügen, wie

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

Warum keine Berechtigungen? Auch probiert file_mode=0777,dir_mode=0777, immer noch das gleiche Ergebnis.

Ich habe versucht, dies unter Linux (Tiny Core Linux) zu mounten, und keine Probleme. Ich habe verwendet: sudo mount -t ext4 -o loop system.img /mnt/. In diesem Fall system.imgwurde meine von der NTFS-Partition gemountet.

Antworten (1)

Anscheinend war meine Datei schreibgeschützt, was ich in Windows eingerichtet habe. Das ist ein Problem mit "Erlaubnis verweigert". Aus irgendeinem Grund kann Android dies nicht ändern, ich musste Windows oder Symbian OS verwenden, um die schreibgeschützte Eigenschaft aufzuheben. Xplore zeigt die Berechtigungsoption für keine Dateien an, außer wenn sie sich auf einer EXT-Partition befinden. Root Explorer zeigt, und so bin ich zufällig zuerst auf mein Problem aufmerksam geworden. Ich habe gesehen, dass alle anderen Dateien in der Detailansicht im Root-Explorer unterschiedliche Berechtigungen hatten. Ich habe versucht, die Berechtigungen mit Root Explorer oder Total Commander auf 0777 zu ändern, und obwohl sie sagen, dass es eingerichtet wurde, hat es nicht funktioniert. Dies ist auf der FAT32-Partition nicht möglich. Als ich es mit Windows änderte, zeigte es natürlich die gleichen Berechtigungen wie andere Dateien. Ich erinnere mich, dass ich diese Datei vor einem Monat auf schreibgeschützt gesetzt habe, um versehentliche Änderungen zu vermeiden.

Später trat ein zusätzliches Problem mit mount auf, das heißt, wenn ich -o loopnur verwende, heißt es „Gerät oder Ressource ausgelastet“. Aber als ich herausgefunden habe, wo sich meine Loop-Geräte befinden, indem ich mit Xplore nach „loop“ gesucht habe, habe ich festgestellt, dass sich Dateien in „/dev/block/“ loop0befinden loop7. Also, als ich benutzte -o loop=/dev/block/loop0, sagte es wieder die gleiche Problemmeldung. Aber als ich -o loop=/dev/block/loop1es benutzte, montierte ich es schließlich. Ich musste die Option '-w' nicht verwenden, um es beschreibbar zu machen, sondern habe einfach einen Buchstaben übersprungen.

Und vergessen zu sagen, wir können es in jeden Ordner einhängen, aber dieser Ordner muss existieren. Also habe ich den Ordner njzoder nijazoder sistemim Stammordner meines Geräts mit Xplore erstellt (in den Einstellungen Superuser + Mount beschreibbar festgelegt, damit es diese Dinge machen kann) und ihn dort gemountet. Beachten Sie, dass dieser Ordner nach dem Zurücksetzen verschwindet. Auch umountfür das Unmounten gearbeitet: umount /njz/.

Das hat auch dazu geführt, dass meine ursprüngliche Firmware nicht funktioniert hat. Es wird immer eine Bootschleife ausgeführt, nur weil die Datei schreibgeschützt ist. Dies ist ein großes Problem unter Linux. Sie müssen sich an die Entwickler von Linux, Xplore, Total Commander und Root Explorer wenden. SP Flash Tool wurde zum Flashen von Dateien verwendet, aber das Problem lag in der Dateieigenschaft.