Post Reply Subscribe to Thread Email Thread

[HOWTO] [GUIDE] Repairing corrupted /data partition

20th December 2013, 06:49 AM   |  #1  
OP Senior Member
Thanks Meter: 76
 
132 posts
Join Date:Joined: Jun 2010
I had an experience the other night that I found rather frightening and enlightening, and felt the need to contribute my learning. I attempted to install a new ROM on my Nexus 5 and encountered a freeze during the /system write process. I waited 30 minutes and decided it wasn’t going to finish, so I powered off. As an avid and experienced ROM flasher I knew this could hurt, and knew it was an inevitable requirement.

Upon rebooting back to recovery (I had already wiped /system /data, etc. in preparation for a new ROM) I found that I was unable to mount /data and subsequently /sdcard. I received a few different errors depending on which recovery I attempted (fastboot flashed). I was given neat things like “Enter password to decrypt /data” – TWRP, or “E: Unable to mount /data, invalid argument”, “E: Error mounting /data”, “E: Error mounting /sdcard”.

During all of this I realized I could get an ADB shell going from within Philz recovery (I am not sure if TWRP or CWM do this, nor did I try). After much research, and very much to my dismay, I was unable to find a complete guide or walkthrough for how to go about recovering from this. This is the procedure I glued together from my own digging and manual learning of the commands required. This procedure may or may not work in all cases but is a viable step to recovering your /data partition before going the nuke & pave route with the factory image!

(NOTE: I’ll try to keep this as simple as possible. I am not a dev. I do this for fun/learning in the little free time I get and am not typically available to assist, so please use this only if you feel comfortable with the material. Flashing a ROM/Kernel/etc. is one thing. Digging in the innards of the Android partitions/file system is a whole other beast! To be VERY clear: I am not responsible for damages or loss incurred by the use or misuse of this information.) Also note, if you have an ADB enabled recovery, you can probably try this process against your devices partitions as well.

The following instructions assume you are unable to mount /data or /sdcard on the Nexus 5 and are receiving errors. This also assumes that the wipe /cache function is not resolving the issue for you (as this seems to work for some depending on the issue).

Prerequisites:

- Philz recovery for LGE Nexus 5 (http://forum.xda-developers.com/show....php?t=2565174)
- Android ADB interface drivers and software (Available from existing root toolkits and SDK)
- Fastboot executable (Also available from existing root toolkits and SDK)
***Note: I performed all of this from Windows 8. The toolkit I used was Wug’s Nexus Root Toolkit (http://forum.xda-developers.com/show....php?t=2517778). If you are a Windows user, read and follow the toolkit instructions to install the drivers. Use the Advanced Utilities[Launch]->Manual Input[Launch CMD Prompt] to bring up a Command prompt and perform the steps below.
- For simplicity, ensure that the ADB and Fastboot binaries are in the same location if you are gathering these binaries from the SDK or other source.
- Create a folder that you can later use to pull recovered files from your phone. (if so desired)
Terminologies used:

- Terminal = Command Prompt (Windows), Bash/etc (Linux), Terminal (MacOSX)
- Fastboot = Application that interfaces with the Bootloader (flash/wipe partitions, etc)
- ADB = Android Debug Bridge (Provides an interface to interact with Android filesystem)
- Binaries = Files containing executable code (for this context, ADB and Fastboot applications)
- Bootloader = Think of it as the EFI or BIOS equivalent for your phone. (Accessed with VOLDN+PWR)
- Recovery = CWM/TWRP/Philz (We will be using Philz, as this was what I used to write this guide)
Steps:

1. Install all required drivers and prerequisites listed above.
a. Use Wug’s toolkit or whatever method gets your drivers installed for your OS.
b. If you are not familiar with this process, then please research!
2. Power off your phone and connect via USB to your PC.

3. Power your phone into the bootloader by holding the PWR+VOLDN keys

4. In a Terminal, browse to the location of your fastboot binaries. (See prerequisite note for Wug’s)
a. Enter ‘fastboot devices’ to verify that your phone is detected. If it returns a “<serialnumberofdevice> fastboot” then you may proceed. If it does not, please check your driver installation and start over.
5. Flash and boot to Philz recovery:
a. Extract the ‘recovery.img’ file from Philz Recovery ZIP and place in the same location that fastboot and adb binaries are located.
b. Enter ‘fastboot flash recovery recovery.img’ (without quotes) in the Terminal. This will write the new recovery.
c. Once complete (takes a brief second usually), use the VOLUP/DN keys until the Bootloader shows “Recovery Mode” and press the power key. Your phone should now be booting into Philz recovery.
6. Use ADB to launch a root shell from within Philz recovery
a. Ensure that the drivers are now detecting your device as an ADB ready device by entering: ‘adb devices’. If it returns “<serialnumberofdevice> recovery” then you are ready to proceed. If it does not, please verify your ADB driver installation and check again.
b. Enter: ‘adb shell’ to gain full root shell access to the Android file system. (You should see a “~#” prompt to show that you’re now in a root shell)
7. Attempt repair of /data partition. This partition includes /sdcard and dalvik. (/sdcard is linked to /data/media) At the ~# prompt:
a. Enter: ‘e2fsck /dev/block/platform/msm_sdcc.1/by-name/userdata’
b. You should now be prompted to repair or fix errors. Press [Enter] key to use the default answer of (y) for yes. If you are not, then this fix may not apply to you.
c. Continue pressing [Enter] until the process completes.
d. Proceed to next step if you have gotten this far.
8. Attempt to manually mount the data partition.
a. We are going to mount /data as read-only for now. To do this, enter: ‘mount /dev/block/platform/msm_sdcc.1/by-name/userdata /data’
b. If mount is successful, it will simply drop down to the next blank shell prompt. If it fails, you will receive an error. If you receive an error, then the repair has failed.
c. If you did not receive an error, you can now browse to your /data and /sdcard partitions. This is accomplished by entering: ‘cd /data’ for /data, and ‘cd /data/media/0’ OR ‘cd /sdcard’ for your /sdcard (/sdcard is a link that will drop you directly to /data/media/0)
9. BACKUP YOUR ENTIRE SDCARD TO YOUR COMPUTER!!! (Optional, but highly recommended)
a. Enter: ‘adb pull /data/media <path_on_computer>’
b. <path_on_computer> will be a folder you created in the prerequisites.
c. Wait for this process to complete.
Congratulations! You may now proceed to launch recovery and flash at will. I highly recommend after making the backup in step 9 that you perform a full factory reset to correct any potential lingering issues with the partitions. You can then push the files back to your /sdcard by mounting /data as RW using ADB shell through Philz recovery (please reference the ‘mount’ and ‘adb’ command utilities for information about how to do this).

If you find yourself in the unfortunate position to have to use this, please share your results in the forum for others. If you find something does not work, please post it (I will check occasionally and update as I can). I do not frequent my PM’s, and again, I am not available to provide support. Please understand this and use at your own risk.

If this helped you, then my job here is done . Thanks for reading!

(I am not affiliated with any of the devs that provide these tools. Be sure to thank them if you used their tools, as they deserve all credit for enabling and teaching us to do these things – even when we do break our own stuff!)
Last edited by cadbomb; 20th December 2013 at 02:34 PM.
The Following 50 Users Say Thank You to cadbomb For This Useful Post: [ View ]
20th December 2013, 04:44 PM   |  #2  
DowntownJeffBrown's Avatar
Senior Member
Flag Porter Indiana (Chicagoland)
Thanks Meter: 3,372
 
15,882 posts
Join Date:Joined: Oct 2012
More
Nice guide I'm sure this is going to be very useful for a lot of people. :thumbup::thumbup:

Sent from my Nexus 5 using Xparent BlueTapatalk 2
The Following User Says Thank You to DowntownJeffBrown For This Useful Post: [ View ]
24th December 2013, 10:04 PM   |  #3  
matteventu's Avatar
Senior Member
Flag Lodi
Thanks Meter: 123
 
535 posts
Join Date:Joined: Feb 2009
More
Really helpful guide, I corrupted the data and cache partition while updating (via official OTA by sideload) to 4.4.1 (full stock Nexus 5), and I had to format all flashing then factory image and losing all the data...

Now if it does happens another time, I'll know what to do.

Thanks
24th December 2013, 10:28 PM   |  #4  
jd1639's Avatar
Recognized Contributor
Minnetonka, MN
Thanks Meter: 4,381
 
12,367 posts
Join Date:Joined: Sep 2012
Donate to Me
Good write up but, I don't recommend tool kits. You can do all this with fastboot commands. You could just flash userdata image with fastboot
24th December 2013, 10:47 PM   |  #5  
Senior Member
Thanks Meter: 38
 
281 posts
Join Date:Joined: Mar 2011
As a Linux admin, I'd wanna format /data after pulling off any files I wanted to keep rather than just rely on fsck . Is that an option? Is mkfs even on the recovery?

Sent from my BN NookHD+ using xda app-developers app
12th January 2014, 06:05 PM   |  #6  
Junior Member
Thanks Meter: 0
 
28 posts
Join Date:Joined: Apr 2012
Thanks for sharing.
My nexus5 cant mount cache partition and i cant flash to stock factory,this maybe helpful.
Thank you again.
12th January 2014, 06:13 PM   |  #7  
jd1639's Avatar
Recognized Contributor
Minnetonka, MN
Thanks Meter: 4,381
 
12,367 posts
Join Date:Joined: Sep 2012
Donate to Me
Quote:
Originally Posted by ywt474000158

Thanks for sharing.
My nexus5 cant mount cache partition and i cant flash to stock factory,this maybe helpful.
Thank you again.

Can you fastboot flash the cache.img?
13th January 2014, 06:42 PM   |  #8  
Senior Member
Thanks Meter: 846
 
1,545 posts
Join Date:Joined: May 2010
More
Quote:
Originally Posted by razholio

As a Linux admin, I'd wanna format /data after pulling off any files I wanted to keep rather than just rely on fsck . Is that an option? Is mkfs even on the recovery?

Sent from my BN NookHD+ using xda app-developers app

I'm no Linux admin but there's a wipe /data button which does that in TWRP and also probably in CWM.

Sent from my Galaxy Nexus using Tapatalk
17th January 2014, 05:37 AM   |  #9  
Member
Thanks Meter: 2
 
48 posts
Join Date:Joined: Apr 2012
Somehow it seems as though all of my partitions have been wiped/corrupted and I was directed to this thread as possible help. When trying to run step 7 command(had to do it with CWM v6.0.4.5 as it doesn't seem to want to keep philz when sideloading or fastboot flashing it), it gives me the following response:

e2fsck: 1.41.14 (22-Dec-2010)
e2fsck: Superblock invalid, trying backup blocks...
e2fsck: Bad magic number in super-block while trying to open /dev/block/platform/msm_sdcc.1/by-name/userdata

The super block could not be read or does not describe a correct ext2 filesystem. If the device is valid and it really contains an ext2 filesystem (and not swap or ufs or something else), then the superblock is corrupt, and you might try running e2fsck with an alternate superblock: e2fsck -b 8193 <device>


My phone was having freezes and shutdowns so I decided to flash a new ROM to freshen things up and it failed and aborted. After that I've got no android to boot into and I can't mount or access any of the partitions. I've got fastboot and adb, but no clue where to begin as it seems like I have to recreate my partition table but can't find any info on doing that for the nexus 5 itself
Last edited by tidoubleger; 17th January 2014 at 07:05 AM.
17th January 2014, 02:52 PM   |  #10  
jd1639's Avatar
Recognized Contributor
Minnetonka, MN
Thanks Meter: 4,381
 
12,367 posts
Join Date:Joined: Sep 2012
Donate to Me
Quote:
Originally Posted by tidoubleger

Somehow it seems as though all of my partitions have been wiped/corrupted and I was directed to this thread as possible help. When trying to run step 7 command(had to do it with CWM v6.0.4.5 as it doesn't seem to want to keep philz when sideloading or fastboot flashing it), it gives me the following response:

e2fsck: 1.41.14 (22-Dec-2010)
e2fsck: Superblock invalid, trying backup blocks...
e2fsck: Bad magic number in super-block while trying to open /dev/block/platform/msm_sdcc.1/by-name/userdata

The super block could not be read or does not describe a correct ext2 filesystem. If the device is valid and it really contains an ext2 filesystem (and not swap or ufs or something else), then the superblock is corrupt, and you might try running e2fsck with an alternate superblock: e2fsck -b 8193 <device>


My phone was having freezes and shutdowns so I decided to flash a new ROM to freshen things up and it failed and aborted. After that I've got no android to boot into and I can't mount or access any of the partitions. I've got fastboot and adb, but no clue where to begin as it seems like I have to recreate my partition table but can't find any info on doing that for the nexus 5 itself

Have you tried this yet http://forum.xda-developers.com/show...php?p=47156064

The Following 2 Users Say Thank You to jd1639 For This Useful Post: [ View ]
Post Reply Subscribe to Thread

Tags
/data error, /sdcard error, corrupted data partition, format data error, format sdcard error
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes