Восстановление сломанных ecryptfs на SD-карте с помощью леденца

Сегодня утром мой телефон завис, и мне пришлось его перезагрузить. Теперь, когда я загружаюсь и вставляю свою SD-карту, я получаю следующие два сообщения:

  1. Подготовка SD-карты/проверка на наличие ошибок.
  2. Диалоговое окно с предложением зашифровать мою SD-карту. Здесь я могу отключить или продолжить, введя пароль моего устройства.

До сих пор я только пытался продолжить с паролем устройства - тогда у меня есть «шифрование SD-карты, шифрование SD-карты» наряду с проверкой ошибок.

Итак, я начал копать. Во-первых

$ mount | grep -i extsdcard                    
/dev/block/vold/179:65 /mnt/media_rw/extSdCard exfat rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=utf8,namecase=0,errors=remount-ro 0 0
/mnt/media_rw/extSdCard /storage/extSdCard sdcardfs rw,seclabel,nosuid,nodev,relatime,uid=1023,gid=1023,derive=unified 0 0
/storage/extSdCard /storage/extSdCard ecryptfs rw,seclabel,nodev,relatime,ecryptfs_sig=094f421508772d43,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_cc,ecryptfs_passthrough 0 0

Итак, я вижу, что использую ecryptfs, а SD-карта отформатирована exfat (фу, но неважно). Я с подозрением отнесся к состоянию файловой системы exfat, поэтому я последовал ответу, получившему наибольшее количество голосов, на этот вопрос . fsck.exfat /dev...возвращает «нет ошибок», так что он счастлив. Я могу просмотреть SD-карту в оболочке и увидеть файлы, но, очевидно, не их содержимое, поэтому файловая система exfat выглядит неповрежденной.

Итак, проблема у меня явно связана со слоем ecryptfs. Поэтому мой вопрос:

  1. Есть ли инструмент, похожий на fsck, который я могу запустить с некоторым фактическим выводом, чтобы узнать, что происходит с ecryptfs?
  2. В противном случае, могу ли я извлечь из устройства ключ, используемый для шифрования файлов SD-карты?
  3. Если я просто подожду, это исправится? Я думаю, нет...

В идеале я хотел бы восстановить эти файлы, однако там нет ничего критического.

Окружение: рутированный lollipop samsung s5, стоковая прошивка, кастомное рекавери (twrp), busybox, supersu.

Ответы (1)

Тот же телефон, та же проблема (за исключением того, что мой телефон не рутирован), но в конце концов она разрешилась сама собой.

Публикация точных шагов, которые я выполнил, на случай, если это поможет кому-то еще:

  1. При первой перезагрузке (когда впервые возникла проблема) телефон сказал, что готовит устройство, а затем через несколько секунд сообщил мне, что карту можно безопасно удалить (но я не просил ее размонтировать). При переходе в меню хранилища у меня был тот же опыт, что и в OP выше. Он просто продолжал говорить «подготовка устройства» и никогда не заканчивал.

  2. Перезагрузил устройство, как и № 1.

  3. Повторяется. На этот раз оставил сообщение «подготовка устройства / проверка на наличие ошибок» примерно на 20 минут, но оно так и не было завершено.

  4. Подключил к компьютеру, включил отладку по USB. Используя adb shellкоманду по совету OP, я обнаружил, что каталог монтирования SD-карты недоступен, и я не мог его размонтировать без root.

  5. Перезагрузил телефон в последний раз. При начальной загрузке телефон сказал «подготовка устройства», а затем сказал: «SD-карта зашифрована». Я проигнорировал это уведомление и смог adb shellпросмотреть файлы и скопировать их на свой компьютер. Все файлы были читаемы. Затем я очистил уведомление, и все было хорошо.

Я не думаю, что что-то, что я сделал, было ответственно за решение проблемы, но если вы выполните те же шаги, то, надеюсь, то же самое произойдет и с вами.