Cum pot clona un card SD adoptat? (Android, Card Sd, Stocare Adoptabilă)

JJrussel a intrebat.
a intrebat.

Am adoptat un card SD ca memorie internă și într-o zi a încetat brusc să mai funcționeze.

Cu un ajutor extraordinar din partea membrului @alecxs am reușit să fac o copie img a acestuia și să răsfoiesc fișierele din el. Iată câteva dintre elementele de bază ale modului în care s-a făcut acest lucru.

Nu sunt sigur de ce a eșuat pe telefon, deoarece dacă era o problemă fizică cu cardul SD, atunci nu ar fi trebuit să NU fie posibilă citirea sau decriptarea acestuia?

În orice caz, am un alt card SD (nou) și aș vrea să îl clonez pe cel vechi pe el pentru a putea începe efectiv să îl folosesc ca și cum ar fi fost cel vechi… practic totul să fie ca înainte de defectarea cardului SD.

Există o modalitate de a face acest lucru? Cum?

Pot să-mi văd fotografiile, ceea ce este o ușurare ENORMĂ, dar acum mă îngrijorează datele aplicațiilor, care nu pot fi vizualizate decât dacă sunt puse înapoi în telefon și deschise cu aplicația respectivă.

Comentarii

  • ddrescue <old card> <new card>. S-a făcut. Dar dacă citirea sectoarelor nu reușește din cauza corupției în zone mari, este posibil ca sistemul de fișiere să nu fie montat în Android. De asemenea, nu va funcționa dacă ați uitat cardul în Android. –  > Por Irfan Latif.
  • @IrfanLatif Mulțumesc. Ați putea, vă rog, să dați un exemplu pentru <old card> <new card>? Și ce înțelegeți prin „a uitat cardul în Android? –  > Por JJrussel.
  • Cum se utilizează ddrescue: unix.stackexchange.com/a/14577/262728. Uitarea cardului SD: android.stackexchange.com/questions/181476 –  > Por Irfan Latif.
  • sudo dd if=/media/xubuntu/404CCE454CCE3606/sd.img of=/dev/sdc bs=4M; sync android.stackexchange.com/a/186956 aveți grijă cu asta! asigurați-vă că /dev/sdc este cardul MicroSD (în caz contrar, hard disk-ul dvs. poate fi șters) –  > Por alecxs.
  • fiți conștienți că există o mică șansă ca clonarea 1:1 să corupă și noul card MicroSD android.stackexchange.com/q/221269 –  > Por alecxs.
1 răspunsuri
alecxs

Încercați următoarele

  • mai întâi copiați sd.img pe noul card MicroSD (se va termina fără succes „eroare de scriere, nu este suficient spațiu”)

  • creați un alt sd2.img de pe noul card MicroSD (cel care s-a terminat fără succes, avem nevoie doar de sd2.img brut cu dimensiunea corectă)

  • rulați kpartx pentru a mapa sd.img în /dev/mapper/loop1p1, /dev/mapper/loop1p2 și sd2.img în /dev/mapper/loop2p1, /dev/mapper/loop2p2 (poate varia)

  • creați două noi dispozitive de bloc pentru /dev/mapper/loop1p2 și /dev/mapper/loop2p2 (consultați linkul din întrebare)

  • acum să presupunem că /dev/mapper/loop1p2 este /dev/mapper/crypt1 (= sd.img) și /dev/mapper/loop2p2 este /dev/mapper/crypt2 (= sd2.img)

  • crypt1 ar trebui să poată fi montată ca partiție ext4 în orice punct de montare (acesta este vechiul card MicroSD).

  • crypt2 este probabil stricată din cauza dimensiunii mai mici și trebuie formatată cu mke2fs

    mke2fs -t ext4 /dev/mapper/crypt2

  • acum crypt2 ar trebui să poată fi montat și el ca ext4, montați-l pe un alt punct de montare

  • în continuare, copiați toate fișierele dintr-un punct de montare în altul. asigurați-vă că păstrați secontext, xattrs, uid și permisiunile fișierelor. acest lucru se poate face cu busybox cp -ac sau tar --selinux --xattrs -p

sunt pe mobil și ocupat astăzi, voi îmbunătăți acest răspuns mai târziu. btw nu sunt sigur că așa funcționează deloc (partea de dmsetup)

Mult noroc

Comentarii

  • Comentariile nu sunt pentru discuții extinse; această conversație a fost mutată în chat. –  > Por Firelord.