Check /data for bad block - Captivate General

How can i check /data and /dbdata for bad blocks? I have a FS corruption there after adb reboot command. using voodoo lagfix in SetiroN kernel

Related

Clean Your File Systems!

Ok, lately we have had a rash of errors and undesired performance. In my opinion, this is unacceptable... So I am trying to fix it. Now, I can't fix every issue, but boy can I sure help most of them...lol
So let's get started. We will call this:
The File System Cleaner
Linux has a few tools for us to see if we have a "Dirty" or "Clean" filesystem.
They are tune2fs, e2fsck, and fsck_msdos.
Now, you can't use all of them for every file system or partition (we will refer to them all as partitions from here on out). Each one works on certain filesystems. For example, e2fsck works on ext type partitions where fsck_msdos works on vfat type partitions, and tune2fs only works on large partitions.
While tune2fs is a tool that gives detailed information about a partition, it can still give us an idea on where we stand on those larger partitions as well as change certain options/features on that partition such as journaling, mount point, mount as rw or ro, etc. But the biggest thing we are going to focus on is 1 line:
Code:
Filesystem state
If you run tune2fs and the filesystem state is anything other than clean, you have some sort of gremlin floating about it and it needs to be fixed. Now what about those partitions in which we get these errors:
t
Code:
tune2fs 1.41.11 (14-Mar-2010)
tune2fs: Attempt to read block from filesystem resulted in short read while trying to open /dev/block/mmcblk0p4
Couldn't find valid filesystem superblock.
1|[email protected]:/ # tune2fs -l /dev/block/mmcblk0p28
tune2fs 1.41.11 (14-Mar-2010)
tune2fs: Bad magic number in super-block while trying to open /dev/block/mmcblk0p28
Couldn't find valid filesystem superblock
It doesn't mean that they are corrupt. It means they are either not in a format that tune2fs can read or they are not a large partition.
So for those partitions that are not compatible with tune2fs, we can use fsck.
The fsck works much like scan disk and defrag in windows. It scans the partition for several different things like bad blocks, missing/corrupt information, etc. Although you can run tune2fs on any large partition whether it is mounted or not, you DO NOT want to fsck ANY partition that is mounted or it WILL result in TOTAL data LOSS! You have been warn!
Keep in mind all this information is at your own risk, but know that I have been using this for quite some time and it hasn't failed me yet. But then again, I follow my instructions to a TEE, as you should as well...
So, here's how we use all this.
First make sure you have adb installed on your computer
To be safe, boot into recovery, plug your phone into your computer and start adb shell
Now type:
Code:
mount /system
cp /system/bin/tune2fs /tmp
cp /system/bin/e2fsck /tmp
cp /system/bin/fsck_msdos /tmp
chmod -R 777 /tmp
cd tmp
Now that our tools are set, we can now begin cleaning house.
First and most important, make sure you umount ALL partitions.
I personally unmount them manually via mounts and storage in CWM.
In terminal (with adb running) type:
Code:
./tune2fs -l <partition>
./e2fsck <partition>
./fsck_msdos <partition>
**NOTE**If you have an error "/sbin/sh: <command>: not found" when executing one of these commands simply mount /system and copy to tmp, and chmod 777 again.**
For more information on the commands, run <command> -h. here you will see additional options for that command.
Now, I didn't break down which partitions work with tune2fs, but /system, /data, and /cache can be scanned with tune2fs.
However, I did break as to what partitions need which fsck command to be cleaned.
Code:
e2fsck
|mount point| |Filesystem type|
/dev/block/mmcblk0p21 /efs
/dev/block/mmcblk0p24 /system
/dev/block/mmcblk0p25 /data
/dev/block/mmcblk0p26 /cache
/dev/block/mmcblk0p27 /tombstones
/dev/block/mmcblk1p2 unknown
Code:
fsck_msdos
|mount point| |Filesystem type|
/dev/block/mmcblk0p4 fsinfo
/dev/block/mmcblk0p13 /system/etc/firmware/misc
/dev/block/mmcblk0p17 /system/etc/firmware/misc_mdm
/dev/block/mmcblk0p28 emmc
/dev/block/mmcblk1p1 /sdcard
Example:
Code:
/tmp # e2fsck /dev/block/mmcblk0p24
e2fsck 1.41.12 (17-May-2010)
/dev/block/mmcblk0p24: clean, 4220/38320 files, 93625/153088 blocks
This should resolve many of your laggy performance and random reboot issues. As well as the issue of freezes after a reboot.
If you are a flash addict, tuning your partitions between flashes my be a GREAT idea...
If you do not have those binaries in your ROM, let me know and I will upload them here...
Now, there is a little more destructive way to clean a partition, and that is to reformat it. Most of us format /system /cache and dalvik in CWM before flashing, but sometimes that isn't enough. All CWM does is erase the files/folders contained in one of those partitions.
Here's how we do a complete reformat:
Reboot to recovery, plug phone in and start adb shell
Type:
Code:
mount /system
cp /system/bin/make_ext4fs /tmp
chmod 777 /tmp/make_ext4fs
mount <system, data or cache partition>
./make_ext4fs <partition>
This only works with ext4 partitions, so use it ONLY on these:
Code:
/dev/block/mmcblk0p24 /system
/dev/block/mmcblk0p25 /data
/dev/block/mmcblk0p26 /cache
I know there are other ext partitions, like tombstone and efs, but DO NOT use this command on them. You may BRICK or damage your device. I will say this again, ONLY DO THIS on data, cache, system!
**NOTE** If you format system partition, you WILL have to flash your ROM and Gapps again...
I have not had windows on this pc for over 2 years now and I think ADB is MS only right? I do flash a lot but I normally run ultimate kernel cleaning script and plus run the wipes a couple times myself and sumtimes format cache partitons before I install a new rom.... I like to make sure I do most I can to clean before I flash...and I always run the LZ kernel Cause its AWESOME!! but I guess my question is how can I look to see if my partitons need to be cleaned.. on AOKP with LZ kernel at moment and it is smooth fast and no bugs or reboots. is there a way to vew the partitions with ubuntu 12.04? or dose ubuntu even need ADB... linux seems very good at haveing the right drivers and software already available without installing to many extras.
not even sure your a linux desktop user but thought I would go ahead and ask.
Many thanks for everything
woodyjlw said:
I have not had windows on this pc for over 2 years now and I think ADB is MS only right? I do flash a lot but I normally run ultimate kernel cleaning script and plus run the wipes a couple times myself and sumtimes format cache partitons before I install a new rom.... I like to make sure I do most I can to clean before I flash...and I always run the LZ kernel Cause its AWESOME!! but I guess my question is how can I look to see if my partitons need to be cleaned.. on AOKP with LZ kernel at moment and it is smooth fast and no bugs or reboots. is there a way to vew the partitions with ubuntu 12.04? or dose ubuntu even need ADB... linux seems very good at haveing the right drivers and software already available without installing to many extras.
not even sure your a linux desktop user but thought I would go ahead and ask.
Many thanks for everything
Click to expand...
Click to collapse
Yeah, I'm completely windows free too...YAY! lol
You still need to install the adb binary/command and put it in your path. The good news is, it's very simple in Linux, unlike wincrapdows...
And then just follow the tutorial to check your partitions...

How to know and check in what file system the /data partition is formatted ?

Hi !
So...that's my questition. My phone is SGS and i want to check in what file system the /data partition is formatted. Is there any way to do it ?
Thanks in advance, guys !
Open a shell (either install a terminal app or connect via USB and run "adb shell" on your computer) and run the command "mount". This will give you a list of all mounted filesystems. Look for the one mounted to /data.
For example, for my I9505, it reads:
Code:
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw,seclabel,nosuid,nodev,noatime,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0
This means my /data is an Ext4 partition.
Open the terminal and run the command
Code:
mount
you will see how and where all partitions are mounted.
For data partition, in my phone, it shows up
Code:
/dev/block/mmcblk0p9 /data ext4 rw,nosuid,nodev,relatime,barrier=1,data=ordered 0 0
that means /data is mounted as ext4

getting stock rooted Calkulin rom converted to data/cache f2fs

@Calkulin (because you uploaded the rom)
@katinatez (because you are good folk)
@zaphodbeeb (becasue you are the one that taught me to convert to mixed partitions)
hoping to get some help on this for me and others wanting to try out the update.
i am trying to get the rooted 05q to work on my mixed f2fs/etx4 partitions. data/cache f2fs - system etx4 so i don't have to wipe my /data partition.
i have gone through several routes so far to no avail. sideloading/flashing. flashing the ak 113 kernel with instructions for the new update. updated to the new katinatez philz with the new f2fs comits.
1. updater script - i did not see a need in changing the /data to use busybox for f2fs as the line of code is already there.
2. fstab.bacon - i used zaphods new f2fs all or f2fs mixed
Code:
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,barrier=1 wait
/dev/block/platform/msm_sdcc.1/by-name/system /system f2fs ro,noatime,nosuid,nodev,discard,nodiratime,inline_xattr,errors=recover wait
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,errors=panic wait,check,encryptable=/dev/block/platform/msm_sdcc.1/by-name/reserve4
/dev/block/platform/msm_sdcc.1/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,nodiratime,inline_xattr,errors=recover wait,nonremovable,encryptable=/dev/block/platform/msm_sdcc.1/by-name/reserve4
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,errors=panic wait,check
/dev/block/platform/msm_sdcc.1/by-name/cache /cache f2fs noatime,nosuid,nodev,discard,nodiratime,inline_xattr,errors=recover wait
/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 nosuid,nodev,barrier=1,data=ordered,nodelalloc,nomblk_io_submit,errors=panic wait,check
/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/misc /misc emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
/devices/platform/xhci-hcd auto vfat defaults voldmanaged=usbdisk:auto
at first i just flashed the the new extras file (firmware modem linked with Calkulin's rom. then flashed the rom. i got stuck on the bootanimation for ten minutes.
then i thought it might be the kernel not 'jiving' with f2fs. so i sideloaded the ak_113 (on top of what i had already done) with the instructionsfrom @xlollomanx (thanks) linked from the ak kernel thread.
still.... stuck on cyanogen boot for ten minutes
then i restored my backup and sideloaded everything, ak kernel and all, from scratch.
once again... grrr. still stuck on boot animation for ten minutes.
any ideas on what i can do?

[Q] Adb shell/terminal

what exactly does adb shell mount do?
Edit: When I input
mount -t ext4 /dev/block/mmcblk0p25 /data
I get the output
mount: Invalid argument
Edit: I made a new ext2 filesystem in mmcblk0p25, how can I mount it?
Syreth said:
what exactly does adb shell mount do?
Click to expand...
Click to collapse
It allows you to mount partions on your phone such as /system so you can edit stuff in that partion (that's why I read)
A_Bunny said:
It allows you to mount partions on your phone such as /system so you can edit stuff in that partion (that's why I read)
Click to expand...
Click to collapse
I tried to mount -t ext4 dev/block/mmcblk0p25 /data and I got mount: Invalid arguement...
probably you should check your filesystem mmcblk0p25
>if it doesnt exist, create one using mkfs
>if it is corrupted, check & repair it using fsck
samsungrockz said:
probably you should check your filesystem mmcblk0p25
>if it doesnt exist, create one using mkfs
>if it is corrupted, check & repair it using fsck
Click to expand...
Click to collapse
I don't have those commands..
Nevermind, I have e2fsck, but e2fsck -pcfv /dev/block/mmcblk0p25 gives the output
e2fsck -pcfv /dev/block/mmcblk0p25
e2fsck: Bad magic number in super-block while trying to open /dev/block/mmcblk0p
25
/dev/block/mmcblk0p25:
The superblock 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>.
EDIT

Can't mount vendor and system image as RW

I try to mount system and vendor partitions by using command below
Code:
sudo mount -o loop -t ext4 vendor.img vendor
got this error message
Code:
mount: xxx/xxx/vendor: wrong fs type, bad option, bad superblock on /dev/loop20, missing codepage or helper program, or other error
This command use to work on system image on different phone with same android version.
But I'm able to mount as RO using achieve mounter on Ubuntu.
Is there any way that I can mount those image as RW then edit some file in there?
OOS locks the system partition. No way in as of yet.
BeardKing said:
OOS locks the system partition. No way in as of yet.
Click to expand...
Click to collapse
Thank you

Categories

Resources