Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,729,985 Members 53,895 Now Online
XDA Developers Android and Mobile Development Forum

[GUIDE] Recover phone from a formated /efs partition

Tip us?
 
kaynpayn
Old
#1  
Senior Member - OP
Thanks Meter 128
Posts: 470
Join Date: Aug 2010
Default [GUIDE] Recover phone from a formated /efs partition

I'm just writting this because i've recently had this problem. I managed to sort it out by my own but didn't really find it written anywhere, just bits and pieces scavenged from so many pages that might point to a solution (granted, part of my problem was also finding what was really my problem since the phone stopped working so fast i didn't really had the time to get what happened)

I was trying out swap for my S3, i had created a swap partition in my external card and then followed a guide here from xda to use an app called swapper2 (from market) to enable swap. I must have done something wrong because what it did was format my /efs partition instead as if it was a swap partition. Phone stopped working on the spot, obviously, and wouldn't past samsung's bootscreen.
Also, keep in mind while this worked for me there might be other ways of doing this which may be simpler. This is just what i figured for a solution.


When this helps:
- you accidentally formated your /efs partition
- you have a backup from your /efs partition, files copied with root explorer but not an image you can just flash back to the partition.
- your phone boots to download and to recovery but not to main system (which every tutorial i found seemed to assume to be able to do, i just figured their /efs was not as screwed as mine was)
- your recovery won't mount the /efs partition because it expects it to be ext4 but it's formated to something else and it showing the message:
"e: failed to mount /efs (Invalid argument)"


What doesn't work:

- any kind of standard solution like reflashing a stock rom with odin, with or without .pit file, clear EFS, whatever. It will flash, just won't solve since, apparently, nothing touches the /efs partition because it's so sensible. Even custom recoveries do mount it and apparently format and replace every single other partition but the /efs, which is why i had to do it manually.


Solution:
- simply format the /efs partition back to ext4 and copy your backup files there


What's needed:
- phone drivers installed on the computer. If you had kies installed, this should be covered already. Think you can't have it running while doing this though. Also, for what's worth, i've done this with windows 8 x64.

- updated android sdk tool, mainly adb. If adb is saying device not connected or not found, you may be using an outdated adb.exe (i was). I used adb.exe that came with this software here:
http://forum.xda-developers.com/show....php?t=1308546

- root. If your rom isn't rooted you can always flash CF-root from odin in download mode.
http://forum.xda-developers.com/show....php?t=1695238

- busybox, am not really sure if i actually got to need this, think so for the formating tool. Can't hurt to have more options though. This is how to install:
http://www.omappedia.com/wiki/Androi...and_Line_Tools

- custom recovery that allows root through adb, i used Philz which is pretty awesome
http://forum.xda-developers.com/show....php?t=2002953

- backup files from your /efs. I had mine unzipped and copied to my externalsd while in windows. They were in an efs folder in the sd card. You can push this through adb to the phone later, but i found this way simpler.


How to:

- get into recovery (vol up+home+power button) and plug your phone to the computer. You'll hear an usb connected sound from windows after a bit.

- in recovery, navigate to Mounts and try the "mount /efs". It'll fail. Now, navigate to advanced and "view log". You'll see below that the phone tried to mount a partition and failed, in my case, it had unsucessfully tried to mount /dev/block/mmcblk0p3 which is the partition /efs uses. Take note of this partition name.

- On windows, open a command line (type cmd on you start menu), navigate to where you have adb.exe and type:
adb shell
If all went well, command prompt has changed. You can now issue commands directly to your phone from terminal.


- type "su" to get root permissions. Your command line should change to something like root@android. Before i had this working i needed to use "Fix permissions". It's an option in the recovery menus on the phone.

- this step is optional but i did it anyway. I created an image of the partition i was going to mess with. If anything went wrong i could always flash it back even if it was broken. By the way, this is what i should have done in the first place instead of just copying /efs files. Would have made the process so much simpler... also, do this if you ever get the phone back working again. Type:

dd if=/dev/block/mmcblk0p3 of=/externalsd/efs.img

The /externalsd/efs.img is just a place you can save stuff to, like your external sd card. You can check what's your mounting point for the card with the command "mount" and look for something relevant like "externalsd".
Also, you may want to copy that efs.img to somewhere else from your phone (like your computer) for safekeeping. Literally remove card from phone, put in computer and copy files there. Notice you may need to reboot phone to recovery if you remove your card so it detects and mounts your card again. Sure, you can also do that from the command line, but it's just easier to reboot the phone.


