web-dev-qa-db-fra.com

comment faire une image de la partition Android sur votre PC

J'essaie de faire une sauvegarde (une image DD directe des partitions de ma carte mémoire intégrée de mon téléphone vers mon PC. J'utilise Linux et mon téléphone est un Nexus 4.

11
hongo

Voici une autre meilleure réponse:

Exigences: adb doit être déjà installé

  1. Téléchargez boot.img non sécurisé sur votre PC à partir de https://www.androidfilehost.com/?fid=9390169635556426389
  2. Redémarrez votre téléphone en mode de démarrage rapide en l'éteignant, puis en maintenant enfoncés les boutons de réduction du volume et d'alimentation.
  3. Depuis votre PC Linux dans le dossier où se trouve boot.img, tapez:

    $ fastboot boot boot.img
    
  4. Pour copier l'image du type de partition mmcblk0:

    $ adb pull /dev/block/mmcblk0 mmcblk0.img
    
6
hongo

Edit: réponse de Hongo a moins d'étapes.

  1. Installez TWRP .

    Choisissez votre appareil sur la page TWRP et suivez les instructions d'installation qui s'y trouvent.
  2. Démarrez dans la récupération

    Vous devrez peut-être trouver la combinaison de touches spécifique à votre appareil afin de faire réagir le menu du chargeur de démarrage. Si vous avez flashé TWRP à l'aide de fastboot (fastboot flash recovery twrp.img), vous pouvez essayer fastboot reboot-bootloader, puis sélectionnez Recovery.
  3. Monter des partitions dans TWRP

    Vous devriez maintenant être dans TWRP. De là, choisissez Mount. Assurez-vous que votre partition data est montée. Assurez-vous que votre partition system est montée, car vous aurez besoin de certains exécutables qui y résident.
  4. Connectez adb

    Installez adb si vous ne l'avez pas déjà fait. Connectez votre téléphone à votre ordinateur via un câble USB. Tapez adb devices. Si vous voyez un appareil répertorié, alors vous êtes connecté.
  5. Transférer un port adb forward tcp:33333 tcp:33333

    Nous devons activer TCP l'accès à votre téléphone. Cette commande écoute sur le port 33333 de l'ordinateur (le premier argument) et transfère toutes les connexions au port 33333 sur votre téléphone. Vous pouvez choisissez n'importe quel port. Les ports inférieurs à 1024 sur le PC nécessitent un accès root. Assurez-vous que le port que vous choisissez n'est pas déjà utilisé. Les deux chiffres n'ont pas besoin de correspondre.
  6. Recherchez la partition que vous souhaitez sauvegarder adb Shell mount

    Localisez la partition que vous souhaitez sauvegarder et obtenez le nom du périphérique. [ [~ # ~] éditez [~ # ~] : si la partition que vous devez sauvegarder ressemble à /dev/block/dm-0, cela fait partie d'un volume logique (LVM) et ce n'est probablement pas la bonne façon de le sauvegarder]
  7. Transférer la partition brute depuis votre téléphone

    • adb Shell
    • Essayez dd if=/dev/block/dm-0 bs=64k | gzip | nc -l -p 33333
      • Ce /dev/block/dm-0 avec le périphérique que vous avez trouvé plus tôt dans la commande mount.
      • Remplacer 33333 avec le port téléphonique que vous avez choisi ci-dessus
      • Si aucune commande ne peut être trouvée, vous pouvez essayer de les ajouter avec /system/bin/toybox ou /system/bin/busybox.
      • Ce bloc de commandes copie à partir du périphérique spécifié (if=) et, en utilisant une taille de bloc de 64 Ko (bs=64k - vous pouvez en spécifier un ou omettre complètement cet argument, mais de petites valeurs ralentiront probablement le processus. Les valeurs supérieures à 64 Ko n'accélèreront généralement pas le processus), le transfère vers stdout, qui est canalisé dans gzip pour le compresser, puis canalisé dans netcat, qui écoute (-l) sur le port 33333 (-p 33333).
  8. Vider les données sur votre ordinateur

    • Depuis un nouveau terminal, faites nc localhost 33333 | pv -i 0.5 --size 54g > dm-0.raw.gz
      • Remplacer 33333 avec le port d'ordinateur que vous avez choisi ci-dessus
      • Remplacer dm-0.raw.gz avec n'importe quel nom de fichier
      • Remplacer 54g avec la taille de votre partition (voir ci-dessous)
      • Cette commande se connecte au port 33333 sur l'hôte local (votre ordinateur) et les sauvegarde sur stdout, les redirige vers pv, qui met à jour la progression du transfert toutes les demi-secondes (-i 0.5) avec une taille estimée à 54 concerts (--size 54g - vous pouvez omettre cet argument mais il est nécessaire que la progression du transfert soit précise), puis dans un fichier nommé dm-0.raw.gz
5
Codebling
  1. Installer Android-platform-tools ou Android-sdk sur votre ordinateur.

  2. Télécharger TWRP .

  3. Maintenez les boutons de réduction du volume et d'augmentation du volume et allumez votre téléphone pour démarrer l'écran du chargeur de démarrage. Assurez-vous que votre téléphone est branché sur le port USB de votre ordinateur.

  4. Démarrez TWRP en exécutant fastboot boot twrp-3.1.0.0.img. (Pas besoin de flasher votre partition de récupération de cette façon.)

  5. Dans TWRP, sélectionnez Avancé, puis Terminal, ce qui ouvrira un Shell. Tapez mount et appuyez sur [ENTRÉE] pour voir les partitions. Vous recherchez le /data et éventuellement /sdcard monte.

  6. Disons que votre /data la partition est mappée à /dev/mmcblk0p28. Exécutez simplement adb pull /dev/block/mmcblk0p28 data.img sur votre ordinateur et il copiera la partition. Attendez-vous à ce que ce processus prenne un certain temps car il copie la partition entière, quel que soit le nombre de fichiers qui y sont stockés.

5
ngreen

Exigences: adb doit être déjà installé

  1. Téléchargez boot.img non sécurisé sur votre PC à partir de https://www.androidfilehost.com/?fid=9390169635556426389
  2. Redémarrez votre téléphone en mode de démarrage rapide en l'éteignant, puis en maintenant enfoncés les boutons de réduction du volume et d'alimentation.
  3. Depuis votre PC Linux dans le dossier où se trouve boot.img, tapez:

    $ fastboot boot boot.img
    
  4. Pour créer une image du type de partition mmcblk0p23:

    $ adb Shell 'stty raw && dd if=/dev/block/mmcblk0p23' > ~/userdata.img
    

Liens utiles:

  • Comment identifier la partition d'intérêt: http://forum.xda-developers.com/showthread.php?t=2450045

  • Si stty raw n'est pas utilisé, tous LF sera traduit en CRLF: Android.stackexchange.com/questions/69434/is-it-possible-to-cat-a-file-to-an -Android-phone-and-dd-to-dev-xxx-on-the-fly-w

  • Comment rooter le téléphone et utiliser boot.img non sécurisé: www.addictivetips.com/Android/root-google-nexus-4-install-clockworkmod-recovery/

  • Transfert de données binaires via ADB Shell (comment utiliser stty raw): stackoverflow.com/questions/11689511/transferring-binary-data-over-adb-Shell-ie-fast-file-transfer-using-tar

4
hongo