1 votes

Cryptfs : le démontage de /data a échoué : Périphérique ou ressource occupé

J'essaie de crypter mon Nexus 5 rooté (fonctionnant sous CyanogenMod 13/Marshmallow) .
Voici où j'en suis :

  1. Lorsque le téléphone est en marche et qu'il est connecté au port USB, assurez-vous que /mnt/asec/ est vide
  2. Appuyez longuement sur le bouton physique d'alimentation, ce qui fait apparaître la boîte de dialogue d'extinction.
  3. Appuyez longuement sur l'option "Power off" de la fenêtre contextuelle, confirmez que vous souhaitez redémarrer en mode sans échec.
  4. Sans démarrer d'application, exécutez adb shell sur l'ordinateur puis su pour obtenir Root alors pkill -KILL daemonsu pour tuer le démon SuperSU
  5. Réglages > Sécurité > Chiffrer le téléphone, confirmer
  6. Le téléphone redémarre, à partir du type d'ordinateur adb logcat

Voici ce que je vois :

I ServiceManager: service 'drm.drmManager' died
D libEGL  : loaded /vendor/lib/egl/libEGL_adreno.so
D libEGL  : loaded /vendor/lib/egl/libGLESv1_CM_adreno.so
D libEGL  : loaded /vendor/lib/egl/libGLESv2_adreno.so
I Adreno-EGL: <qeglDrvAPI_eglInitialize:379>: QUALCOMM Build: 09/02/15, 76f806e, Ibddc658e36 
E BootAnimation: couldn't find audio_conf.txt
W BootAnimation: Audio service is not initiated.
D BootAnimation: Use save memory method, maybe small fps in actual.
D BootAnimation: Use save memory method, maybe small fps in actual.
E Cryptfs : unmounting /data failed: Device or resource busy
E Cryptfs : Bad magic for real block device /dev/block/platform/msm_sdcc.1/by-name/metadata
W vold    : type=1400 audit(0.0:19): avc: granted { read } for name="mmcblk0p28" dev="tmpfs" ino=6735 scontext=u:r:vold:s0 tcontext=u:object_r:userdata_block_device:s0 tclass=blk_file
W vold    : type=1400 audit(0.0:20): avc: granted { read open } for name="mmcblk0p28" dev="tmpfs" ino=6735 scontext=u:r:vold:s0 tcontext=u:object_r:userdata_block_device:s0 tclass=blk_file
W vold    : type=1400 audit(0.0:21): avc: granted { ioctl } for path="/dev/block/mmcblk0p28" dev="tmpfs" ino=6735 ioctlcmd=1260 scontext=u:r:vold:s0 tcontext=u:object_r:userdata_block_device:s0 tclass=blk_file
D Cryptfs : Just asked init to shut down class main
W vold    : emulated unmount requires state mounted 
E Cryptfs : unmounting /data failed: Device or resource busy
W SocketClient: write error (Broken pipe)
W SocketClient: Unable to send msg '200 8 -

À ce moment-là, l'écran de chargement de CyanogenMod continue de s'animer pendant plus de 10 heures et probablement pour toujours si je ne l'arrête pas. En appuyant sur le bouton d'alimentation physique pendant 5 secondes, il redémarre et démarre normalement cette fois. Il est évident que le cryptage n'a pas été effectué.

J'ai essayé toute la procédure deux fois.

Quelle pourrait être la cause de ce problème ? Cryptfs : unmounting /data failed: Device or resource busy problème ?

2voto

mattelacchiato Points 21

Comme je l'ai constaté dans ce rapport de bogue vous pouvez observer les fichiers ouverts en cours en exécutant cette commande dans un second shell :

while true; do lsof | grep /data; sleep 0.2; done

Il vérifie toutes les 0,2 s quels fichiers sont encore en cours d'utilisation sur /data. Dans mon cas, il s'agissait du SuperSU de chainfire, qui avait un fichier journal ouvert.

De plus, j'ai découvert qu'une deuxième partition de la carte SDCard était montée sur /data/sdext2 :

mount | grep "/data"

Cela était dû à une application "Link2SD". Grâce à cette commande, j'ai pu déterminer où le montage se produisait :

adb shell
# make system partition writable
mount -o remount,rw /system
grep -R "/data/sdext2" /system

J'ai commenté les commandes "mount" et j'ai redémarré mon téléphone. Le cryptage fonctionne maintenant correctement.

1voto

Afr Points 495

J'ai passé toute la journée avec le problème de l'encryptage sans fin (LG Nexus 5, Cyanogenmod 13) et j'ai trouvé le moyen de vérifier les logs et finalement je suis tombé sur cette question ici sur Stack Exchange. Je ne sais pas si c'est une bonne idée, mais je ne sais pas si c'est une bonne idée, mais je ne sais pas si c'est une bonne idée. TL;DR J'ai pu résoudre ce problème en démarrant simplement en mode sans échec.

Pour mémoire, voici le journal de l'erreur que j'ai eue (la même que celle de l'OP) :

01-24 00:15:05.132   871  1170 D CryptdConnector: SND -> {1 cryptfs getfield SystemLocale}
01-24 00:17:05.077   871   910 D CryptdConnector: SND -> {2 cryptfs setfield SystemLocale de-DE}
05-26 20:33:36.401   871   910 D CryptdConnector: SND -> {3 cryptfs setfield SystemLocale en-US}
05-26 20:35:05.696   871  1760 D CryptdConnector: SND -> {4 cryptfs setfield PatternVisible 0}
05-26 20:35:05.697   871  1760 D CryptdConnector: SND -> {5 cryptfs setfield PasswordVisible 1}
05-26 20:35:05.706   871  3096 D CryptdConnector: SND -> {6 cryptfs setfield SystemLocale en-US}
05-26 20:35:06.491   871  3095 D CryptdConnector: SND -> {7 cryptfs enablecrypto inplace default}
05-26 20:35:06.495   150   162 E Cryptfs : Bad magic for real block device /dev/block/platform/msm_sdcc.1/by-name/metadata
05-26 20:35:06.498   150   162 D Cryptfs : Just asked init to shut down class main
05-26 20:35:37.010   150   162 E Cryptfs : unmounting /data failed: Device or resource busy
05-26 20:35:37.140   150   162 E Cryptfs : Bad magic for real block device /dev/block/platform/msm_sdcc.1/by-name/metadata
05-26 20:35:37.145   150   162 D Cryptfs : Just asked init to shut down class main
05-26 20:35:57.212   150   162 E Cryptfs : unmounting /data failed: Device or resource busy

Ce que j'ai fait, c'est ce qui suit. Comme j'ai beaucoup essayé et que j'ai effacé/flashé l'appareil une centaine de fois, je suppose que cela ne fonctionne que sur une installation propre de cyanogenmod. De plus, j'ai lu quelque chose à propos de problèmes avec Team Win Recovery Mode (TWRP) et la façon dont il formate les partitions. Voici donc ce que j'ai fait :

  1. Le clignotement de la Image de récupération Cyanogenmod

    sudo fastboot flash recovery /path/to/cm-13.0-20160418-SNAPSHOT-ZNH0EAO2NM-hammerhead-recovery.img
  2. Démarrage en mode de récupération et effacement de l'ensemble de l'appareil, y compris les données et la mémoire cache .

  3. Démarrage dans le bootloder, attente dans le menu du boot loader et flasher l'image TWRP

    sudo fastboot flash recovery /path/to/twrp-3.0.2-0-hammerhead.img 
  4. Toujours dans le bootloader, passez en mode de récupération, twrp cette fois.

  5. Insérez le zip cyanogenmod dans le téléphone.

    adb push /path/to/cm-13.0-20160418-SNAPSHOT-ZNH0EAO2NM-hammerhead.zip /sdcard
  6. Utilisez twrp pour installer cyanogenmod à partir du zip. Ne pas effacer la mémoire cache ni formater les données ! C'est tentant puisqu'un bouton apparaît, mais j'ai lu qu'il pouvait y avoir des problèmes avec des partitions malformées. Aussi, ne pas redémarrer encore ! Il suffit de revenir en arrière.

  7. Redémarrez dans le chargeur de démarrage. Ne pas démarrer cyanogenmod pour l'instant . Vérifiez que vous êtes bien dans le chargeur de démarrage.

  8. Flash the Image de récupération Cyanogenmod encore une fois.

    sudo fastboot flash recovery /path/to/cm-13.0-20160418-SNAPSHOT-ZNH0EAO2NM-hammerhead-recovery.img
  9. Maintenant, démarrez cyanogenmod, réglez la langue, la date, l'heure et le fuseau horaire. Ne modifiez pas encore les paramètres ne se connecte pas au wifi.

  10. Appuyez sur le bouton d'alimentation jusqu'à ce que l'écran Dialogue d'arrêt s'ouvre.

  11. Appuyer longuement sur l'option d'arrêt jusqu'à ce qu'une boîte de dialogue de confirmation apparaisse, qui vous demande de confirmer le redémarrage de l'ordinateur. mode sans échec .

  12. Confirmer et redémarrer en mode sans échec .

  13. Allez dans les paramètres et la sécurité, appuyer sur encrypt phone et confirmer l'encryptage Encore une fois.

  14. Attendez quelques minutes. Sur une installation propre, cela ne devrait pas prendre plus de 5 à 10 minutes sur un Nexus 5.

  15. Il redémarrera en mode normal dès qu'il aura terminé. Confirmez dans les paramètres de sécurité que le téléphone est crypté.

Voici le adb logcat pour confirmer que tout s'est bien passé :

05-26 21:17:20.694   799   897 D CryptdConnector: SND -> {1 cryptfs getfield SystemLocale}
05-26 21:17:33.095   799  1055 D CryptdConnector: SND -> {2 cryptfs getpw}
05-26 21:17:33.096   149   160 D VoldCryptCmdListener: cryptfs getpw
05-26 21:17:33.097   799  1055 D CryptdConnector: SND -> {3 cryptfs clearpw}
05-26 21:17:33.098   149   160 D VoldCryptCmdListener: cryptfs clearpw
05-26 21:18:42.691   799   981 D CryptdConnector: SND -> {4 cryptfs setfield PatternVisible 0}
05-26 21:18:42.692   799  1637 D CryptdConnector: SND -> {5 cryptfs setfield PasswordVisible 1}
05-26 21:18:42.701   799  1055 D CryptdConnector: SND -> {6 cryptfs setfield SystemLocale en-US}
05-26 21:18:43.476   799   981 D CryptdConnector: SND -> {7 cryptfs enablecrypto inplace default}
05-26 21:18:43.480   149   160 E Cryptfs : Bad magic for real block device /dev/block/platform/msm_sdcc.1/by-name/metadata
05-26 21:18:43.484   149   160 D Cryptfs : Just asked init to shut down class main
05-26 21:18:44.950   149   160 D Cryptfs : unmounting /data succeeded
05-26 21:18:44.951   149   160 I Cryptfs : keymaster module name is Keymaster QCOM HAL
05-26 21:18:44.951   149   160 I Cryptfs : keymaster version is 3
05-26 21:18:44.951   149   160 I Cryptfs : Found keymaster0 module, using keymaster0 API.
05-26 21:18:44.954   149   160 I Cryptfs : keymaster module name is Keymaster QCOM HAL
05-26 21:18:44.954   149   160 I Cryptfs : keymaster version is 3
05-26 21:18:44.954   149   160 I Cryptfs : Found keymaster0 module, using keymaster0 API.
05-26 21:18:45.553   149   160 I Cryptfs : Using scrypt with keymaster for cryptfs KDF
05-26 21:18:46.034   149   160 I Cryptfs : keymaster module name is Keymaster QCOM HAL
05-26 21:18:46.034   149   160 I Cryptfs : keymaster version is 3
05-26 21:18:46.034   149   160 I Cryptfs : Found keymaster0 module, using keymaster0 API.
05-26 21:18:46.035   149   160 I Cryptfs : Signing safely-padded object
05-26 21:18:47.040   149   160 D Cryptfs : Just triggered post_fs_data
05-26 21:18:47.090   149   160 D Cryptfs : post_fs_data done
05-26 21:18:49.091   149   160 D Cryptfs : Just triggered restart_min_framework
05-26 21:18:49.091   149   160 I Cryptfs : Using scrypt with keymaster for cryptfs KDF
05-26 21:18:49.676   149   160 I Cryptfs : keymaster module name is Keymaster QCOM HAL
05-26 21:18:49.676   149   160 I Cryptfs : keymaster version is 3
05-26 21:18:49.676   149   160 I Cryptfs : Found keymaster0 module, using keymaster0 API.
05-26 21:18:49.685   149   160 I Cryptfs : Signing safely-padded object
05-26 21:18:50.297   149   160 I Cryptfs : Enabling support for allow_discards in dmcrypt.
05-26 21:18:50.297   149   160 I Cryptfs : target_type = crypt
05-26 21:18:50.297   149   160 I Cryptfs : real_blk_name = /dev/block/platform/msm_sdcc.1/by-name/userdata, extra_params = 1 allow_discards
05-26 21:18:50.300   149   160 I Cryptfs : Encrypting ext4 filesystem in place...
05-26 21:18:50.300   149   160 I Cryptfs : Encrypting group 0
05-26 21:18:50.301   149   160 I Cryptfs : Encrypting from sector 0
05-26 21:18:50.371   149   160 I Cryptfs : Encrypted to sector 790016
05-26 21:18:50.371   149   160 I Cryptfs : Encrypting from sector 802816
05-26 21:18:50.378   149   160 I Cryptfs : Encrypted to sector 813568
05-26 21:18:50.378   149   160 I Cryptfs : Encrypting from sector 819200
05-26 21:18:50.388   149   160 I Cryptfs : Encrypted to sector 840704
    [...]
05-26 21:19:43.819   149   160 I Cryptfs : Encrypting group 215
05-26 21:19:43.821   149   160 I Cryptfs : Encrypted to sector 3590587392
05-26 21:19:43.821   149   160 I Cryptfs : Encrypting from sector 3607101440
05-26 21:19:43.896   149   160 I Cryptfs : Encrypting group 216
05-26 21:19:43.898   149   160 I Cryptfs : Encrypted to sector 3607364608
05-26 21:19:43.898   149   160 I Cryptfs : Encrypting from sector 3623878656
05-26 21:19:43.971   149   160 I Cryptfs : Encrypting group 217
05-26 21:19:43.974   149   160 I Cryptfs : Encrypted to sector 3624141824
05-26 21:19:43.974   149   160 I Cryptfs : Encrypting from sector 3640655872
05-26 21:19:44.108   149   160 I Cryptfs : Encrypted to sector 3641183744

Bonne chance pour crypter votre téléphone en mode sans échec ¡!

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