ocinside
aus Krefeld online
Administrator 23 Jahre dabei !
Intel Core i9 3600 MHz @ 5200 MHz 78°C mit 1.552 Volt
|
Problem: Wenn man auf einem Android basierenden mobilen Gerät einfach mal seine microSD Karte erneuern möchte, um wieder etwas mehr Speicherplatz zu erhalten, wird man nach dem Kopieren der Daten ein paar Probleme feststellen. Nach dem Kopieren der microSD Karte stimmen die ganzen Bildergalerien nicht mehr und die Samsung Wiedergabelisten sind leer oder andere Playlisten sind leer, die Pfade von Verknüpfungen sind weg, Verzeichnisse von Cachebox oder anderen Geocaching Apps, etc. stimmen nicht mehr! Ursache: Das liegt daran dass sich der Pfad in Android aus der UUID zusammensetzt (UUID = Universally Unique Identifier, manche nennen es auch Disk Seriennummer) und dabei ändern sich zwangsläufig auch die Verzeichnisstrukturen, sobald man die Daten von einer microSD Karte auf eine neue SD Karte kopiert. Beispielsweise wird aus /storage/1234-5678/dcim nun auf der neuen Karte /storage/1111-2222/dcim und das ist natürlich für Datenbanken oder absolute Pfadangaben tötlich! UUID ist übrigens etwas anderes PARTUUID oder Volume Label, das man frei vergeben und problemlos verändern kann. Lösung: - Zunächst sichert man die alte microSD Karte z.B. in ein ZIP File (z.B. PeaZip), denn wenn man sie einfach nur mit allen Pfaden kopiert, ändern sich alle Verzeichnis- und Dateieigenschaften, so dass dessen Attribut mit der Datumsangabe aktualisiert wird und das möchten wir nicht (alternativ mit Tools wie Total Commander kopieren). - Nun stellt man diese Daten aus dem ZIP File wieder her, aber diesmal auf die neue, frisch formatierte microSD Karte. - Jetzt läd man sich irgendein Linux Live Distribution auf einen USB Stick, z.B. das hilfreiche Tool gparted und spielt das iso File z.B. mit unetbootin auf irgendeinen USB Stick (ca. 500MB benötigt) und bootet nun mit diesem Linux USB Stick. Mit gparted könnte man übrigens auch eine neue UUID erstellen lassen, aber leider keine eigene UUID sondern nur eine zufällige UUID und das hilft hier nicht. - Zum Ändern der UUID startet man darin mit Terminal eine Shell bzw. Konsole, wo man zunächst die UUID der alte microSD Karte mit folgendem Befehl ausliest: Zunächst mit sudo dmesg oder sudo fdisk -l die Disk Partitionen ausfindig machen, es muss nicht gemounted sein und sie heißt z.B. /dev/sda1 oder /dev/sdb1 Nun mit dem Befehl sudo blkid/dev/sda1 die UUID von der alten SDKarte notieren. (dort steht dann z.B. /dev/sda1: LABEL="128GB" UUID="0000-0000" BLOCK_SIZE="512" TYPE="exfat" PARTUUID="12345678-01" ) Jetzt die neue microSD Karte einlegen und mit folgendem Befehl die UUID ändern: sudo tune.exfat -I 0000-0000 /dev/sda1 (ich habe bewußt das Beispiel 0000-0000 gewählt, denn manche Samsung Karten kommen ohne UUID Bezeichnung, also 0x0 und somit wird die UUID entfernt, so dass sogar gparted abschmiert, aber das ist ein anderes Thema). Nun noch einmal mit sudo blkid/dev/sda1 die UUID prüfen, et voila, die Karte kann jetzt in das Smartphone oder Tablet eingelegt werden und alle Wiedergabelisten sind wieder wie gewohnt vorhanden ![:punk: :punk:](https://www.forum-inside.de/images/emoticons/punk.gif)
Hinweis: Der Befehl sudo tune.exfat -I {UUID} {device} ist für DOS bzw. FAT oder exfat formatiere Datenträger gedacht. Bei Linux partitionierten USB Sticks oder Festplatten oder microSD Karten ändert man die UUID mit dem folgenden Befehl: sudo tune2fs -U 0000-0000 /dev/sda1 Wenn der Fehler tune2fs bad magic number in super-block while trying to open /dev/sda1 ausgegeben wird, liegt es wahrscheinlich an der falschen Partitionierung (z.B. exfat oder ntfs). bzw. bei einem ext filesystem: sudo xfs_admin -U 0000-0000 /dev/sda1 oder bei einem NTFS file system: ntfslabel --new-serial=123456789 /dev/sda Ebenfalls gut zu wissen: Übrigens dürfen bzw. keine zwei SSD HDD USB SD oder was auch immer mit der identischen UUID gleichzeitig betrieben werden. Wer also seine microSD Karte oder was auch immer clevererweise mit irgendeinem Klone Tool oder in Linux mit dem Befehl dd if=/dev/sda1 of=/dev/sdb1 kopiert hat, kopiert damit auch die UUID und muss diese bei gleichzeitigem Betrieb beider Disks mit zuvor erwähnten Befehlen ändern. Übrigens könnte man sicherlich auch in Android eine Konsole öffnen und die Befehle dort ausführen, dafür müsste man die Disk aber zunächst aushängen.
Hardware News lesen * Unterhalten * Smarthome und Gadgets Übertakten, Modding und Testberichte * Fanartikel kaufen
|