Related
Hi everyone!
The reason why I post this threat is that there is no clearly mention about the /efs folder in the rooting/how-to guides in here. In my opinion, it's the MOST IMPORTANT thing to know for all Samsung devices with Android OS before flashing any custom ROM. There is a really good threat posted in Original Android Development by Rawat, which I'm going to quote right here. Unfortunately, it's not a sticky threat so it's gone somewhere deeper in the forums.
I really beg you for a sticky of this thread, or Rawats to prevent all new users of damaging their phones.
My point is: many of you can agree, the /efs folder is very sensitive. If it get corrupted and you have no backup of it, well.. let's just say it's nearly impossible to get you phone working again. It contains your IMEI number and some other important things! There have been some situations when it get corrupted after flashing some ROMs. Without a backup, your IMEI is gone. The only way to get your phone working again is to send it back to Samsung Service.
Here is the guide, originally posted by Rawat! Thank you very much:
This guide is based on a guide by Candanga on the i9000 forums, and some commands from supercurio
Please hit thanks on their posts and show them some love for the write up.
-----------------------------------------------------------------------------------------------------------------------
I’ve compiled a quick guide to instruct how to make a copy of the /efs folder. I’ve found in many threads suggestions about backing up this folder but the methods itself are very general. Most of the times they suggest to “root and copy the folder” with Root Explorer or similar, but usually it’s not that easy or it just doesn't work for everyone.
This guide ASUMES you have read this Excellent Guide by Darkstrikerfirst:
H E R E <-- Make sure to read the ADB Guide.
I recommend doing this with a Mobile just taken out of the box or with any Official ROM of its Service Provider. If you have already Flashed your phone with another ROM but its working fine, then you can use that /efs also.
Why the /efs folder?
This is a very sensitive system folder that contains Phone-specific information such as the IMEI (encrypted in the nv_data.bin), wireless devices MAC addresses, product code (also in the nv_data.bin), and much more. Often users trying to change product codes or trying to unlock the mobile will end up corrupting data in this location.
Why back it up?
Well, let’s resume it saying that backing-up this little folder will keep you away from Samsung service centres.
***WARNING: I take no responsibility to any damage caused by the methods cited and/or written here. Their sole purpose is to back-up data and not to alter in any way the integrity of the original files of the mobile***
What you will need:
* Rooted SGS II to get permissions as a SU (Super User) and perform the backup
* I would suggest learning a little about the terminal commands used (in case you are not familiar with them), as it’s better to know what you are doing rather than typing strings like a little chimp without knowing what they are; if you are a little lazy, then you have a good chance bricking your mobile. <- Busybox Commands(or Google them)
* Terminal Emulator by Jack Palevich (available from the market) <-Terminal Emulator or use ADB which is included in the SDK Development Tools
The standard prompt of terminal (adb) is a $ sign. Once you enter “SU” it will become a # Sign.
***NOTE: Make sure to keep an eye on the screen of your SGS II during this process, because it may request SU permissions [currently doesn't on CF-root]; else, you will get an error (just if it’s the first time). In Terminal Emulator you will need to reset the app after granting permissions cause it usually freezes***
*Remember: to use ADB you need to enable USB DEBUGGING under Applications/Development in your SGS II.
Here are 3 methods, I recommend that you do both Clean and RAW.
Basic, unix permissions lost :
Code:
su
busybox cp -a /efs /sdcard/efs/
Clean :
Code:
su
busybox tar zcvf /sdcard/efs/efs-backup.tar.gz /efs
After this, you will end up with the file efs-backup.tar.gz in your INTERNAL SDCARD in sdcard/efs/, which is a “tarball” or a ZIP of the /efs folder. That file is your backup. You can expand it with Winrar.
You can also back up the mmcblk0p1 (where /efs is stored) under /dev/block which can greatly support in recovering your IMEI in case of a screw-up:
RAW :
Code:
su
cat /dev/block/mmcblk0p1 > /sdcard/efs/efs_dev-block-mmcblk0p1.img
alternative
Code:
dd if=/dev/block/mmcblk0p1 of=/sdcard/efs/efs_dev-block-mmcblk0p1.img
Same thing, the target is the INTERNAL SDCARD in sdcard/efs/, so go ahead and copy the file.
--------------------------------------
original thread by Rawat @ xda: click here
matee89 said:
Without a backup, your IMEI is gone. The only way to get your phone working again is to send it back to Samsung Service.
Click to expand...
Click to collapse
Not 100% true, there are other ways, for example I know how to generate valid nv_data files.
matee89 said:
RAW :
Code:
su
cat /dev/block/mmcblk0p1 > /sdcard/efs/efs_dev-block-mmcblk0p1.img
Same thing, the target is the INTERNAL SDCARD in sdcard/efs/, so go ahead and copy the file.
Click to expand...
Click to collapse
I think using dd is better than cat, I dont know why but I have a feeling cat could do some character conversion in some circumstances, so :-
dd if=/dev/block/mmcblk0p1 of=/sdcard/efs/efs_dev-block-mmcblk0p1.img
or better still do both, cannot have too many backups
Thanks for info Odia! Well, the backup is still important. Saves a lot of time for newbies, so i think that this guide should be sticky. Everyone can see it clearly then
There is already a thread about this...
rawat thread
And there's an app on the way apparently..
app thread
Yes, but this thread is not sticky. If you at least read a little part of mine post you should see that I quoted Hawats thread and put a link to it. My point is that this should be more visible for everyone. To be honest, it should be sticky like the rooting guides and other how to's, because it can give you serious problems with the device when files inside /efs get corrupted. Myself I haven't know about the purpose of /efs since yesterday, because it wasn't clearly mentioned in here. Just want to help other newcomers to Samsung devices.
This app will do exacly the same thing like you will do right now following this guide. It's not released yet, so this guide should be used meanwhile.
matee89 said:
Thanks for info Odia! Well, the backup is still important. Saves a lot of time for newbies, so i think that this guide should be sticky. Everyone can see it clearly then
Click to expand...
Click to collapse
Sure the backup is important, is why I added some input to your thread about using the dd command to make double sure the backup taken was valid.
Can an admin or mod make Rawat's thread sticky pls?
Okay, shall edit and post the alternative backup method with dd comand instead of cat.
Would be great with sticky. I don't think that majority of people who's flashing ROM's know how important this folder is. From what I've heard the nandroid backup in CWM recovery does not backup the /efs so it's needed to be done manually.
before using this comands you should use mkdir /sdcard/efs if you don't want to get an error
I made clean, raw and dd back up. Now I have two files of 20 MB each and one of 28Kb is it ok?
Yes, it seems okay. I saved my efs backup files on my PC as well in case something happens to the internal sdcard storage.
Thank you for that. I will backup mine tonight.
Thank you got the backup with my Note
Re: mp1806
Probably some of the ROMs that you flashed had an automatic backup script included, so you already got a working efs backup on your sd card. If you want to be completly sure if the backup is correct, you can make it manually by following the steps in my first post. Later you can even copy your backup to your PC if you like to.
There is three or four apps by now that aid you in creating EFS backups.
Most have been mentioned in the other (older) EFS backup thread.
It's one app i forgot the name of, EFS-Pro that works from your computer and my own one (see sig).
If you search for "efs backup" on the market you will find "Nitrality" (or however it's spelled, forgot the exact name right now) and my one.
Mine also offers an option to check the EFS backup if it's OK or corrupted, so can be really sure to have a good one when the check succeeds.
Point beeing:
No real need to tinker on the shell anymore
Great Thanks for this
Hi, I am using the RAW method on my Galaxy Note, rooted, but I keep getting a file not found error. Anyone able to help? I got the su and the prompt changed correctly, but after:
cat /dev/block/mmcblk0p1 > /sdcard/efs/efs_dev-block-mmcblk0p1.img
It just says file not found. What am I doing wrong?
Another way is to use ktool made by Hellcat to backup your efs and even restore.
http://forum.xda-developers.com/showthread.php?t=1314719&highlight=ktool
Anyone knows if this tool is as good as command line way?
(nvm)
Odia said:
Not 100% true, there are other ways, for example I know how to generate valid nv_data files.
Click to expand...
Click to collapse
Can you please let me know how to generate it? I HAVE LOST THE EFS FILES ON MY PHONE!
Samsung Tool
Samsung Tool is the easiest and more safe method
how do you restore it?
Hey,
Can someone provide me with the telephony files for Optus?
/data/data/com.android.providers.settings/databases/settings.db
/data/data/com.android.providers.settings/databases/settings.db-wal
/data/data/com.android.providers.settings/databases/settings.db-shm
/data/data/com.android.providers.telephony/databases/telephony.db
/data/data/com.android.providers.telephony/databases/telephony.db-journal
I flashed to ICS and forgot to pull these from my rom. I took a nandroid backup but for some reason it's corrupt, don't know why but now I can't restore my backup
Thanks!
No need to worry, I managed to locate the files on my hard drive!
I'm a complete beginner when it comes to rooting, flashing and so on. I've been using my Nexus 4 since the day it came out, and have always had it completely stock, never even rooted it or anything. I'm normally not too bad at stuff like this, but I've been googling how to do all of this and been reading some guides on here, and I'm just getting more and more confused.
My goal is to go from Stock Android 5.1.1 to the newest Cyanogenmod nightly, and to keep all my data. Now, how do i go about this?
I'm already stuck at the first step (or at least I think, that's the first step): Creating a backup of my current Stock phone. Apparently I need to create a NANDROID backup first, but I can't do it with a locked bootloader? And if i unlock the bootloader, my data will be wiped? This alone seems completely illogical to me, because how am I going to backup my device then? Is there no simple step by step guide for Nexus devices, that includes EVERYTHING, from backup to the final flashing of the ROM?
This is a good guide http://forum.xda-developers.com/showthread.php?t=2018179
I've seen it and it doesn't answer my question. How do I unlock the bootloader to create a backup, without wiping my device?
jb91 said:
I've seen it and it doesn't answer my question. How do I unlock the bootloader to create a backup, without wiping my device?
Click to expand...
Click to collapse
You can't unlock the bootloader without wiping the device. The only backup you will be able to make without an unlocked bootloader is copying your sdcard to your pc and use an app like helium to backup your apps and data. Just remember to copy that backup to your pc as well, otherwise it will be wiped.
theminikiller said:
You can't unlock the bootloader without wiping the device. The only backup you will be able to make without an unlocked bootloader is copying your sdcard to your pc and use an app like helium to backup your apps and data. Just remember to copy that backup to your pc as well, otherwise it will be wiped.
Click to expand...
Click to collapse
Thanks. Do you know this "Nexus Root Toolkit" program? I was able to create a backup file containing all apps with it, as well as extract a file with my contacts data from my Nexus 4. I'm guessing this should also include my SMS / WhatsApp messages and so on?
jb91 said:
Thanks. Do you know this "Nexus Root Toolkit" program? I was able to create a backup file containing all apps with it, as well as extract a file with my contacts data from my Nexus 4. I'm guessing this should also include my SMS / WhatsApp messages and so on?
Click to expand...
Click to collapse
Unfortunately I don't know much about that. You could skim through some of the thread or search to find out if someone else has asked that question and if not ask it there. That would probably be the easiest way to find out.
This is extremely confusing, I have no idea how people can say it is simple to put a custom ROM on a Nexus device. I am absolutely lost trying to back up everything. Is a NANDROID backup just a full backup of the phone? Am I not completely screwed if I can't create this? I have some random app files, extracted from a Root Toolkit, and a contacts file. I don't think that's enough to save my device in case anything goes wrong during flashing?
One of the sticky threads here mentions this right at the beginning:
Before you do anything EVER, you'll always have to backup your stuff, even if you don't feel like it, or your dog died (in which case I'm truly sorry), but, no matter what you're about to do, always have a recent backup sitting around.
There are many ways and things you can and will probably have to backup.
1. Backup your entire phone, by creating a Nandroid Backup.
As you saw in the 'Custom Recovery" picture above, you have a "Backup and Restore" option.
Click to expand...
Click to collapse
But it doesn't make any sense. "Before I do anything", I can't even create the NANDROID backup to begin with, because the bootloader is not unlocked by default, and unlocking it will wipe everything on the device. So I don't get how the first step to put a ROM on a phone is to create a NANDROID backup, because from my understanding, it is not possible to do. Also, my Nexus 4 did not come with a "custom recovery" installed and I have no idea how to put this on there (do i do this before or after the NANDROID backup?). I'm really starting to wonder how anyone actually understands these guides.
jb91 said:
This is extremely confusing, I have no idea how people can say it is simple to put a custom ROM on a Nexus device. I am absolutely lost trying to back up everything. Is a NANDROID backup just a full backup of the phone? Am I not completely screwed if I can't create this? I have some random app files, extracted from a Root Toolkit, and a contacts file. I don't think that's enough to save my device in case anything goes wrong during flashing?
One of the sticky threads here mentions this right at the beginning:
But it doesn't make any sense. "Before I do anything", I can't even create the NANDROID backup to begin with, because the bootloader is not unlocked by default, and unlocking it will wipe everything on the device. So I don't get how the first step to put a ROM on a phone is to create a NANDROID backup, because from my understanding, it is not possible to do. Also, my Nexus 4 did not come with a "custom recovery" installed and I have no idea how to put this on there (do i do this before or after the NANDROID backup?). I'm really starting to wonder how anyone actually understands these guides.
Click to expand...
Click to collapse
Following the link to the guide, I see this:
*****
Unlocking the Bootloader:
***NOTE***
This will perform a factory reset on your device. You will lose all applications. Even the data on your SD Card! I'd recommend making a Backup to your computer BEFORE performing this. There is a method for backing your data up, detailed HERE.
For the time being, there is a method available that will allow you to unlock your device (and root it) without losing your data.
For instructions, click HERE. Please note: this is a hack and isn't the "conventional" and "accepted" way of unlocking your bootloader on a nexus device. The wipe requirement is there for your safety, really, and I'm certain this will be patched in the upcoming releases.
*****
But you can always use adb directly from your pc to backup your entire device. How? adb --help
adb backup [-f <file>] [-apk|-noapk] [-obb|-noobb] [-shared|-noshared] [-all] [-system|-nosystem] [<packages...>]
- write an archive of the device's data to <file>.
If no -f option is supplied then the data is written
to "backup.ab" in the current directory.
(-apk|-noapk enable/disable backup of the .apks themselves
in the archive; the default is noapk.)
(-obb|-noobb enable/disable backup of any installed apk expansion
(aka .obb) files associated with each application; the default
is noobb.)
(-shared|-noshared enable/disable backup of the device's
shared storage / SD card contents; the default is noshared.)
(-all means to back up all installed applications)
(-system|-nosystem toggles whether -all automatically includes
system applications; the default is to include system apps)
(<packages...> is the list of applications to be backed up. If
the -all or -shared flags are passed, then the package
list is optional. Applications explicitly given on the
command line will be included even if -nosystem would
ordinarily cause them to be omitted.)
greg17477 said:
But you can always use adb directly from your pc to backup your entire device. How? adb --help
adb backup [-f <file>] [-apk|-noapk] [-obb|-noobb] [-shared|-noshared] [-all] [-system|-nosystem] [<packages...>]
- write an archive of the device's data to <file>.
If no -f option is supplied then the data is written
to "backup.ab" in the current directory.
(-apk|-noapk enable/disable backup of the .apks themselves
in the archive; the default is noapk.)
(-obb|-noobb enable/disable backup of any installed apk expansion
(aka .obb) files associated with each application; the default
is noobb.)
(-shared|-noshared enable/disable backup of the device's
shared storage / SD card contents; the default is noshared.)
(-all means to back up all installed applications)
(-system|-nosystem toggles whether -all automatically includes
system applications; the default is to include system apps)
(<packages...> is the list of applications to be backed up. If
the -all or -shared flags are passed, then the package
list is optional. Applications explicitly given on the
command line will be included even if -nosystem would
ordinarily cause them to be omitted.)
Click to expand...
Click to collapse
Is ADB this "Android Studio" that I had to install in the first step of this guide (Android SDK)? If so, I opened it but I have no clue how to get anywhere where i could enter code like this. This is what it looks like: http://i.imgur.com/zhujSKR.png
jb91 said:
Is ADB this "Android Studio" that I had to install in the first step of this guide (Android SDK)? If so, I opened it but I have no clue how to get anywhere where i could enter code like this. This is what it looks like: http://i.imgur.com/zhujSKR.png
Click to expand...
Click to collapse
Sorry, i can not help you , if you do not know the basic of basics Lots to read up for you.
cheers
Well ok, lets try it another way: i don't understand how to create a full backup, but i did backup some single apps to my PC using Nexus Root Toolkit (they're .ab files), for which i want to keep my data. I also manually backed up my mp3s and pictures / videos. Would i be fine just starting with the actual process (unlocking bootloader, install custom recovery and so on)?
After all, i should have the possibility to revert anything back for these apps at least, and the official Nexus 4 Stock Android files are available at Google. So, there's no real risk, even without a FULL backup of everything, correct?
I'm trying to backup a few apps from my Moto X Pure to restore them to a new phone (a Google Pixel 3 XL). The Moto X Pure has been rooted, but I am unable to root the Google Pixel 3 XL.
Initially I used the Pixel 3's built-in sync functionality on setup to copy most app data between the two phones. There were a few apps this did not work on, though. I attempted to use Helium on those apps, just for their app data, and some of them it worked on. For the others, Helium would give me an error of "An error has occurred while performing your app backup. A log of the error has been sent to ClockworkMod." One of the apps in question is MinuteQuest (package jp.pya.tenten.app.himatsubu). After this I also attempted some
Code:
adb backup
related methods. When doing
Code:
adb backup -f <file> <package>
on a computer, this gave me a .ab file that was only 47 bytes and as far as I can tell in a hex editor doesn't contain any app data. If I go into a shell on the phone via
Code:
adb shell
and then run
Code:
bu 1 backup <package> > /sdcard/<file>
, that file is 0 bytes.
I've checked the failing apps the app System Info for Android and it tells me all of them do have the android:allowBackup flag set to true on them. I'm now at a loss about how I'd backup these apps to restore them to my new phone. If the new phone could be rooted, then I would've just used Titanium Backup for all of this, but sadly that is not the case. Any help would be appreciated and if more information is required, I will do my best to provide it.
Try the following.
Backup (Moto X Pure):
Code:
adb backup -f <appname>.ab -apk <app_package_name>
Restore (Pixel 3 XL):
Code:
adb restore <appname.ab>
-Source: https://android.stackexchange.com/q...er-app-data-from-rooted-to-unrooted-new-phone
Note that the 47 byte .ab file is usually because the allow backup flag has been set to false.
That backup line doesn't seem much different than mine, other than it wanting to include the APK in the backup. Regardless of that, though, trying that with my example of Minute Quest still gives me a 47 byte .ab file. I do understand what you are saying that it means the allow backup flag is false, but is there another flag I should be checking on an app to see if it really is false? As I mentioned in my initial post, when I check the app on the phone, it tells me android:allowBackup is true, not false.
I have two N4s with broken screens, one of which has USB debugging enabled etc.
I created a TWRP backup of boot, system & data on the one with USB enabled and transferred it over to the other one.
I now can't restore that backup. I have to use TWRP's open recovery script in an ADB shell because the screens are broken. I am using:
Code:
adb shell twrp restore /data/media/0/TWRP/BACKUPS/"serial no"/
but which initially works, then says "no partitions selected for restore".
If I put "SDBM" after the path, it says "setting restore options: SDBM" then the same thing - "no partitions selected for restore".
If I put "SDBM" after "restore" i.e. before the path name it says "Restoring SDBM... Unable to locate backup 'SDBM'"
I can't find any help via google and I'm stuck now - how can I restore a backup with adb shell twrp?
mrmrchoice said:
I have two N4s with broken screens, one of which has USB debugging enabled etc.
I created a TWRP backup of boot, system & data on the one with USB enabled and transferred it over to the other one.
I now can't restore that backup. I have to use TWRP's open recovery script in an ADB shell because the screens are broken. I am using:
Code:
adb shell twrp restore /data/media/0/TWRP/BACKUPS/"serial no"/
but which initially works, then says "no partitions selected for restore".
If I put "SDBM" after the path, it says "setting restore options: SDBM" then the same thing - "no partitions selected for restore".
If I put "SDBM" after "restore" i.e. before the path name it says "Restoring SDBM... Unable to locate backup 'SDBM'"
I can't find any help via google and I'm stuck now - how can I restore a backup with adb shell twrp?
Click to expand...
Click to collapse
From what you wrote, I see that you provided the path to the backup directory instead of to the specific backup directory.
Your path is too short because it does not contain the name of the directory that was created during the backup.
If possible, always try to paste a significant piece of text from the terminal where you performed the action, it really makes it easier to find a solution.
ze7zez said:
From what you wrote, I see that you provided the path to the backup directory instead of to the specific backup directory.
Your path is too short because it does not contain the name of the directory that was created during the backup.
If possible, always try to paste a significant piece of text from the terminal where you performed the action, it really makes it easier to find a solution.
Click to expand...
Click to collapse
Hi, thanks, I got there not long after I posted this HOWEVER adding the specific backup directory now gives me an error about digest verification (I didn't generate an MD5 hash when I made the backup). This is when trying to restore using the same flag that I used to skip MD5 generation when I made the backup.
It asks me to deselect digest verification but I can't do that on the touch screen (as it's broken) and don't know if it's possible to do this via abd?
Thanks!