8 votes

Comment restaurer la disposition de la partition d'une carte SD interne endommagée ? J'ai tout essayé

J'ai un Samsung S 3 mini.

J'ai fait quelque chose de vraiment mauvais à mon agencement de partition de la CARTE SD INTERNES. Si je me souviens bien, j'ai essayé de repartitionner ma carte SD externe via fdisk directement sur Android via 'adb shell'. Et j'ai supprimé la partition existante (il n'y en avait qu'une seule si je me souviens bien) sur mmcblk0 (qui semble ne pas être une carte externe, mais interne =).

Maintenant, je l'ai :

~ # cat /proc/partitions
major minor  #blocks  name
 179        0    7634944 mmcblk0
 179       64       2048 mmcblk0boot1
 179       32       2048 mmcblk0boot0
 179       96    3866624 mmcblk1
 179       97    3862528 mmcblk1p1
    ~ # ls -la /dev/block/mmcblk\*
brw-------    1 root     root      179,   0 Jan  1 10:30 /dev/block/mmcblk0
brw-------    1 root     root      179,  32 Jan  1 09:28 /dev/block/mmcblk0boot0
brw-------    1 root     root      179,  64 Jan  1 09:28 /dev/block/mmcblk0boot1
-rw-rw-rw-    1 root     root      16777216 Jan  1 10:07 /dev/block/mmcblk0p20
-rw-r--r--    1 root     root             0 Jan  1 10:07 /dev/block/mmcblk0p22
brw-------    1 root     root      179,  96 Jan  1 09:28 /dev/block/mmcblk1
brw-------    1 root     root      179,  97 Jan  1 09:28 /dev/block/mmcblk1p1
    ~ # df
Filesystem           1K-blocks      Used Available Use% Mounted on
tmpfs                   411756     16452    395304   4% /dev
/dev/block/mmcblk1p1   3858432   1473472   2384960  38% /external\_sd
    ~ # mount
rootfs on / type rootfs (rw)
tmpfs on /dev type tmpfs (rw,nosuid,relatime,mode=755)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
/dev/block/mmcblk1p1 on /external\_sd type vfat (rw,nodev,noatime,nodiratime,fmask=0000,dmask=0000,allow\_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
    ~ # tail ./etc/recovery.fstab
/system     ext4    /dev/block/mmcblk0p22
/cache      ext4    /dev/block/mmcblk0p23
/data       ext4    /dev/block/mmcblk0p25 length=-16384
/efs        ext4    /dev/block/mmcblk0p11
/boot       emmc    /dev/block/mmcblk0p20
/recovery   emmc    /dev/block/mmcblk0p21
/preload    ext4    /dev/block/mmcblk0p24
/modem      ext4    /dev/block/mmcblk0p12
/sdcard     datamedia   /dev/null
/external\_sd    vfat    /dev/block/mmcblk1p1
    ~ # tail ./etc/fstab
/dev/block/mmcblk0p23 /cache ext4 rw
/dev/block/mmcblk0p25 /data ext4 rw
/dev/block/mmcblk0p22 /system ext4 rw
/dev/null /sdcard datamedia rw
    ~ # parted /dev/block/mmcblk0
GNU Parted 1.8.8.1.179-aef3
Using /dev/block/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
print
Warning: /dev/block/mmcblk0 contains GPT signatures, indicating that it has a
GPT table.  However, it does not have a valid fake msdos partition table, as it
should.  Perhaps it was corrupted -- possibly by a program that doesn't
understand GPT partition tables.  Or perhaps you deleted the GPT table, and are
now using an msdos partition table.  Is this a GPT partition table?
Yes/No?

Mon outil de récupération ClockWorkMod ne peut rien monter (/cache, /system, rien). C'est le genre de choses que j'obtiens dans CWM :

\-- Wiping cache...
Formatting /cache...
Need size of filesystem
E:format\_volume: make\_extf4fs failed on /dev/block/mmcblk0p23
Cache wipe complete.
W:failed to mount /dev/block/mmcblk0p23 (Block device required)
E:Can't mount /cache/recovery/log
E:Can't open /cache/recovery/log
W:failed to mount /dev/block/mmcblk0p23 (Block device required)
E:Can't mount /cache/recovery/last\_log
E:Can't open /cache/recovery/last\_log
W:failed to mount /dev/block/mmcblk0p23 (Block device required)
W:Can't unlink /cache/recovery/command
Formatting /data...
warning: get\_file\_size: Computed filesystem size less than 0
Need size of filesystem
E:format\_volume: make\_extf4fs failed on /dev/block/mmcblk0p25
Error formatting /data!
W:failed to mount /dev/block/mmcblk0p23 (Block device required)
E:Can't mount /cache/recovery/log
E:Can't open /cache/recovery/log
As you can see, there is no partitions for /system, /cache and other stuff, that should be there. (but /system, and /cache folders are present in dir listing)

J'ai vraiment fait tout ce que je pouvais. J'ai essayé : restaurer à partir d'une sauvegarde (j'en ai une, faite avec l'outil de récupération), installer une nouvelle ROM (avec l'outil de récupération), installer le firmware et le noyau stock en mode ODIN. J'ai même essayé un fichier PIT : rien n'a fait absolument rien à mon état.

