Sometimes the /efs partition can get corrupted by a bug in XSR to the point that it can't get mounted again.
If you are unlucky enough for it to happen to you and lucky enough that it isn't corrupted too much, you might try the following method.
Requirements: adb (on Windows or Linux), access to a PC with Linux installed, USB cable.
First, get a dump of your EFS remains:
- Dump the contents of stl device containing the EFS partition: (in adb shell, in recovery, assuming that your SD card is mounted)
Code:cat /dev/stl10 > /sdcard/efs.stl- Copy the file to your PC, for example by using adb pull: (after leaving adb shell)
Code:adb pull /sdcard/efs.stl- Mount the partition under Linux as VFAT: (as root or using sudo, assuming that the directory /mnt/efs exists)
Code:mount -o loop efs.stl /mnt/efs
If it succeeded to this point, you are lucky. If it failed, it isn't lost yet, a FAT recovery application can be used to try to recover the contents with some probability. However it's beyond the scope of this guide.
If it mounted successfully:
- Copy all the contents of /mnt/efs to a safe place: (no longer as root, assuming you have a directory called efs_backup in your home directory)
Code:cp -R /mnt/efs/* ~/efs_backup- Unmount the file: (as root or using sudo)
Code:umount /mnt/efs
Now when you have your nv_data.bin back, you can use Qbanin's instruction (COMPLETE IMEI RESTORE HOW-TO) to put it back into your phone or my simplified one, which might not work in some cases:
- Reformat your EFS partition (from adb shell, in recovery):
Code:stl.format /dev/bml10- Reboot your phone into recovery again. (after leaving adb shell)
Code:adb reboot recovery- Put the recovered EFS contents back:
Code:adb push ~/efs_backup /efs- Reboot your phone into Android and check your IMEI
Of course, it might not work at this stage, due to nv_data corrupted as well. In some cases, however, you might be lucky enough to have your IMEI back.


LinkBack URL
About LinkBacks

Reply With Quote
Bookmarks