Link2SD funktioniert nicht auf Marshmallow: Keine solche Datei oder kein solches Verzeichnis

9

Aufgrund meines Missfallen mit der neuen SD-Karte als internem Speicher von Marsmallow entschied ich mich, wieder auf Link2SD umzusteigen, was ich in früheren Android-Versionen verwendet hatte. Es gibt jedoch ein Problem. Wenn ich versuche, die Mount-Skripte für meine partitionierte SD-Karte zu erstellen, wird folgende Fehlermeldung angezeigt:

Mount script cannot be created

mount: '/dev/block/vold/179:66'->'/data/sdext2': No such file or directory

Weiß jemand, wie man Link2SD dazu bringt, auf dem Marshmallow zu arbeiten?

Paul Clavier
quelle

Antworten:

6

Der interne Speicher von Marshmallow kann besser mit einer SD-Karte im gemischten Format verwendet werden, wie ich auch in meinem Blog hier erläutere :

http://blog.sam.liddicott.com/2016/02/android-6-semi-adopted-storage.html

Zuerst müssen Sie adb arbeiten.

  1. Lassen Sie die SD-Karte einlegen und als tragbar formatieren.
  2. Werfen Sie Ihre SD-Karte aus dem Menü Speicher & USB
  3. Verwenden Sie "adb shell", um Ihren akzeptablen Speicher aufzulisten:

so was

$ adb shell sm list-disks adoptable

disk:179_64

disk: 179_64 ist meine SD-Karte, die adoptierbar gemacht werden kann, ich möchte 75% als externe SD:

$ adb shell sm partition disk:179_64 mixed 75

Hinweis: Ihre Karte wird möglicherweise mit einem Komma anstelle eines Unterstrichs aufgeführt, z. B. Datenträger: 179,64. In diesem Fall geben Sie Folgendes ein :

$ adb shell sm partition disk:179,64 mixed 75
  1. Dadurch wird die gesamte SD-Karte gelöscht, sodass 75% als tragbarer Speicher und der Rest als interner Speicher verwendet werden.

  2. Starten Sie Ihr Telefon neu.

  3. Wählen Sie im Menü Speicher & USB die SD-Karte (intern) und dann Daten migrieren (damit dort, wo möglich, Apps installiert werden).

  4. In Storage & USB benennen Sie den übernommenen Speicher so um, dass er einen Namen wie Adopted hat. Andernfalls zeigt die USB-MTP-Ansicht möglicherweise nur den internen an, wenn er denselben Namen wie die externe Speicherpartition hat

Sam Liddicott
quelle
Sie sollten Ihre Antwort auch in dieser Frage posten , es
passt
Diese Lösung unterstützt Link2SD jedoch nicht. Das Dateisystem der übernommenen Partition ist "Andere", wenn Sie mit einer Computerpartitions-App prüfen, sodass Link2SD die zu übernehmende Partition nicht erkennen kann (daher die Frage). Ohne Link2SD können nicht bewegliche Apps nicht gezwungen werden, auf eine SD-Karte zu wechseln.
Ooker
2
#! / system / bin / sh
mount -t ext4 -o rw / dev / block / mmcblk1p2 / data / sdext2
mount -t ext4 -o rw / dev / block / vold / 179: 66 / data / sdext2

Möglicherweise müssen Sie die Vold-Linie wie folgt festlegen:

mount -t ext4 -o rw / dev / block / vold / public: 179: 66 / data / sdext2

Es hängt alles davon ab, wie Sie Marshmallow Ihre Karte beim ersten Start formatieren lassen.

Verwenden Sie Apps2SD , um das Skript zu erstellen . Öffnen Sie einfach die App, gehen Sie zu "Apps mit SD-Karte verknüpfen", wählen Sie Ihr Dateisystem aus und fertig. Es befindet sich noch in der aktiven Entwicklung und Arbeit. Nachdem das Skript erstellt wurde, können Sie Apps2SD deinstallieren.

syndre
quelle
1

Wie andere angedeutet haben, können Sie Apps2SD verwenden , um das Mount-Skript zu erstellen und es einfach zu deinstallieren, wenn Sie fertig sind.

Gili
quelle
Das hat bei mir funktioniert. Und ich denke, das ist die einfachste Methode von allen.
Preetesh
0

Ich habe das hier aufgeführte anfängliche Problem gelöst mit:

cd /dev/block/vold
ln public:179_66 179:66

und dann konnte Link2SD seine Tricks machen; Es war jedoch immer noch nicht nützlich, und beim Verschieben von internen Daten (MP3s) von Google Play Music auf die SD-Karte wurde das Musikprogramm immer wieder zum Absturz gebracht.

Das Entfernen von Link2SD nach der Deinstallation ist nicht einfach.

mount -o remount,rw /system
mv /system/bin/debuggerd.bin /system/bin/debuggerd
rm /system/etc/init.d/11link2sd
mount -o remount,row /system

Starten Sie dann neu, andernfalls wird die 2. Partition weiterhin auf / data / sdext2 gemountet

(Ich bin frustriert, dass Google Play Music beim Zusammenführen meiner SD-Karte als internen Speicher die MP3s anstelle der SD-Karte im begrenzten internen Speicher speichert.)

Sam Liddicott
quelle
Verzeihen Sie mir eine so grundlegende Frage. Soll ich das obige Skript in die Datei in init.d schreiben? Könnten Sie bitte auch erklären, was das obige Skript bewirkt?
Ganesh Satpute
1
Mach dir keine Sorgen, Link2SD macht immer noch nichts Nützliches. Siehe meine bessere Lösung unter: blog.sam.liddicott.com/2016/02/…, die ich als Antwort veröffentlichen werde
Sam Liddicott
"Nichts Nützliches" ist eine eher kontroverse und umfassende subjektive Aussage, daher wäre es schöner, wenn Sie sie mit einigen informativen Fakten belegen könnten. Vielen Dank.
Adam Spires
1
Es ist überhaupt nicht umstritten, es sei denn, Sie widersprechen meiner Behauptung. Aber um Ihre Anfrage zu beantworten: Es funktioniert nicht unter Android 6, es fügt falsche Mount-Befehle in verschiedene Startskripte ein und schlägt immer noch fehl, wenn diese Mount-Befehle korrigiert werden.
Sam Liddicott
Ich wollte nicht argumentativ sein, ich wollte nur, dass ich gesehen habe, wie Leute sagten, dass es nicht funktioniert und nicht unterstützt wird, und dass niemand gesagt hat, dass es funktioniert.
Sam Liddicott