Franchement, il me manque une partie importante de la compréhension du système de fichiers, des partitions, des images, ce qu'est la ROM, ce qu'est le stock kernel, comment ces 22, 23 25 partitions sont créées, etc ....

Que dois-je faire ?

UPDATE !

Oh, on dirait que j'ai tout dans le tampon de la console (historique complet des actions de distraction)

Au début, j'avais ça :

cat /proc/partitions
major minor  #blocks  name

   7        0       2111 loop0
 179        0    7634944 mmcblk0
 179        1        128 mmcblk0p1
 179        2        384 mmcblk0p2
 179        3       1024 mmcblk0p3
 179        4       1024 mmcblk0p4
 179        5        512 mmcblk0p5
 179        6        512 mmcblk0p6
 179        7        512 mmcblk0p7
 179        8        512 mmcblk0p8
 179        9       1024 mmcblk0p9
 179       10       1024 mmcblk0p10
 179       11      16384 mmcblk0p11
 179       12      16384 mmcblk0p12
 179       13      16384 mmcblk0p13
 179       14      51200 mmcblk0p14
 179       15         64 mmcblk0p15
 179       16      14336 mmcblk0p16
 179       17       2048 mmcblk0p17
 179       18       2048 mmcblk0p18
 179       19      16384 mmcblk0p19
 179       20      16384 mmcblk0p20
 179       21      16384 mmcblk0p21
 179       22    1228800 mmcblk0p22
 179       23     860160 mmcblk0p23
 179       24     327680 mmcblk0p24
 179       25    4945920 mmcblk0p25
 179       64       2048 mmcblk0boot1
 179       32       2048 mmcblk0boot0
 179       96    3872256 mmcblk1
 179       97    3868160 mmcblk1p1
 254        0       2110 dm-0    / $ df
Filesystem               Size     Used     Free   Blksize
/dev                   402.1M    84K   402M   4096
/mnt/asec              402.1M     0K   402.1M   4096
/mnt/obb               402.1M     0K   402.1M   4096
/dev/shm               402.1M     0K   402.1M   4096
/system                  1.2G   414.5M   766.6M   4096
/modemfs                15.7M     4.3M    11.4M   4096
/cache                 826.8M    84.8M   742M   4096
/efs                    15.7M     4.5M    11.2M   4096
/preload               315M    64.2M   250.8M   4096
/data                    4.6G     4G   699.2M   4096
/mnt/.lfs: Function not implemented
/storage/sdcard0         4.6G     4G   699.2M   4096
/mnt/asec/com.spruds.transport.pro.tallin-1     2M   888K     1.1M   4096
/storage/sdcard1         3.7G   905.7M     2.8G   32768

Même avant que tout aille mal, j'ai essayé d'utiliser la commande parted et j'ai obtenu une erreur

~ # parted /dev/block/mmcblk0
GNU Parted 1.8.8.1.179-aef3
Using /dev/block/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) list
list
  check NUMBER                             do a simple check on the file system
  cp \[FROM-DEVICE\] FROM-NUMBER TO-NUMBER   copy file system to another partition
.....
.....
        copyright information of GNU Parted
(parted) print
print
Error: Unable to satisfy all constraints on the partition.

Voici l'impression de fdisk avant le désastre

~ # fdisk /dev/block/mmcblk0

The number of cylinders for this disk is set to 954368.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/block/mmcblk0: 7818 MB, 7818182656 bytes
1 heads, 16 sectors/track, 954368 cylinders
Units = cylinders of 16 \* 512 = 8192 bytes

              Device Boot      Start         End      Blocks  Id System
/dev/block/mmcblk0p1               1      954368     7634943+ ee EFI GPT
Partition 1 does not end on cylinder boundary

Et puis je l'ai supprimé

~ # fdisk /dev/block/mmcblk0

The number of cylinders for this disk is set to 954368.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/block/mmcblk0: 7818 MB, 7818182656 bytes
1 heads, 16 sectors/track, 954368 cylinders
Units = cylinders of 16 \* 512 = 8192 bytes

              Device Boot      Start         End      Blocks  Id System
/dev/block/mmcblk0p1               1      954368     7634943+ ee EFI GPT
Partition 1 does not end on cylinder boundary

Command (m for help): d
Selected partition 1

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table
fdisk: WARNING: rereading partition table failed, kernel still uses old table: Device or resource busy

MISE À JOUR 2

Je peux voir la différence avec l'état initial. Maintenant j'ai 4 têtes au lieu de 1 et donc 238592 cylindres au lieu de 954368. Comment puis-je changer le nombre de têtes ?

6voto

Davide Melfi Points 53

Je l'ai trouvé !

La réponse était dans le fichier PIT, car comme il est dit aquí :

vous n'aurez besoin de l'utiliser que si une mise à jour du firmware doit changer la disposition de votre partition (très très improbable) ou si vous foirez votre table de partition (vous ne voulez pas faire cela).

Ce qui est définitivement mon cas.

J'ai donc essayé d'utiliser GT-I8190N et GT-I8190 avec des fichiers PIT différents (j'ai essayé d'utiliser celui de GT-I8190). J'ai donc trouvé une longue liste de fichiers PIT aquí .

2voto

nemisj Points 2966

RÉCUPÉRER UN APPAREIL Android AVEC BOOTLOOP OU STOCKÉ DANS LE LOGO

Compilation par : Julian Lopez 2017-05(Mai)-08

J'ai eu des problèmes similaires, mais la mémoire interne de mon téléphone GT-i9003 est défectueuse. J'ai utilisé tous les pièges sans succès. Peut-être que cette procédure vous aide, certaines d'entre elles sont complexes mais sûres :

Exigences :

  • Un appareil Android bloqué dans le logo (mais avec un système d'exploitation entièrement lancé), pour travailler avec ADB et CWM-Recovery, mieux si on a les options du développeur Android. options actives et connexion usb en mode communication (aussi connu sous le nom de kies, MTP, debug, etc) pas en mode usb-data
  • Câble de données USB Pc avec port USB haut débit disponible
  • Pilotes de périphériques mis à jour
  • Outils de la plateforme ADB et fastboot (Windows) pour la sauvegarde et la restauration manuelles... Sources d'information ADBD : merci de partager les connaissances pour Rotohammer [ADB Roto backup - sauvegarde manuelle]. y Amalautpavathas [Conseils ADB pour Android].
  • Un autre dispositif opérationnel et identique (très pratique)
  • Un bon+original 16GB et plus Classe10 (oubliez la classe4) MicroSDCard (J'ai eu quelques problèmes avec des génériques de 32GB et plus), préparé avec une partition standard-fat32 qui est limitée à un maximum de 4gb pour chaque fichiers, mais cela fonctionne pour sauvegarder. Il est très important, de créer dans la racine de la carte microSD un fichier texte vide appelé DO-NOT-INSTALL-THIS.zip juste pour la référence et l'identificacion de l'intérieur de Recovery). L'ota usb n'est généralement pas reconnu et nous avons besoin d'une connexion USB permanente avec le PC.

Extrait :

Si l'appareil est en boucle de démarrage ou bloqué dans le logo mais actif par ADB, après les options logiques et de base, suivez cette procédure pour cloner et restaurer manuellement (via la commande dd) la partition défectueuse :

Avertissements

  • Décharge de toute responsabilité quant à l'utilisation et à l'abus de ces informations.
  • Veuillez lire les tutoriels sur ADB et Android.
  • Ne pas effacer avec la carte MicroSD, vous pouvez perdre toutes les données sans préavis, chaque redémarrage / changement d'adresse / action de montage et de stockage CMW, peut changer le point de montage de la carte SD.
  • Lorsque vous travaillez sur ADB, quittez le shell et utilisez fréquemment la fonction remount.
  • Lorsque vous ne pouvez pas accéder aux fichiers, obtenez un accès Root (CMW - option Root/unroot).
  • Gardez une liste des fichiers et des points de montage avant de procéder, après chaque copie, gardez un œil sur la capacité disponible avec df -k en Koctets et df en blocs, avec ls -al commande vous avez un enregistrement des permissions en format xrwxrwxrw (un cap initial ou - pour le type, x exécuter, r lire, w écrire, en 3 niveaux -user-group-others. Utilisez chmod pour changer de commande) et les propriétaires des fichiers . Cette astuce permet d'éviter 50% des erreurs en utilisant la copie de fichiers, ou la modification de fichiers dans l'appareil. Prenez toutes les informations sur l'appareil (imei, macs, versions des logiciels, fw, mises à jour, applications spéciales, versions complètes des registres et date d'installation, spécialement les logiciels de sauvegarde).

Actions

1.-Sans mémoire externe (carte MicroSD sortie, car certains noyaux et outils échangent la mémoire externe avec la mémoire interne sans conseil) sauvegarder une disposition des partitions. Les informations importantes sont : le bloc de début, le bloc de fin, le type de système de fichiers, le nom du périphérique du bloc, l'ordre et le point de montage (chemin). Oui en utilisant ADB fdisk mais sans rien changer.

2.- Pour faire une sauvegarde manuelle de chaque partition (et spécialement, une sauvegarde individuelle du dossier /efs où sont les adresses imei et mac pour le wifi, BT, etc.) dans l'appareil défectueux avec ADB et la commande "dd" (attention à l'espace disponible après chaque sauvegarde), Répétez la même procédure dans un bon appareil identique. transférez cette sauvegarde sur votre PC et sur un disque dur. carte microSD (oui les deux)... Ne pas insérer dans l'appareil. Il faut :

  • Dossier dans l'explorateur Windows avec \ADB et FastBoot-platform-tools-latest-Windows \platform -outils (aucune installation requise)

  • Le dispositif doit être connecté au PC via un câble USB et détecté avec les bons pilotes).

  • Nous devons écrire (ouais je vous ai entendu, avec le clavier) dans un CLI (Command Line Interface) connu sous le nom de CMD (Ligne de commande) ; allez dans l'Explorateur Windows, ouvrez la boîte noire en sélectionnant l'option CMD avec une combinaison simultanée de touches de clavier touche [SHIFT] gauche y le clic droit de la souris sur un espace vide à l'intérieur du dossier. Afin d'obtenir l'option CMD dans le menu, évitez de sélectionner ou de marquer quoi que ce soit dans l'explorateur de Windows. Utilisez ce manuel jusqu'à ce que Roto restore Section, Rotohammer ADB Roto backup - sauvegarde manuelle

3.- Créer avec (ADB) fdisk la (les) partition(s) manquante(s) en respectant toutes les caractéristiques d'origine (bloc de départ, bloc de fin, numéros de blocs - taille, type de fs).

4.- L'appareil étant éteint (batterie éteinte), insérer Carte microSD

5.- Démarrez votre appareil en mode de récupération (CWM), allez à Installer le ZIP à partir de SDCARD si vous pouvez voir le fichier texte avec l'extention .ZIP préparé dans le dernier point des exigences ( DO-NOT-INSTALL-THIS.zip ), vous pouvez redémarrer l'appareil. Dans tous les autres cas, allez dans -- montage et stockage -- démontez tout et montez le disque préparé. Carte microSD répétez avec la carte SD interne, emmc, usb jusqu'à ce que vous puissiez voir le fichier zip. Redémarrez l'appareil en mode normal (peut-être que seul le logo est visible).

6.- Connectez l'appareil au PC, via usb et activez CMD depuis ADB pour copier la partition-backup dans le système de fichiers d'un appareil interne à partir de la MicroSDCard. éteignez l'appareil, extrayez la batterie, extrayez la microSDcard, et allumez l'appareil. Procédez avec l'une de ces alternatives de restauration

6a.- Le moyen le plus simple, la preuve de la garantie, est d'utiliser le logiciel de restauration d'urgence de la marque originale, KIES et ODIN pour Samsung, MTP pour les marques chinoises, etc.

6b. - Le moyen le plus simple, si vous avez seulement un bootloop, démarrer l'appareil avec une autre carte MicroSD testée bonne, les échecs sur la mémoire externe se produit et l'application crash si elles ont été déplacées à la mauvaise carte microSD. Si cela ne fonctionne pas, démarrez l'appareil sans carte MicroSD en mode de récupération, effacez les données, réinitialisez l'appareil et effacez le cache. Toujours en cas d'échec, continuez avec le guide

6c.- Parce que cette méthode fonctionne avec une image de la partition sur n'importe quel Android, tous les appareils et la marque, ce faire indépendant des configurations (les types de systèmes de fichiers spéciaux et les assignations, point de montage, vold.fstab, fota.rc, init.goldfish.rc, init.d's fichiers, la corruption de la mémoire interne, les échecs dans les applications comme link2SD et les virus). Commencez à faire une image de la partition défectueuse (via ADB + commande dd) et de toutes les autres pour la congruence, faites-en une autre à partir de l'image d'un bon appareil, et si la partition affectée es /system ou /, prendre une copie de l'original /efs (ceci pourrait être important plus tard dans le cas où l'imei et le MAC ne correspondent pas au matériel, consultez votre marque pour l'emplacement de l'imei). Solution par : Rotohammer (même lien), etc... Sauvegardez-le dans le PC, dans la carte MicroSD et dans le cloud.

6d.- Votre appareil est-il encore sous garantie par le fournisseur ou par la carte de crédit ? (une garantie disponible, pas la garantie du type Pluton pendant une éclipse), n'hésitez pas, foncez... La sauvegarde gardera vos données en sécurité et vous pourrez l'envoyer au RMA après un nettoyage en profondeur...

6e.-For Easy solution [Flashable Filesystem Check and Repair Tool | HTC Desire - XDA][3] ... Avec ADB vous pouvez installer et exécuter APK, ou exécuter /sbin/fsck , /sbin/fsck , /sbin/fsck.ext4 . Note : certains systèmes de fichiers racine conservent l'ancien type (raiser, ext2, etc).

6f.- Restaurer à partir de la sauvegarde CWM ou de votre application préférée.

6g.- Utilisez votre logiciel de restauration d'urgence original, Kies, mtp, etc.

7.- Redémarrer, une première fois en attendant l'autocheck du système de fichiers et une seconde fois pour vérifier l'opération.

En cas d'erreurs de démarrage, démarrez en mode téléchargement, utilisez les bonnes versions du programme de mise à jour du micrologiciel (comme ODIN et MTP de Samsung) pour appliquer la bonne PIT (table d'information des partitions) avec la répartition vérifiée. Si l'échec persiste, appliquez la ROM STOCK complète d'origine pour vérifier.

9.- En cas d'erreurs IMEI, procédez aux solutions : ( forum.samdroid.ne t /attachments/f28/2082d1281453181-complete-imei-restore-how-bml10.img.zip)

10.- pour les erreurs de mémoire interne, vérifiez ceci [2] : http://amalautpavathas.blogspot.com/2013/08/

Avis de non-responsabilité

Il s'agit d'une compilation individuelle et personnelle. J'espère sincèrement que cet extrait aidera quelqu'un, un jour, quelque part, mais... Ni moi ni personne ne sera responsable des actions que vous entreprendrez en utilisant ces instructions ou ces applications. Le flashage de ROM peut annuler votre garantie et devrait être la dernière option. Veuillez procéder avec prudence et à vos propres risques. Le flashage effacera complètement la mémoire de votre appareil. Faites une sauvegarde de tout ce dont vous avez besoin, pour cet objectif je présente plus de 3 options de sauvegarde, veuillez les utiliser toutes. Si vous voulez flasher une ROM cuite, vous avez besoin d'un SPL patché. Comment faire cela est décrit dans la page principale de forum.xda-developers. Vous pouvez également flasher la ROM directement à partir de la carte microSD ! Le guide se trouve ici forum.xda-developers

REMERCIEMENTS SPÉCIAUX AUX GENS DE LA CONNAISSANCE

C'est mon tout premier post, donc je n'ai pas eu le droit d'inclure plus de personnes et de sources, veuillez m'excuser, mes partenaires invisibles ne sont pas inclus dans cette liste :

(forum.xda-developers (amalautpavathas) (samdroid)

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X