- Now, we'll format the partition to something your phone can mount (ext4) and is expecting. Be careful, by doing this, you're actually erasing what's left of your partition and replacing by something clean. Type:

mk2fs /dev/block/mmcblk0p3

If all went well, you should see some kind of small report about what was just done.


- To mount this we'll need a mounting point. Type:

mkdir /efs

this will create an /efs folder in root, if it doesn't exist already, and to mount, type:

mount -t ext4 /dev/block/mmcblk0p3 /efs


- if all went well, you now have access to the /efs folder and can copy you files back:

cp -r /externalsd/efs/* /efs

where externalsd was my external sd card mounted on my phone.


- Check if your /efs folder has it's contents properly

ls /efs

I had to reboot the phone to recovery once more at this point and use the "fix permissions" option again.

After this, my phone booted up normally again.
The Following 3 Users Say Thank You to kaynpayn For This Useful Post: [ Click to Expand ]
 
Benzonat0r
Old
#2  
Benzonat0r's Avatar
Senior Member
Thanks Meter 1246
Posts: 1,297
Join Date: Sep 2009
I'm getting Segmentation fault, I guess there's some kinda hardware error on my phone. Gonna take it to Sammy's tomorrow.

Code:
mke2fs -F  /dev/block/mmcblk0p11
Segmentation fault
sh-4.2#
It's harder to understand women than Android and Kernels.

My devices: GT-I9100, GT-I8190, GT-S5570, Nexus 5

Just call me Benz
 
Enea307
Old
#3  
Enea307's Avatar
Senior Member
Thanks Meter 31
Posts: 214
Join Date: Oct 2011
Default Re: [GUIDE] Recover phone from a formated /efs partition

Hi thnx for your Guide. I have the EFS problem, after installin 4 diferent rom in 2 hours my imei and baseband lost.( dont now why) i dont have a backup. I was thinking if it take the EFS from another S3 does it work?
Attached Thumbnails
Click image for larger version

Name:	uploadfromtaptalk1364851860526.jpg
Views:	289
Size:	14.0 KB
ID:	1851672  
 
Muraki
Old
#4  
Junior Member
Thanks Meter 2
Posts: 21
Join Date: Oct 2013
Will this work with a Galaxy S4? I545
 
rootSU
Old
#5  
rootSU's Avatar
Senior Member
Thanks Meter 9748
Posts: 20,911
Join Date: Aug 2010
Location: Oxenhope, West Yorkshire, UK
Quote:
Originally Posted by Enea307 View Post
Hi thnx for your Guide. I have the EFS problem, after installin 4 diferent rom in 2 hours my imei and baseband lost.( dont now why) i dont have a backup. I was thinking if it take the EFS from another S3 does it work?
No. Read General > Sticky roll-up thread > "IMEI / EFS - Know this stuff"
Want to root/unroot? All important guides and info threads are contained within the "Sticky Roll-up" thread in General. Click the link below to get there!



Philz Touch Recovery with passkey secure lock

I do NOT reply to support queries over PM.
 
iba21
Old
#6  
iba21's Avatar
Senior Member
Thanks Meter 1504
Posts: 2,470
Join Date: Jul 2010
Location: Venice

 
DONATE TO ME
is normal this output? (i'm meaning the tar.gz unfinding file)

Code:
*****************************************
*              BACKUP EFS               *
*****************************************
WARNING: Do you wish to Continue? (This will make EFS BACKUP) [Y,N]?Y
--- STARTING ----
--- WAITING FOR DEVICE
--- Backup efs image ---
761 KB/s (9357 bytes in 0.012s)
7 KB/s (39 bytes in 0.005s)
SM-N9000ZWEXXV_N900XXUCMJ3_RF1DA111EAY_
Creating filesystem with parameters:
    Size: 20971520
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 1280
    Inode size: 256
    Journal blocks: 1024
    Label:
    FLEX_BG size: 0
    Blocks: 5120
    Block groups: 1
    Reserved block group size: 0
Created filesystem with 59/1280 inodes and 2432/5120 blocks
40960+0 records in
40960+0 records out
20971520 bytes transferred in 7.271 secs (2884269 bytes/sec)
unknown option -- ZBusyBox v1.19.4-cm9 bionic (2012-02-05 18:40 +0100) multi-cal
l binary.

Usage: tar -[cxtzjahmvO] [-X FILE] [-T FILE] [-f TARFILE] [-C DIR] [FILE]...

Create, extract, or list files from a tar file

Operation:
        c       Create
        x       Extract
        t       List
        f       Name of TARFILE ('-' for stdin/out)
        C       Change to DIR before operation
        v       Verbose
        z       (De)compress using gzip
        j       (De)compress using bzip2
        a       (De)compress using lzma
        O       Extract to stdout
        h       Follow symlinks
        m       Don't restore mtime
        exclude File to exclude
        X       File with names to exclude
        T       File with names to include

2684 KB/s (9962352 bytes in 3.623s)
2805 KB/s (20971520 bytes in 7.299s)
remote object '/sdcard/SM-N9000ZWEXXV_N900XXUCMJ3_RF1DA111EAY_EFS.tar.gz' does n
ot exist

7-Zip (A) 4.65  Copyright (c) 1999-2009 Igor Pavlov  2009-02-03
Scanning


SM-N9000ZWEXXV_N900XXUCMJ3_RF1DA111EAY_EFS.tar.gz:  WARNING: Impossibile trovare
 il file specificato. (impossible to find the specify file)



Creating archive SM-N9000ZWEXXV_N900XXUCMJ3_RF1DA111EAY_EFS.zip

Compressing  getprop.txt
Compressing  SM-N9000ZWEXXV_N900XXUCMJ3_RF1DA111EAY_EFS.raw.img
Compressing  SM-N9000ZWEXXV_N900XXUCMJ3_RF1DA111EAY_EFS.tar.md5


WARNINGS for files:

SM-N9000ZWEXXV_N900XXUCMJ3_RF1DA111EAY_EFS.tar.gz : Impossibile trovare il file
specificato. (impossible to find the specify file)

----------------
WARNING: Cannot find 1 file
-
-
Finished. Output file is SM-N9000ZWEXXV_N900XXUCMJ3_RF1DA111EAY_EFS BACKUP
Premere un tasto per continuare . . .
well in the zip there are only the txt + md5 + .raw.img
Quote:
Quote:

Phone: SAMSUNG Note 3 || HTC Sensation
Rom:
Dr.Ketan's Custom ROM Android 4.3 || Hurricane SENSE 4.3.1
Kernel: xxx
-xxx-mV || Stock Kernel -200mV
>> My New Parameters Configuration of JB 4.3 Stock Kernel for NOTE2 <<
>> My Dualcore Badass Configuration for Sensation <<
>> My New Parameters Configuration of JB Stock Kernel for ONEX <<

 
rol331
Old
#7  
Junior Member
Thanks Meter 0
Posts: 1
Join Date: Apr 2011
Thanks for this great tutorial. It was my final step to recover my efs partition, without any backup. I copied the efs folder from another device and modified the files according my devices info (bluetooth mac, serial etc). Worked great on my SGS4

By the way I had the same error:

Code:
mke2fs /dev/block/mmcblk0p10
Segmentation fault
You get this error if you run adb shell when you booted to your ROM.

You need to run adb shell in recovery mode
 
michelle1505
Old
#8  
Junior Member
Thanks Meter 1
Posts: 26
Join Date: May 2010
Location: Amsterdam
Great tutorial but i hope you can help me, I can't seem to properly find the SDcard. When I type cp -r /externalsd/efs/* /efs
it comes back with cp: can't stat '/sdcard/efs*' : No such file or directory

I cleared my whole sdcard card except for efs directory. I also tried sdcard instead of externalsd but same thing.
 
Blackwatch
Old
#9  
Blackwatch's Avatar
Senior Member
Thanks Meter 74
Posts: 477
Join Date: Jul 2011
Location: Denby Dale

 
DONATE TO ME
I am getting stuck trying to fix this as I have a boot loop or corrupt /efs or something. I have tried to get my phone working by installing my ROM ( Omega v58 ) and also by trying to flash the latest stock 4.3 through Odin v3.09. I havent tried total stock 4.0.3 yet. No matter what I have done though I can't get past the boot logo ( or the walking Omega droid ). My phone just sits there and hangs

I have followed your steps and I have Philz ( 6.07.9.19 ) installed ( but not busybox unless it is sat there somehow from the Omega install ) but when i try to get adb shell running nothing happens or works..as you can see



What am i doing wrong? OR is my phone totally borked?
Sent from my PC using a keyboard and mouse. If I have helped please press the " THANKS " button.

We all have the right to be stupid, just don't abuse that right



http://www.warriorknightsgaming.com

Current phones :

// SGS III White 16GB Omega V58

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes