Ich habe mein Gerät gerootet, in den Wiederherstellungsmodus versetzt und es über adb shell mit dem PC verbunden .
Wie kann ich die Liste der Speichergeräte und Partitionen anzeigen?
Hinweis: fdisk
funktioniert nicht.
Ich glaube, Sie wollen: cat /proc/mtd
.
Auch nützlich: mount
.
cat /proc/partitions
zeigt auch eine Liste aller Partitionen. Ich denke, mount
korreliert mit cat /proc/mounts
. Ah, guter alter/proc
dev: size erasesize name
ob ich als su laufe oder nicht. android.stackexchange.com/q/53225/693/proc/mtd
ist nicht auf allen Geräten verfügbar, /proc/partitions
sollte es aber sein.Normalerweise verwende ich eine Kombination der folgenden 4 Befehle und korreliere sie, da jeder dieser Befehle einen Teil der Informationen liefert, die möglicherweise benötigt werden.
Summarisch:
Using df
listet den Alias des Dateisystempfads und die Größeninformationen auf, wie unten gezeigt (Gesamtgröße, verwendet, frei und Blockgröße)
Beispielausgabe:
root@ks01lte:/sdcard # df
df
Filesystem Size Used Free Blksize
/dev 910.0M 92.0K 909.9M 4.0K
/firmware 64.0M 8.7M 55.2M 16.0K
/firmware-modem 64.0M 49.2M 14.8M 16.0K
/system 2.2G 2.2G 62.7M 4.0K
/data 11.9G 3.0G 8.9G 4.0K
/cache 31.5M 4.1M 27.4M 4.0K
/persist 7.9M 4.0M 3.8M 4.0K
/efs 13.8M 4.4M 9.3M 4.0K
/storage/emulated 910.0M 0.0K 910.0M 4.0K
/storage/emulated/0 11.9G 3.0G 8.9G 4.0K
/storage/emulated/0/Android/obb 11.9G 3.0G 8.9G 4.0K
/storage/emulated/legacy 11.9G 3.0G 8.9G 4.0K
/storage/emulated/legacy/Android/obb 11.9G 3.0G 8.9G 4.0K
/mnt/media_rw/extSdCard 29.7G 251.8M 29.5G 32.0K
/storage/extSdCard 29.7G 251.8M 29.5G 32.0K
(... aus Platzgründen gekürzt)
Using cat /proc/mounts
zeigt den Dateipfad der Partition, den Alias, den Dateisystemtyp, den Start-Inode, die Anzahl der Blöcke, den Lese-/Schreibstatus (und andere Parameter der einzelnen Partition, bei denen ich mir nicht ganz sicher bin)
cat /proc/mounts
kann etwas chaotisch sein, aber wenn Sie sie Zeile für Zeile (Eintrag für Eintrag) sorgfältig lesen, erhalten Sie die InformationenBeispielausgabe:
root@ks01lte:/sdcard # cat /proc/mounts
cat /proc/mounts
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,size=931840k,nr_inodes=124673,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 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
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,size=931840k,nr_inodes=124673,mode=750,gid=1000 0 0
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,errors=panic,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/efs /efs ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0
(... aus Platzgründen gekürzt)
Mit cat /proc/partitions
erhalten Sie den tatsächlichen Partitionsnamen und die Anzahl der Blöcke in der Partition.
Beispielausgabe:
root@ks01lte:/sdcard # cat /proc/partitions
cat /proc/partitions
major minor #blocks name
253 0 1048576 vnswap0
179 0 15388672 mmcblk0
179 1 15360 mmcblk0p1
179 2 58816 mmcblk0p2
179 3 512 mmcblk0p3
179 4 32 mmcblk0p4
179 5 32 mmcblk0p5
179 6 2048 mmcblk0p6
179 7 512 mmcblk0p7
179 8 512 mmcblk0p8
179 9 10240 mmcblk0p9
179 10 10240 mmcblk0p10
179 11 14336 mmcblk0p11
179 12 3072 mmcblk0p12
179 13 3072 mmcblk0p13
179 14 20480 mmcblk0p14
179 15 20480 mmcblk0p15
179 16 10240 mmcblk0p16
179 17 7159 mmcblk0p17
179 18 3072 mmcblk0p18
(... aus Platzgründen gekürzt)
Mit ls -al /dev/block/platform/msm_sdcc.1/by-name
erhalten Sie die Zuordnung zwischen dem Partitionsalias und dem Pfad der tatsächlichen Partitionsdatei (Sie erhalten auch den Eigentümer, seine Benutzergruppe usw.).
Beispielausgabe:
root@ks01lte:/sdcard # ls -al /dev/block/platform/msm_sdcc.1/by-name
ls -al /dev/block/platform/msm_sdcc.1/by-name
lrwxrwxrwx root root 2014-01-20 11:29 aboot -> /dev/block/mmcblk0p6
lrwxrwxrwx root root 2014-01-20 11:29 apnhlos -> /dev/block/mmcblk0p1
lrwxrwxrwx root root 2014-01-20 11:29 backup -> /dev/block/mmcblk0p17
lrwxrwxrwx root root 2014-01-20 11:29 boot -> /dev/block/mmcblk0p14
lrwxrwxrwx root root 2014-01-20 11:29 hidden -> /dev/block/mmcblk0p25
lrwxrwxrwx root root 2014-01-20 11:29 modem -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 2014-01-20 11:29 persdata -> /dev/block/mmcblk0p22
lrwxrwxrwx root root 2014-01-20 11:29 persist -> /dev/block/mmcblk0p21
lrwxrwxrwx root root 2014-01-20 11:29 recovery -> /dev/block/mmcblk0p15
lrwxrwxrwx root root 2014-01-20 11:29 system -> /dev/block/mmcblk0p23
lrwxrwxrwx root root 2014-01-20 11:29 tz -> /dev/block/mmcblk0p8
lrwxrwxrwx root root 2014-01-20 11:29 userdata -> /dev/block/mmcblk0p26
(... aus Platzgründen gekürzt)
/dev/block/platform/xxx/by-name
. Did have /proc/emmc
, was ähnlich ist, aber die Bootpartitionen nicht auflistet. Habe es auch nicht cat /proc/mounts
, sondern benutzt mount
.vbmeta partition
Größe und Ort herauszufinden. Wo ist dasAlter Thread, aber etwas gefunden, das noch niemand erwähnt hat ... nur für den Fall, dass es jemand nützlich findet.
ls -la /dev/block/bootdevice/by-name
Das Verzeichnis enthält benannte symbolische Links zu allen Partitionen.
ls -l $(find /dev/block -name by-name)
alle möglichen Pfade abdecken (was natürlich für andere Geräte unterschiedlich ist).Noch mehr nützliche Informationen erhalten Sie unter parted
. Ein Beispiel, wenn das Blockgerät ist /dev/block/mmcblk0
:
~ # parted /dev/block/mmcblk0 print
Model: MMC SEM04G (sd/mmc)
Disk /dev/block/mmcblk0: 3959MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
10 524kB 1573kB 1049kB PIT
6 1573kB 3146kB 1573kB CSPSA FS
7 4194kB 14.7MB 10.5MB ext4 EFS
2 14.7MB 31.5MB 16.8MB ext4 Modem FS
14 32.5MB 34.6MB 2097kB SBL
16 34.6MB 36.7MB 2097kB SBL_2
1 36.7MB 53.5MB 16.8MB PARAM
12 53.5MB 55.6MB 2097kB IPL Modem
13 55.6MB 72.4MB 16.8MB Modem
15 72.4MB 89.1MB 16.8MB Kernel
17 89.1MB 106MB 16.8MB Kernel2
3 106MB 748MB 642MB ext4 SYSTEM
5 748MB 2056MB 1309MB ext4 DATAFS
4 2056MB 2377MB 321MB ext4 CACHEFS
9 2377MB 2713MB 336MB ext4 HIDDEN
11 2713MB 2765MB 52.4MB Fota
8 2765MB 3949MB 1184MB UMS
~ #
Sie können fdisk über busybox auf einem Droiden verwenden. Angenommen, Sie haben die Busybox-Binärdatei auf Ihrem Rom und sie befindet sich auf Ihrem Pfad, lautet der Befehl einfach:
busybox fdisk [the various fdisk options...]
Beispielausgabe eines i9305 mit laufender TWRP-Wiederherstellung ( v3.5.0_9-0
):
~ # busybox fdisk -l /dev/block/mmcblk0
Found valid GPT with protective MBR; using GPT
Disk /dev/block/mmcblk0: 30777344 sectors, 2740M
Logical sector size: 512
Disk identifier (GUID): 52444e41-494f-2044-4d4d-43204449534b
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 30777310
Number Start (sector) End (sector) Size Code Name
1 8192 16383 4096K 0700 BOTA0
2 16384 24575 4096K 0700 BOTA1
3 24576 65535 20.0M 0700 EFS
4 65536 73727 4096K 0700 m9kefs1
5 73728 81919 4096K 0700 m9kefs2
6 81920 90111 4096K 0700 m9kefs3
7 90112 106495 8192K 0700 PARAM
8 106496 122879 8192K 0700 BOOT
9 122880 139263 8192K 0700 RECOVERY
10 139264 319487 88.0M 0700 RADIO
11 319488 843775 256M 0700 TOMBSTONES
12 843776 2940927 1024M 0700 CACHE
13 2940928 6086655 1536M 0700 SYSTEM
14 6086656 7233535 560M 0700 HIDDEN
15 7233536 7249919 8192K 0700 OTA
16 7249920 30769151 11.2G 0700 USERDATA
Sie können Größen und Nutzungsstatistiken aller gemounteten Partitionen anzeigen, indem Sie einfach diesen Befehl verwenden:
df
Beachten Sie, dass das Typical df -h
hier nicht funktioniert und nicht benötigt wird, da die Ausgabe bereits in Megabyte erfolgt. Der Befehl funktioniert innerhalb adb shell
des Android-Terminalemulators, aber nicht im Wiederherstellungsmodus-Terminal, da zu diesem Zeitpunkt nichts gemountet ist.
Nur für den internen Speicher können Sie DiskInfo installieren . Aber es zeigt nicht das Dateisystem meiner SD-Karte.
zum Auflisten von mmcblk0-Partitionen:
cat /proc/dumchar_info
Part_Name Size StartAddr Type MapTo
preloader 0x0000000000600000 0x0000000000000000 2 /dev/misc-sd
mbr 0x0000000000080000 0x0000000000000000 2 /dev/block/mmcblk0
ebr1 0x0000000000080000 0x0000000000080000 2 /dev/block/mmcblk0p1
pro_info 0x0000000000300000 0x0000000000100000 2 /dev/block/mmcblk0
nvram 0x0000000000500000 0x0000000000400000 2 /dev/block/mmcblk0
protect_f 0x0000000000a00000 0x0000000000900000 2 /dev/block/mmcblk0p2
protect_s 0x0000000000a00000 0x0000000001300000 2 /dev/block/mmcblk0p3
seccfg 0x0000000000020000 0x0000000001d00000 2 /dev/block/mmcblk0
uboot 0x0000000000060000 0x0000000001d20000 2 /dev/block/mmcblk0
bootimg 0x0000000000600000 0x0000000001d80000 2 /dev/block/mmcblk0
recovery 0x0000000000600000 0x0000000002380000 2 /dev/block/mmcblk0
sec_ro 0x0000000000600000 0x0000000002980000 2 /dev/block/mmcblk0p4
misc 0x0000000000080000 0x0000000002f80000 2 /dev/block/mmcblk0
logo 0x0000000000300000 0x0000000003000000 2 /dev/block/mmcblk0
expdb 0x0000000000080000 0x0000000003300000 2 /dev/block/mmcblk0
android 0x0000000000a00000 0x0000000003380000 2 /dev/block/mmcblk0p5
cache 0x000000002bc00000 0x0000000003d80000 2 /dev/block/mmcblk0p6
usrdata 0x00000000b6ca0000 0x000000002f980000 2 /dev/block/mmcblk0p7
bmtpool 0x0000000000000000 0x0000000037780000 2 /dev/block/mmcblk0
Part_Name:Partition name you should open;
Size:size of partition
StartAddr:Start Address of partition;
Type:Type of partition(MTD=1,EMMC=2)
MapTo:actual device you operate
/proc/diskstats
mit ähnlichen Informationen, wenn auch nicht so hübsch formatiert. (TWRP-Wiederherstellung)Versuchen Sie dies im Pfad -
dev/block/platform/******/by-name # ls -al
Probieren Sie alle Verzeichnisse in dev/block/platform/**/byname aus
Endolith
fdisk -l /dev/block/mmcblk0