[How-To] SD Karte gleichzeitig als Interne Speichererweiterung und Mobilen Speicher benutzen (Marshmallow)

  • 169 Antworten
  • Letztes Antwortdatum
membro schrieb:
Naja, ADB ist schon eine Krücke. Vielleicht kommt in Kürze mal ein Programmierer darauf, das alles in eine kleine App zu packen und dann auf Knopfdruck alles durchlaufen zu lassen.
Das meinte ich eigentlich [emoji16]
 
Öhm sowas gibt es doch schon - nennt sich Terminal Emulator und das automatisieren würde sich via script lösen lassen.
 
Cynob schrieb:
und das automatisieren würde sich via script lösen lassen.
Und genau an der Stelle kommst du ins Spiel [emoji16]
 
Ich hab mir die letzte Seite jetzt mehrfach durchgelesen - will membro nur umpartitionieren oder was hat der zur Hölle vor :D
 
Also wenn ich ihn richtig verstanden habe, will er es hinbekommen die ex Speicherkarte so zu formatieren und ins System einzubinden, das die SD als interner Speicher erkannt und er apps usw von dort laufen, sich installieren lassen usw
 
Das hab ich mal mit nem Archos Tablet mit Android 2.x gemacht - geht voll auf den Akku!
Naja im Prinzip macht man aber auf der Speicherkarte 2 Partitionen und schreibt in der fstab den Einbindungspunkt für /data so um das er auf die zweite Partition der externen SDkarte zeigt.
 
@Cynob
@Sunny76

Hallo ihr beiden,
vielen vielen herzlichen Dank. Aber der Reihe nach:
Nach dem ich hier mein Problem hineingeschrieben hatte und sehnsüchtig auf eine Lösung gehofft hatte, die nicht kam, hatte ich alle Hoffnung aufgegeben. Vorhin habe ich noch einmal hinein gesehen und Eure Beitrage gelesen.
Der Hinweis von Cynob: Bei mir gibts da unter Einstellungen > Entwickleroptionen den Punkt "Authorisierung für USB aufheben, der war es, der mich gequält hat und wodurch ich immer eine Fehlermeldung bekam. Nachdem diesen Eintrag korrigiert hatte, klappte es und das Gerät war unter ADB ansprechbar.
Cynob, Du bist der Größte! Vielen vielen Dank.
So, dann habe ich mit sm list-disks adoptable private die gesamte externe SDcard ausgewählt und unter 'Speicherplatz&USB' die externe Speicherkarte als intern formatiert.
Unter 'Speicherplatz&USB' wird mir nun folgendes angezeigt:

Gerätespeicher
0,89 GB von 30,36 GB insgesamt verwendet
Interner Speicher
207 von 1,10 GB verwendet
SD-Karte Samsung
700 MB von 29,26 GB verwendet
Mobiler Speicher
sdcard0
609 MB von 12,83 verwendet

Ich hoffe und nehme an, dass das nun so richtig, sich kein Fehler eingeschlichen hat und die externe SDcard Samsung dem internen Speicher zugewiesen ist. Es stehen aber noch Apps im internen Speicher. Eigentlich müsste doch der interne Speicher und die Samsung SDcard eine Einheit bilden. Warum die sdcard0 als mobil ausgegeben wird, verstehe ich nicht so ganz. Auf meinem Samsung S4Active, bei dem ich die externe SDCard direkt nach Installation von CM13 einbinden konnte, steht das eigentlich genau so, mit anderen Werten natürlich, aber eine sdcard0 ist dort nicht aufgeführt .
Nochmals vielen Dank. Schaut mal bitte nach, ob das alles so richtig ist bei mir. Würde mich freuen, von Euch zu hören,
Und ein frohes Weihnachtsfest wünsche ich Euch auch.
membro
 
  • Danke
Reaktionen: Sunny
poste mal die Ausgabe von den shell Befehlen "mount" und "df"
 
