Da dies warnt, sollten Sie den Austausch auf der falschen Partition nicht aktivieren, da Sie sonst Ihr Telefon zerstören können:
OK, bevor wir weiter gehen! Vorherige Telefone hatten ein Partitionslayout, bei dem mmcblck0 die SD-Karte (extern) war. Unser Telefon verwendet mmcblck1 für die externe SD. Dies ist wichtig, da bei Verwendung einer App möglicherweise die Verwendung von mmcblck0 als Swap-Partition voreingestellt ist. Wenn Sie diese Einstellung verwenden, verwenden Sie sbl2 oder sbl3 als Swap-Partition. Dadurch wird Ihr Telefon blockiert und die Unbrick-Anleitung wird verwendet.
Die Swap-Partition kann also sein, /dev/block/mmcblk0p3
wenn ich 3 Partitionen (fat32, sdext, swap) auf meiner SD-Karte habe oder /dev/block/mmcblk0p2
wenn ich 2 Partitionen (fat43 und swap) habe oder /dev/block/mmcblk1p?
wenn Sie ein anderes Telefon usw. haben und die falsche Wahl blockieren kann dein Telefon.
Wie finden Sie heraus, welche Partition welche ist? Es sollte die einzige Partition auf einem Laufwerk des Telefons mit dem swap
Dateisystem sein.
fdisk -l
tut dies unter Ubuntu , gibt aber nichts in Android ausblkid
zeigt die Swap-Partition nicht ancat /proc/partitions
listet viele Partitionen auf, gibt aber nicht an, welche der Swap istcat /proc/swaps
listet nur Swaps auf, die bereits verwendet werdencat /proc/mtd
sagt nurdev: size erasesize name
und sonst nichtsls /dev/block/vold
listet einige Partitionen als auf179:64 179:65 179:66
, gibt aber nicht an, was sie sind?- Die 4ext-Wiederherstellung zeigt es in der Tabelle der Partitionen (
swap swap 129 MiB
) an, sagt aber nicht den Entwicklernamen - ...
Auch wenn es kein Kommandozeilen-Tool gibt, um es direkt zu drucken, gibt es doch eine Möglichkeit, es aus anderen Informationen abzuleiten?
quelle
/proc/swaps
?cat /proc/swaps
zeigt nur die von Swapper 2 erstellte Swap-Datei, nicht die Partition auf der SD-Kartemount
(ohne Parameter) das entsprechende Blockgerät (/dev/block/*
) zu finden und dies anhand der Liste von/proc/partitions
(oder/proc/mtd
) zu überprüfen ? Wenn Sie keine weitere Partition auf Ihrer Karte haben, sollte Ihre Swap-Partition "die andere sein, die mit einer Ziffer endet", sofern nicht nurmount
darauf hingewiesen wirdvold
. In diesem Fall kann ein Vergleich der Größen (oder ein vorübergehendes Entfernen der Karte für einen "Unterschied") hilfreich sein.Antworten:
Ich habe die Disk Info-App installiert und in den Optionen den Expertenmodus und nicht gemountete Partitionen aktiviert . Es heißt nicht "Swap", aber es zeigt deutlich, dass es die einzige andere Partition auf der SD-Karte ist und die richtige Größe hat, also
/dev/block/mmcblk1p2
muss es die folgende sein:Swapper 2 ist
/dev/block/mmcblk0p3
standardmäßig konfiguriert , daher bin ich froh, dass ich mich nicht für die Standardeinstellung entschieden habe.quelle
fdisk -l
funktioniert, wenn Sie den gesamten Namen des Festplattengeräts explizit übergeben (z. B.fdisk -l /dev/block/mmcblk1
); Was nicht funktioniert, ist die automatische Erkennung von Blockgeräten (anscheinend, weil Android Blockgerätedateien unter dem/dev/block
Verzeichnisfdisk
ablegt , aber erwartet, dass diese Dateien direkt angezeigt werden/dev
). Daher ist eine Option, um die Liste der gesamten Plattengeräte (zu sammeln/dev/block/mmcblk0
,/dev/block/mmcblk1
...) und Blick auf ihre Partitionstabellen verwendet . Diese gesamten Festplattengeräte werden vor den entsprechenden Partitionen aufgelistet .fdisk -l <device>
/proc/partitions
Das
blkid
Dienstprogramm überprüft die Partitionstabelle überhaupt nicht. Es öffnet alle dem System bekannten Blockgeräte und erkennt den Dateisystemtyp anhand der tatsächlichen Daten auf diesen Geräten. Daherblkid
werden keine korrekten Informationen für die Swap-Partition angezeigt, bis diese Partition von initialisiert wurdemkswap
. Dies bedeutet, dass diesblkid
für Ihre aktuelle Aufgabe unbrauchbar ist (Finden, an welche Partition übergeben werden sollmkswap
).mount
In der Regel werden Geräte unter angezeigt/dev/block/vold
, die nach ihrer Haupt- und Nebennummer benannt sind. Um den üblichen Gerätenamen zu erhalten, können Sie/proc/partitions
in den ersten beiden Spalten nach einer Zeile mit denselben Nummern suchen . Anschließend können Sie das Teil vom Ende des Gerätenamens entfernen , am Anfang hinzufügen und den resultierenden Namen übergeben, um die Partitionstabelle des entsprechenden Geräts anzuzeigen.p<number>
/dev/block/
fdisk -l
Beachten Sie, dass Sie beim Betrachten der
fdisk -l
Ausgabe für den internen eMMC-Flash möglicherweise viele Partitionen mit seltsamen Typen finden, insbesondere auf Qualcomm-basierten Geräten. Siehe z. B. die Partitionstabelle für Samsung Galaxy W (GT-I8150):Dort sind Partitionstypcodes sogar gefährlich falsch, da sie
/dev/block/mmcblk0p1
deklariert sindWin95 FAT32 (LBA)
und tatsächlich einige Systemdaten enthalten (einschließlich Speicherorte und MD5-Hashes verschiedener ROM-Teile); Bei/dev/block/mmcblk0p28
dem FAT16-formatierten „internen Datenspeicher“ handelt es sich jedoch um einen Typ, der völlig falsch aussieht. In diesem Fall hat der Hersteller den0x82
Typcode (Linux-Swap) nicht für eigene Zwecke wiederverwendet , aber ich bin mir nicht sicher, ob solche Kollisionen niemals auftreten. Sie sollten daher nicht blind versuchen, eine Partition zu verwenden, die wie Swap aussieht. Überprüfen Sie dies zuerst Die Gerätegröße und das Partitionslayout entsprechen den Erwartungen auf Ihrer SD-Karte./proc/mtd
ist niemals nützlich, um eine Swap-Partition auf einer SD-Karte zu finden (MTD-Treiber werden verwendet, um auf direkt angeschlossene Raw-Flash-Chips zuzugreifen, sie können nicht mit externen SD-Karten arbeiten).quelle
fdisk -l /dev/block/mmcblk1
sagt/dev/block/mmcblk1p2 30637 31152 132096 82 Linux swap