Как показал опыт, Hard Reset не полностью очищает внутреннюю флеш-память. Файлы, существовавшие во внутренней памяти устройства до Hard Reset можно восстановить после Hard Reset-а.
Например, в моём случае (Asus P535) из 160 МБ внутренней памяти, после Hard Reset было занято только 6 МБ. Остальные 154 МБ не были затёрты, в них сохранились содержимое и имена файлов.
Итак, допустим, вам пришлось сделать Hard Reset, а восстановление из backup-а не сработало или backup просто не был сделан. Что же можно сделать?
1. Отключите на PDA всё, что может писать на внутреннюю флеш-память - например, телефонный модуль коммунитора может принять звонок, который будет записан в базуданных звонков.
2. Не ставьте на PDA никакие программы. При включении после Hard Reset устройство само поставит какое-то количество программ, но этого вряд ли можно избежать.
3. Скачайте на ББ набор itsutils (см. ниже)
4. Подключите PDA к ББ через ActiveSync.
5. Запустите в командной строке ББ
pdocread -lДолжен быть выведен список логических дисков вроде такого (это для моего P535 без вставленной флешки):
Файл:Код:
67.99M (0x43fe000) TRUEFFS
| 2.01M (0x203c00) Part00
| 1.97M (0x1f8000) Part01
| 64.01M (0x4002000) Part02
154.84M (0x9ad8000) TRUEFFS
| 2.01M (0x203c00) Part00
| 1.97M (0x1f8000) Part01
| 64.01M (0x4002000) Part02
STRG handles:
handle cbf63972154.69M (0x9ab0000)
handle 8bf8f896 64.01M (0x4002000)
handle abf8f68a 1.97M (0x1f8000)
handle 4bf8f666 2.01M (0x203c00)
6. Если вместо списка вам сказали
Could not update itsutils.dll to the current version, maybe it is inuse?
try restarting your device, or restart ActiveSync
or maybe your device is application-locked.6.1. То надо попробовать сделать предложенное - перезапустить ActiveSync, потом PDA.
6.2. А если и это не помогает, то надо поставить на PDA какой-нибудь редактор реестра небольшого объёма (по возможности не грузите в устройство cab-файл и устанавливайте на карту памяти). С его помощью найдите ключ
HKLM\Security\Policies\Policies\00001001 - если он имеет значение 2 (dword:2), то надо его поменять на 1 (dword:1). У меня pdocread заработал только после этого.
7. После получения списка дисков, нужно скопировать на ББ образы всех этих дисков. Для этого есть два способа доступа:
1) с ключём "-w" (read via windows disk api)
2) без ключа "-w"
И два способа адресации:
1) по devicename+partitionname (которые берутся из начала списка дисков), например "-d TRUEFFS -p Part02"
2) по handle (которые берутся из списка STRG handles), например "-h 0xcbf63972"
В моём случае адресация по handle дала больше результатов - образов доступно больше и они больше объёмом. Какой лучше вид доступа - не могу пока сказать, образы получается довольно похожими, но всё-таки с различиями. Лучше сделайте обоими способами - с "-w" и без него.
Нам нужны только большие диски, мелкие можно игнорировать (т.е. в моём списке остаются только handle abf8f68a и cbf63972).
Снятие образа проходит в два этапа.
7.1. Получаем точный объём диска, запустив:
pdocread [-w] -h 0x<handle> -tНе забывайте 0x перед handle!Например, у меня для "pdocread -h 0xcbf63972 -t" выводится
real nr of sectors: 317440 - 155.00Mbyte, 0x9b00000Т.е. объём 0x9b00000 байт.
7.2. Копируем образ, запустив
pdocread [-w] -h 0x<handle> 0 <объём> <filename>Например, "pdocread -h 0xcbf63972 0 0x9b00000 cbf63972.raw"
Операция довольно долгая, у меня копируется около 10мегабайт в минуту.
8. Повторяем п.7. для остальных handle с большим объёмом, а потом ещё раз для всех handle уже с ключём "-w".
9. Теперь у нас есть образы дисков, на которые можно натравливать программы восстановления файлов. Нам нужны только программы, понимающие образы дисков и способные искать файлы после потери партиции/переформатирования.
Конкретные программы пока посоветовать не могу, у меня пока лучше получается вручную выдирать нужные мне файлы из образа - текстовыми и шестнадцатеричными редакторами.
источник