C:\ADB>adb shell
7[r[999;999H[6n8shell@p1:/ $
shell@p1:/ $ sm list-disks adoptable private
disk:179_24
shell@p1:/ $
C:\ADB>

ADB Shell funktioniert nun nicht mehr.

Diese Meldung bekomme ich jetzt:

C:\ADB>adb shell
error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.

C:\ADB>

Nach einem Neustart und Einstellung auf MTP sowie Android Debugging funktioniert ADB wieder:

C:\ADB>adb shell
7[r[999;999H[6n8shell@p1:/ $
shell@p1:/ $
 
Zuletzt bearbeitet:
du musst die shell auf dem Android Gerät wieder mit "adb shell" öffnen.
 
Versteh ich nicht. Wo denn? In den Entwickleroptionen?
Funktioniert doch jetzt, siehe oben. Entschuldige, aber ich habe keine große Ahnung von ADB.
Ich weiß auch nicht wie ich die mount und sf Ausgaben aufrufen muss.
Habe Nachsicht.
 
Wenns denn funktioniert - laufen lassen! ;)

Die Befehle müsstest du in dem cmd Fenster von Windows eingeben:

"C:\ADB>adb shell
7[r[999;999H[6n8shell@p1:/ $
shell@p1:/ $ "

Da warst du ja schon.
Irgendwann demnächst soll von mir auch ne Anleitung kommen wie man so ne shell bedient wenns dich interessieren sollte.

Gruß Cynob
 
Ja prima. Aber wie komme ich jetzt weiter? Habe ich das richtig gemacht mit externen SDCard oder muss ich das anders machen? Was hat es denn mit den mount und df Befehlen auf sich? Wie sind da die Befehlssequenzen? Muss vielleicht vorher etwas über ADB gemountet werden?
Mit einem Mountbefehl könnte man doch wohl kontrollieren, ob die externe SDCard mit dem inneren Speicher verbunden ist?

Update
Es funktioniert nicht. Beim Installieren der Programme ist der interne Speicher irgendwann voll und es kommt die Meldung, dass kein Speicher mehr vorhanden ist. Also, die externe SDCard wird nicht mit dem internen Speicher verbunden, sowie bei meinem Samsung S4Active.
Irgendwie müssen wahrscheinlich andere Parameter bei der ADB-Installation eingegeben werden.
 
Zuletzt bearbeitet:
Ok also deine Speicherverteilung sieht ja jetzt so aus wie weiter oben.

Dein Interner Speicher ( Da wo ja die Programme hinkommen) ist ja immer noch 1,1Gb klein.
Deine SdKarte wird ja jetzt als /sdcard und /sdcard0 gelistet nehm ich mal an?

Der Befehl mount gibt alle eingehängten partitionen aus und "df" steht für disk-free und macht ne hübsche Liste wo wieviel Speicher frei ist.

So jetzt Schritt für Schritt:

Androiden über USB verbinden und ( hast du ja schon) adb auf dem Gerät aktivieren.

Jetzt dieses schwarze Fenster ( Windows CMD) öffnen und in den ADB Ordner navigieren ( cd c:\ADB)

Dort kannst du ja jetzt dich mit dem Handy verbinden.
Wenn du "adb shell" dort eingibst wird eine Verbindung zu deinem Androiden aufgebaut womit du direkt Befehle auf dem Handy ausführen kannst.
Das erkennst du daran das sich der Text vor dem blinkenden Cursor ändert ( zu "shell@p1:/ $" in deinem Fall)

Also wenn du da angekommen bist hast du eine shell vom Android auf deinem PC geöffnet und kannst dort jetzt Befehle/Programme ausführen.

Tipp z.B. einfach mal die zwei Buchstaben "ls"ein > als Ausgabe kommt in dem Fensterchen eine Liste von Ordnern und Dateien und am Ende erscheint wieder diese Eingabezeile.

So dort tippt man jetzt den Befehl "mount" ein.

Bei mir kommt dann sowas raus:

Code:
shell@mako:/ $ mount
rootfs on / type rootfs (ro,seclabel,relatime)
tmpfs on /dev type tmpfs (rw,seclabel,nosuid,relatime,mode=755)
devpts on /dev/pts type devpts (rw,seclabel,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,seclabel,relatime)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
/sys/kernel/debug on /sys/kernel/debug type debugfs (rw,seclabel,relatime)
none on /acct type cgroup (rw,relatime,cpuacct)
none on /sys/fs/cgroup type tmpfs (rw,seclabel,relatime,mode=750,gid=1000)
tmpfs on /mnt type tmpfs (rw,seclabel,relatime,mode=755,gid=1000)
none on /dev/cpuctl type cgroup (rw,relatime,cpu)
none on /sys/fs/cgroup/bfqio type cgroup (rw,relatime,bfqio)
/dev/block/platform/msm_sdcc.1/by-name/system on /system type ext4 (ro,seclabel,relatime,data=ordered)
/dev/block/platform/msm_sdcc.1/by-name/cache on /cache type ext4 (rw,seclabel,nosuid,nodev,noatime,data=ordered)
/dev/block/platform/msm_sdcc.1/by-name/userdata on /data type ext4 (rw,seclabel,nosuid,nodev,noatime,noauto_da_alloc,data=ordered)
/dev/block/platform/msm_sdcc.1/by-name/persist on /persist type ext4 (rw,seclabel,nosuid,nodev,relatime,nodelalloc,data=ordered)
/dev/block/platform/msm_sdcc.1/by-name/modem on /firmware type vfat (ro,context=u:object_r:radio_efs_file:s0,relatime,uid=1000,gid=1000,fmask=0337,dmask=0227,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
tmpfs on /storage type tmpfs (rw,seclabel,relatime,mode=755,gid=1000)
/dev/fuse on /mnt/runtime/default/emulated type fuse (rw,nosuid,nodev,noexec,noatime,user_id=1023,group_id=1023,default_permissions,allow_other)
/dev/fuse on /storage/emulated type fuse (rw,nosuid,nodev,noexec,noatime,user_id=1023,group_id=1023,default_permissions,allow_other)
/dev/fuse on /mnt/runtime/read/emulated type fuse (rw,nosuid,nodev,noexec,noatime,user_id=1023,group_id=1023,default_permissions,allow_other)
/dev/fuse on /mnt/runtime/write/emulated type fuse (rw,nosuid,nodev,noexec,noatime,user_id=1023,group_id=1023,default_permissions,allow_other)
shell@mako:/ $


Das sieht erstmal wirr aus - aber man kann daraus ablesen was wohin eingebunden wurde, welche Dateisysteme verwendung finden usw.

Das "df" bringt folgendes:
Code:
130|shell@mako:/ $ df
Filesystem                                    1K-blocks    Used Available Use% Mounted on
tmpfs                                            935848      76    935772   1% /dev
none                                             935848      12    935836   1% /sys/fs/cgroup
tmpfs                                            935848       0    935848   0% /mnt
/dev/block/platform/msm_sdcc.1/by-name/system    847656  664932    182724  79% /system
/dev/block/mmcblk0p22                            564988   10112    554876   2% /cache
/dev/block/mmcblk0p23                          13549392 3066264  10483128  23% /data
/dev/block/mmcblk0p1                              65488   45504     19984  70% /firmware
/dev/fuse                                      13549392 3066264  10483128  23% /storage/emulated

Dort ignoriert man die Zahlen - interessant ist da in unserem Fall die Zeile:
/dev/block/mmcblk0p23 13549392 3066264 10483128 23% /data
> die sagt uns welche Partition unsere /data Partition ist.

Ich kann mir schon denken was du gemacht hast. Du hast eine neue Partition auf der Sdkarte erstellt - diese wird allerdings jetzt nicht als Interner SPeicher verwendet sondern vom System werden zwei externe Speicherkarten angezeigt. Lieg ich mit der Annahme richtig?

Gruß Cynob
 
Hallo Cynab,
ja, auf dieser Samsungkarte hatte ich vorher eine Partition erstellt. Ich schicke Dir jetzt mal meine Daten bzgl. mount und df. Ich werde da nicht so richtig schlau daraus, aber Du wirst darin lesen wie in einem offenen Buch:

C:\ADB>adb shell
7[r[999;999H[6n8shell@p1:/ $
shell@p1:/ $ mount
rootfs on / type rootfs (ro,seclabel,relatime)
tmpfs on /dev type tmpfs (rw,seclabel,nosuid,relatime,mode=755)
devpts on /dev/pts type devpts (rw,seclabel,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,seclabel,relatime)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
/sys/kernel/debug on /sys/kernel/debug type debugfs (rw,seclabel,relatime)
none on /acct type cgroup (rw,relatime,cpuacct)
none on /sys/fs/cgroup type tmpfs (rw,seclabel,relatime,mode=750,gid=1000)
none on /sys/fs/cgroup/memory type cgroup (rw,relatime,memory)
tmpfs on /mnt type tmpfs (rw,seclabel,relatime,mode=755,gid=1000)
none on /dev/memcg type cgroup (rw,relatime,memory)
none on /dev/cpuctl type cgroup (rw,relatime,cpu)
/dev/mapper/lvpool-system on /system type ext4 (ro,seclabel,relatime,user_xattr,
barrier=1,data=ordered,discard)
/dev/mapper/lvpool-userdata on /data type ext4 (rw,seclabel,nosuid,nodev,noatime
,errors=panic,user_xattr,barrier=1,nomblk_io_submit,data=ordered,discard)
/dev/block/mtdblock5 on /radio type yaffs2 (rw,seclabel,relatime)
/dev/block/mtdblock2 on /datadata type yaffs2 (rw,seclabel,relatime)
/dev/block/mtdblock3 on /cache type yaffs2 (rw,seclabel,nosuid,nodev,relatime)
/dev/block/mtdblock4 on /efs type yaffs2 (rw,seclabel,relatime)
tmpfs on /storage type tmpfs (rw,seclabel,relatime,mode=755,gid=1000)
/dev/block/mtdblock2 on /data/data type yaffs2 (rw,seclabel,relatime)
/dev/block/vold/public:179_1 on /mnt/secure/asec type vfat (rw,dirsync,nosuid,no
dev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,cod
epage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/block/dm-3 on /mnt/asec/com.mxtech.ffmpeg.v7_neon-1 type ext4 (ro,dirsync,s
eclabel,nosuid,nodev,noatime,user_xattr,barrier=1)
/dev/block/dm-4 on /mnt/asec/com.mxtech.videoplayer.ad-1 type ext4 (ro,dirsync,s
eclabel,nosuid,nodev,noatime,user_xattr,barrier=1)
/dev/block/dm-2 on /mnt/asec/de.swr.avp.ard-1 type ext4 (ro,dirsync,seclabel,nos
uid,nodev,noatime,user_xattr,barrier=1)
/dev/block/dm-5 on /mnt/asec/com.mxtech.ffmpeg.v7_vfpv3d16-1 type ext4 (ro,dirsy
nc,seclabel,nosuid,nodev,noatime,user_xattr,barrier=1)
/dev/block/dm-6 on /mnt/asec/de.einsundeins.dokumente-1 type ext4 (ro,dirsync,se
clabel,nosuid,nodev,noatime,user_xattr,barrier=1)
/dev/block/vold/public:179_1 on /mnt/media_rw/3D53-8EA4 type vfat (rw,dirsync,no
suid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0
020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/block/vold/public:179_1 on /mnt/secure/asec type vfat (rw,dirsync,nosuid,no
dev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,cod
epage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/fuse on /mnt/runtime/default/3D53-8EA4 type fuse (rw,nosuid,nodev,noexec,no
atime,user_id=1023,group_id=1023,default_permissions,allow_other)
/dev/fuse on /storage/3D53-8EA4 type fuse (rw,nosuid,nodev,noexec,noatime,user_i
d=1023,group_id=1023,default_permissions,allow_other)
/dev/fuse on /mnt/runtime/read/3D53-8EA4 type fuse (rw,nosuid,nodev,noexec,noati
me,user_id=1023,group_id=1023,default_permissions,allow_other)
/dev/fuse on /mnt/runtime/write/3D53-8EA4 type fuse (rw,nosuid,nodev,noexec,noat
ime,user_id=1023,group_id=1023,default_permissions,allow_other)
/dev/block/dm-7 on /mnt/expand/4494b359-c13c-4e91-908f-b20184937a46 type f2fs (r
w,seclabel,nosuid,nodev,noatime,background_gc=on,user_xattr,acl,inline_data,acti
ve_logs=6)
shell@p1:/ $ df
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 250276 80 250196 1% /dev
none 250276 8 250268 1% /sys/fs/cgroup
tmpfs 250276 0 250276 0% /mnt
/dev/mapper/lvpool-system 907096 636556 270540 71% /system
/dev/mapper/lvpool-userdata 1148980 1142228 6752 100% /data
/dev/block/mtdblock5 16384 14604 1780 90% /radio
/dev/block/mtdblock2 432128 57116 375012 14% /datadata
/dev/block/mtdblock3 17920 2624 15296 15% /cache
/dev/block/mtdblock4 12800 5716 7084 45% /efs
/dev/block/dm-3 22604 20844 1760 93% /mnt/asec/com.mxtec
h.ffmpeg.v7_neon-1
/dev/block/dm-4 33912 32448 1464 96% /mnt/asec/com.mxtec
h.videoplayer.ad-1
/dev/block/dm-2 67840 65936 1904 98% /mnt/asec/de.swr.av
p.ard-1
/dev/block/dm-5 21576 20100 1476 94% /mnt/asec/com.mxtec
h.ffmpeg.v7_vfpv3d16-1
/dev/block/dm-6 5124 3772 1352 74% /mnt/asec/de.einsun
deins.dokumente-1
/dev/fuse 13448016 3773488 9674528 29% /storage/3D53-8EA4
/dev/block/dm-7 30684140 720888 29757448 3% /mnt/expand/4494b35
9-c13c-4e91-908f-b20184937a46
shell@p1:/ $ exit

C:\ADB>
 
Ok deine zwei Partitionen dürftest du jetzt ja unter:
/mnt/expand/3D53-8EA4
und unter:
/storage/3D53-8EA4

finden oder?
[doublepost=1482773650,1482772518][/doublepost]Die werden dann da nicht richtig eingebunden. Ich würde die Sdkarte nochmal rausnehmen und komplett formatieren damit die zwei Partitionen weg sind und dann das ganze nach Anleitung nochmal machen.
 
Ich habe mir die externe SDCard mal unter Easeus angesehen. Sieht so aus:
Samsung Easeus Ausgabe.jpg
Diese Typ GPT bekommt man unter Easeus auch mit Löschen und Neuerstellung der Partition nicht weg.
Nur mit dem Proggi 'Minititool Partition Wizzard gelingt es, die Partition richtig anzulegen, siehe Bild:

Samsung Easeus Ausgabe 2.jpg
Nun habe ich vorab noch eine Frage zur Befehlssequenz. Um die ganze SDCard einzubinden, ist diese Sequenz richtig?

sm list-disks adoptable private

Gruß,
membro
 
du musst das benutzen was
sm list-disks adoptable

dir ausspuckt.
 
Er spuckt bei mir disk:179_24 aus. Wenn ich das eingebe, bekomme ich eine Fehlermeldung. Da stimmt doch etwas nicht, ich denke, dass ist nicht die ganze Befehlssequenz. Was mache ich falsch?


C:\>cd adb

C:\ADB>adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
7[r[999;999H[6n8shell@p1:/ $
shell@p1:/ $ sm list-disks adoptable
disk:179_24
shell@p1:/ $ disk:179_24
/system/bin/sh: disk:179_24: not found
127|shell@p1:/ $
 
Du musst natürlich schon den kompletten Befehl eingeben und nicht nur die ID der Disk. Versuch mal in deinem Fall
Code:
sm partition disk:179,24 mixed 33
Natürlich via ADB-Shell (oder Terminal Emulator).

EDIT: Je nachdem wieviel du von der SD-Karte verwenden willst, wirst du "mixed 33" variieren müssen.
 

Ähnliche Themen

W
Antworten
6
Aufrufe
1.823
BOotnoOB
BOotnoOB
A
Antworten
1
Aufrufe
1.421
magicw
magicw
K
Antworten
0
Aufrufe
1.350
Koir
K
Zurück
Oben Unten