Related
I have now seen a number of cases of the EFS partition getting wiped / corrupted on the SGS II, leaving users with an effectively useless phone.
With this in mind, i've written a little init.d script for my ROM which backs up the EFS partition on boot if a backup does not already exist. A non intrusive safety net for users if you will.
The script just needs a suitable boot image that runs init.d, although it could easily be tacked onto the end of install-recovery.sh if that's not the case.
I'd love to encourage all developers to use this script for users' sake!
You can download the script here - http://cl.ly/2j0p0R3F07052m2T2u0e - but it's very simple, here's the code...
Code:
#!/system/bin/sh
# EFS auto backup script for Samsung Galaxy S II
# By @paulobrien - http://s2.MoDaCo.com
mount /dev/block/mmcblk0p11 /sdcard
if [ ! -f /sdcard/efs.autobackup.img ];
then
dd if=/dev/block/mmcblk0p1 of=/sdcard/efs.autobackup.img
fi
umount /sdcard
Note the manual mount / umount of sdcard is necessary because this happens late in the boot process.
Cheers!
P
Hats of to you Paul.Although I have already made a backup of my EFS folder,such a script would save MANY people from A LOT of trouble.
tolis626 said:
Hats of to you Paul.Although I have already made a backup of my EFS folder,such a script would save MANY people from A LOT of trouble.
Click to expand...
Click to collapse
i havent...never did. i think i wiped about a hundred times now and flashed and reflashed...is it possible to recover the efs folder?
haasgo said:
i havent...never did. i think i wiped about a hundred times now and flashed and reflashed...is it possible to recover the efs folder?
Click to expand...
Click to collapse
If your phone is working, it means your EFS partition is still there...
You can back it up using the many tutorials out there in the forum...
Sent from my GT-I9100 using XDA Premium App
Problem is that the users who read how to backup EFS folder fall in to two category s those that read up first and would have backed up EFS and those that only pick the manual up after something is broke .
This script would be a saver for many of the second group and big thanks to Paul and i hope devs do run with it .
jje
I would like to adapt your script for Nexus S.
Once i got the img file of efs partition, how do can a make a script for restoring thet img file to efs partition?
Or what to do with that img file?
EDIT: @ paul - One more question - how do I mount /sdcard on Nexus S through the script? mount command in the Terminal Emulator shows my /dev/blocks/vold/179:3 as mount point, but if I use that mount point in the script it won't mount the /sdcard. Any idea?
EDIT2: I got it working with this command:
mount /dev/block/platform/s3c-sdhci.0/by-name/media /sdcard
and I got the efs.autobackup.img on my sdcard.
How do I restore the efs.autobackup.img to efs partition?
Thanks Paul this is a very useful utility hope it gets sticky
May i ask what conditions these people are falling foul of getting the EFS wiped? Is it rouge roms/cwm zips, wiping to much in recovery, Odin flashing?
Curious so i may steer clear, have a backup but staying away is half the battle
paulobrien said:
You can download the script here - http://cl.ly/2j0p0R3F07052m2T2u0e - but it's very simple, here's the code...
Code:
#!/system/bin/sh
# EFS auto backup script for Samsung Galaxy S II
# By @paulobrien - http://s2.MoDaCo.com
mount /dev/block/mmcblk0p11 /sdcard
if [ ! -f /sdcard/efs.autobackup.img ];
then
dd if=/dev/block/mmcblk0p1 of=/sdcard/efs.autobackup.img
fi
umount /sdcard
Click to expand...
Click to collapse
Hi Paul, I have modified your script so that it makes a tar file, tar file keeps the permissions for the efs partition and its easier to restore. Here it is:
Code:
#!/system/bin/sh
# EFS auto backup script for Samsung Galaxy S II
# By @paulobrien - http://s2.MoDaCo.com
mount /dev/block/mmcblk0p11 /sdcard
if [ ! -f /sdcard/efs_autobackup/efs-backup.tar.gz ];
then
mkdir /mnt/sdcard/efs_autobackup
busybox tar zcvf /sdcard/efs_autobackup/efs-backup.tar.gz /efs
fi
umount /sdcard
mynamesteve said:
Thanks Paul this is a very useful utility hope it gets sticky
May i ask what conditions these people are falling foul of getting the EFS wiped? Is it rouge roms/cwm zips, wiping to much in recovery, Odin flashing?
Curious so i may steer clear, have a backup but staying away is half the battle
Click to expand...
Click to collapse
Some hit "wipe EFS" in ODIN.
It's possible to mess up a zip badly enough to wipe EFS
A normal wipe shouldn't do it, but a bad CWM build could in theory do it...
A dodgy "virus" could do it, if it were targetting rooted phones, or had a root exploit.
That's why I keep an EFS backup on my PC and off-site
brainmaster said:
Hi Paul, I have modified your script so that it makes a tar file, tar file keeps the permissions for the efs partition and its easier to restore.
Click to expand...
Click to collapse
Nope dd is much better, but safer to have both, but dd should be used with bs=4096k option.
how to restore the efs folder?
how to restore the efs folder?
Please, need to restore EFS, not sure what happened but tried installing Cognition R3 and lost my EFS, I do however have a prior efs.autobackup. Please help.
First rooted no problem and researched unlocking S5380, using
JC-Masters tutorial and StoneBoyTony have similar steps but IMPORTANT stoneboytony tutorial has an extra step 31. Make shure that Root Explorer is in "Mounted as r/o" like this .
I used Jc_master tutorial my phoned bricked I only blame myself which does not remount file system read only r/o and does not use Root Explorer app.
I could be totally wrong here and believe you must use the extra step 31.
I thought umount /efs was the problem because if you UNMOUNT the efs
how would access that partition when rebooting.when you mkdir /efs this could mean you make a directory called efs which could be encrypted which you cant access when rebooting. Yes you can see 8 digit code clearly but cant reboot and cant reflash new rom. because you cant acess the efs files.
durbancurry said:
First rooted no problem and researched unlocking S5380, using
JC-Masters tutorial and StoneBoyTony have similar steps but IMPORTANT stoneboytony tutorial has an extra step 31. Make shure that Root Explorer is in "Mounted as r/o" like this .
I used Jc_master tutorial my phoned bricked I only blame myself which does not remount file system read only r/o and does not use Root Explorer app.
I could be totally wrong here and believe you must use the extra step 31.
I thought umount /efs was the problem because if you UNMOUNT the efs
how would access that partition when rebooting.when you mkdir /efs this could mean you make a directory called efs which could be encrypted which you cant access when rebooting. Yes you can see 8 digit code clearly but cant reboot and cant reflash new rom. because you cant acess the efs files.
Click to expand...
Click to collapse
Me too, for this I started a thread to see if its posible to make a kernel that remount efs partition. No one said to me nothing.
http://forum.xda-developers.com/showthread.php?p=16981439#post16981439
vinclar what tutorial did you use.? even if you type unmount that command would not be recognised nothing would happen,
This is a guess maybe the file system needs to be r/o read only when booting so that the orig efs files cant be rewritten or generated. as the files are specific to your phone only.
durbancurry said:
vinclar what tutorial did you use.? even if you type unmount that command would not be recognised nothing would happen,
This is a guess maybe the file system needs to be r/o read only when booting so that the orig efs files cant be rewritten or generated. as the files are specific to your phone only.
Click to expand...
Click to collapse
It's no unmount it's umount. Unfortunately, it seems like a fail on whoever created the umount command. In general Linux though, a simple typo to manually unmount a partition wouldn't do much harm. On a phone it seems to brick or clear the IMEI and other critical info.
russ18uk said:
It's no unmount it's umount. Unfortunately, it seems like a fail on whoever created the umount command. In general Linux though, a simple typo to manually unmount a partition wouldn't do much harm. On a phone it seems to brick or clear the IMEI and other critical info.
Click to expand...
Click to collapse
So this is what caused all the bricked phones?
OK guys, I'm having a annoying problem and need helps.
My tab is P7500 64GB. I had been on AOKP build 38 for quite a long time without any big problem. I tried to flash build 40 recently and my tab was totally messed up. It FC every 30 sec and I decided to return back to HC 3.2 stock.
I went to Team Overcome site and download restock pack, including this "android_fastboot_emmc_full_p4_16G_32G.pit" and flash with stock md5 in Odin. Problem happened here!!! As mentioned on Team Overcome site, just ignore the error appear after Odin finished and continue to the ROM.
1st, after first boot, there is a screen asking for password. I found solution is to go to CWM and wipe data & cache. Everything was ok, except it keep saying "can't mount /efs", and the ROM is crazily sluggish. After that, no matter how I tried different ROMs, from HC to ICS, the ROM is still lag like hell.
Only temporary solution I found is to manually set permission /efs folder to rw-rw-rw after every boot to get the ROM back to it speed.
------------------
OK, in short, I'm deeply f*cked. Just realized that my tab can not realize sim card at all.
Please look at 2nd post and help for backup of /efs.
------------------
Then, f*ck all the sh*t. Just downloaded SGII_Repair from market, fix from it. 2 steps & sh*t gone away. More than happy.
Please close thread
Found this on other device forum
FIXED....
here's how.
as you may see in the post i stopped in the step of trying to format \efs partation.
but instead.
I went to my friend phone and make this command
Code:
dd if=/dev/block/mmcblk0p1 of=/sdcard/ilostit.dd
this backup the mmcblk0p1 which is \efs to a file.
then move it to my phone \sdcard
and did this commands.
Code:
umount /efs "unmount /efs
dd if=/sdcard/ilostit.dd of=/dev/block/mmcblk0p1 "relfash mmcblk0p1 with the backup.
reboot
this reflash mmcblk0p1 block with the backup,
then copy my \efs backup to \efs.
and no more IO error..
and violaa...
my IMIE is back and the Signal is OK.
Click to expand...
Click to collapse
Which means, some one please back up your P7500 /efs folder and upload here so that I can revive mine. Thanks a lot!
I need this too! My efs is also gone
Sent from my GT-P6800 using xda premium
camapghe said:
Found this on other device forum
Which means, some one please back up your P7500 /efs folder and upload here so that I can revive mine. Thanks a lot!
Click to expand...
Click to collapse
This can't be done...unfortunately efs contains the imei, so if someone gives their /efs backup to you, you will end up with the same imei. Imo it is highly unlikely that someone is willing to give you his/her imei.
Check this out:
forum.xda-developers.com/showthread.php?t=1264021
It may help you!
Sent from my amazing 10.1 galaxy tab
Thansk Panos_dm, but I stuck at this step:
5) go to your backed up EFS folder on your sdcard, copy the "imei" folder to the EFS folder at the root of your phone, then again go to the backed up EFS folder at yout sdcard and copy the " .nv_data " file to your EFS folder at the root of your phone using root explorer, NOTE: the dot in first of nv_data is not a mistake, copy the ".nv_data" file.
No .nv_data file at all! Can you share?
I'm sorry but as I stated earlier I can't risk the contents of my /efs folder. Maybe you could flash a stock rom, go to Samsung and claim that it stopped working...maybe they'll buy it!
Sent from my amazing 10.1 galaxy tab
Ok, may be I'm not that screwed as I thought. I used EFS Pro latest version and some how fixed the efs problem. My tab realized sim card, base band appeared and everything seems fine. However, just TEMPORARY.
Every time I reboot, /efs folder screw again until I fix it by EFS Pro. Any permanent solution guys?
Hey. I tried this swapper2 app from the market and this little thing formated some partition from my phone thinking it was the swap one. Now phone won't go pass the samsung logo with sound.
I can get into recovery and into download mode. I tried flashing a brand new pcodin EMB5 flash, with no .pit nor repartition. No go. Rooted with CF-root (which also gives me CWM recovery). Recovery gives me the error: can't mount /efs so i'm guessing my /efs got formated. I have a backup made by copying the /efs files to another folder when all was working. What i'm guessing needs to be done is get my /efs partition created again (or at least mounted, not sure it's state) so i can copy it's contents there again.
What's the best way of doing this? I've seen people saying they can just use adb, mount /efs with the commands:
mke2fs /dev/block/mmcblk0p1
mount -w -t ext4 /dev/block/mmcblk0p1 /efs
and copy it's contents. But i need my phone to boot first to use adb, right? Doesn't seem to be working from recovery or download mode.
Would reflashing with odin using the pit file, repartition option or even the Clear ESF option work? I'm not very clear about what "clear efs" does.
Any other ideas?
Thanks!
EDIT:
I've managed to solve my problem, phone's up and running again. I'll post the entire process later for anyone else, god knows i'd have loved to see this written somewhere instead of all the inconclusive bits and pieces scavenged around the internet.
Update:
On recovery (CWM) /efs is the only partition it can't mount.Log says
"w:failed to mount /dev/block/mmcblk0p3 (invalid argument)
Error mounting /efs"
From what i understand, mmcblk0p3 is the /efs partition. Would restoring an image of mmcblk0p3 work? I have my /efs contents but not an image of it. Would it be possible to get an image from some other phone, restore it on mine and just replace it's contents later?
If so, would anyone be so kind to send me one image of mmcblk0p3 for the gt-i9000?
Thank you.
adb works from recovery.
no, no one will send you their efs folder
Yes, i managed to get adb working with recovery. i figured as much. to be honest, but i though if someone had an image from a broken phone or simply wouldn't mind sharing, it wouldn't hurt to ask since i've seen them around for other phones before. I couldn't care less about other phone's contents, just want to replace them with mine.
I will try to recreate this partition via adb with fdisk or something. Can anyone share the details of the mmcblk0p3, like size, blocks, etc?
Any other ideas are also appreciated.
efs contains fragile data, like the IMEI. Having it, it is relatively easy to unblock the phone locked as the result of stolen one claim.
I doubt if someone would share this content, first. Second, any effort related with IMEI cloning is not welcomed here.
spamtrash said:
efs contains fragile data, like the IMEI. Having it, it is relatively easy to unblock the phone locked as the result of stolen one claim.
I doubt if someone would share this content, first. Second, any effort related with IMEI cloning is not welcomed here.
Click to expand...
Click to collapse
I'm well aware and not trying to clone anything. But I'll change my request then: think it's possible for someone to extract the efs image, mount it elsewhere (in linux or something, should be an ext4, right?) delete it's files, save and send it to me? The partition structure should still be there (which is what i want) but no delicate files for me to use. I can then restore it to my phone, hopefully mount it manually in adb and copy my /efs contents.
Think this would work?
Thank you
Dear Friends,
Need help please. I have installed another custom rom that was not meant for I9300 and now the EFS is corrupted. I tried installing orignal rom using ODIN but geting boot loop and the phone is not booting. On going into recovery i can see an error efs/ corupted or something like that. I have the backup of my EFS folder in tar.gz format however dont know how to install the same and recover my phone as not able to boot to android.
Please help me if someone can work it out. My phone has just 3 days of warranty left and it does not shows rooted anywhere except the count of installation is about 32 and rom says official and kernel says custom.
Please if someone can help me restore my phone back in working condition i shall always remain thankfull.
Regards,
Mush
mush2004 said:
Dear Friends,
Need help please. I have installed another custom rom that was not meant for I9300 and now the EFS is corrupted. I tried installing orignal rom using ODIN but geting boot loop and the phone is not booting. On going into recovery i can see an error efs/ corupted or something like that. I have the backup of my EFS folder in tar.gz format however dont know how to install the same and recover my phone as not able to boot to android.
Please help me if someone can work it out. My phone has just 3 days of warranty left and it does not shows rooted anywhere except the count of installation is about 32 and rom says official and kernel says custom.
Please if someone can help me restore my phone back in working condition i shall always remain thankfull.
Regards,
Mush
Click to expand...
Click to collapse
It is essential that you have a backup of the EFS partition and a way to place it back - the first two ways that I would think about are:
a) use a good recovery - like Philz recovery, that has commands to restore EFS
b) if the format of the backup is not exactly right you might be able to boot in recovery and use ADB commands.
xclub_101 said:
It is essential that you have a backup of the EFS partition and a way to place it back - the first two ways that I would think about are:
a) use a good recovery - like Philz recovery, that has commands to restore EFS
b) if the format of the backup is not exactly right you might be able to boot in recovery and use ADB commands.
Click to expand...
Click to collapse
Code:
su
umount /efs
dd if=/sdcard/efs.img of=/dev/block/mmcblk0p1 bs=4096
reboot
Ver3go said:
Code:
su
umount /efs
dd if=/sdcard/efs.img of=/dev/block/mmcblk0p1 bs=4096
reboot
Click to expand...
Click to collapse
I am new to adb commands. Will phylz recovery help me enter the commands? if yes then i shall be replying with the sd card efs tar file name. Will then you be able to guide me with the commands based on the tar file?
Thanks all of you in advance.
Mush
mush2004 said:
I am new to adb commands. Will phylz recovery help me enter the commands? if yes then i shall be replying with the sd card efs tar file name. Will then you be able to guide me with the commands based on the tar file?
Thanks all of you in advance.
Mush
Click to expand...
Click to collapse
No for ADB you boot into recovery, connect your computer via USB and run the ADB commands from either Linux Terminal or Windows Command Prompt.
The tool here:
http://forum.xda-developers.com/showthread.php?t=1703488
May help if you're new to adb.
Otherwise it's a case of downloading and installing the drivers for your phone and the Android SDK http://developer.android.com/sdk/index.html
Thanks for all your replies.
Just wanted to confirm if i have the efs backup in sd card as under folder backup_efs and there are two files in tar.gz format will i be able to use the phylz recovery to use this replace my efs folder? if yes then can you guide me the steps please.
Regards,
Mush
mush2004 said:
Thanks for all your replies.
Just wanted to confirm if i have the efs backup in sd card as under folder backup_efs and there are two files in tar.gz format will i be able to use the phylz recovery to use this replace my efs folder? if yes then can you guide me the steps please.
Regards,
Mush
Click to expand...
Click to collapse
I do not remember right now what creates an backup_efs folder but it really does not matter that much - the tar.gz is a "file archive" and .img is usually a partition image. Each could have minor advantages - the .img also contains the entire filesystem of the partition (and will work easier if the filesystem is bonked) but a tar.gz backup is more versatile when you have bad sectors or a changed partition.
Under an advanced recovery like Philz you would just navigate some menus and try to restore the EFS - see the info in those specific threads.
Under ADB you need to have stuff (drivers and some programs) installed in your PC, you connect the phone on USB and you run ADB commands from the command line.