[SLL] I can't find the start of my ext3 FS
Jay Scherrer
jay at scherrer.com
Fri Nov 30 19:26:36 PST 2007
A rookie way,
Just re-install linux using custom partitioning and disk druid. But
don't format the section to be saved.
Jay Scherrer
Darius Medhora wrote:
> Hi,
> I have a situation where my 50G partition just refuses to mount or fsck.
> I really don't want to loose the files on it so let me start by explaining
> what happened.
> I wiped out the first 512 bytes of the disk by mistake and therefore I
> lost the partition table of my disk.
> I ran testdisk from knoppix to recreate the partitions however, testdisk
> could not recreate 1 of them. This is the partition thats giving me
> problems. Can any one give me any solution to this please? Details of
> disk follow:-
>
> The partition I cannot mount or fsck is /dev/sda12
>
> bash-3.00# fdisk -ls /dev/sda
>
> Disk /dev/sda: 122.9 GB, 122942324736 bytes
> 16 heads, 63 sectors/track, 238216 cylinders
> Units = cylinders of 1008 * 512 = 516096 bytes
>
> Device Boot Start End Blocks Id System
> /dev/sda1 * 1 20318 10240240+ 83 Linux
> /dev/sda2 20319 30477 5120136 83 Linux
> /dev/sda3 30478 40636 5120136 83 Linux
> /dev/sda4 40637 196784 78698592 f W95 Ext'd (LBA)
> /dev/sda5 40637 44700 2048224+ 83 Linux
> /dev/sda6 44701 54388 4882720+ 83 Linux
> /dev/sda7 54389 56326 976720+ 83 Linux
> /dev/sda8 56327 57295 488344+ 83 Linux
> /dev/sda9 57296 61170 1952968+ 82 Linux swap
> /dev/sda10 61171 80546 9765472+ 83 Linux
> /dev/sda11 80547 99903 9755896+ 83 Linux
> /dev/sda12 99904 196784 48827992+ 83 Linux
>
> bash-3.00# fdisk -lu /dev/sda
>
> Disk /dev/sda: 122.9 GB, 122942324736 bytes
> 16 heads, 63 sectors/track, 238216 cylinders, total 240121728 sectors
> Units = sectors of 1 * 512 = 512 bytes
>
> Device Boot Start End Blocks Id System
> /dev/sda1 * 63 20480543 10240240+ 83 Linux
> /dev/sda2 20480544 30720815 5120136 83 Linux
> /dev/sda3 30720816 40961087 5120136 83 Linux
> /dev/sda4 40961088 198358271 78698592 f W95 Ext'd (LBA)
> /dev/sda5 40961151 45057599 2048224+ 83 Linux
> /dev/sda6 45057663 54823103 4882720+ 83 Linux
> /dev/sda7 54823167 56776607 976720+ 83 Linux
> /dev/sda8 56776671 57753359 488344+ 83 Linux
> /dev/sda9 57753423 61659359 1952968+ 82 Linux swap
> /dev/sda10 61659423 81190367 9765472+ 83 Linux
> /dev/sda11 81190431 100702223 9755896+ 83 Linux
> /dev/sda12 100702287 198358271 48827992+ 83 Linux
> bash-3.00#
>
> bash-3.00# e2fsck /dev/sda12
> e2fsck 1.38 (30-Jun-2005)
> Couldn't find ext2 superblock, trying backup blocks...
> e2fsck: Bad magic number in super-block while trying to open /dev/sda12
>
> 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>
>
> bash-3.00#
> bash-3.00# mount /dev/sda12 /mnt
> mount: you must specify the filesystem type
> bash-3.00#
>
> A program i got from this great mailing list which displays the
> blocks in the disk where superblocks may be found is as follows:
> #!/usr/bin/python
> '''
> find_superblock.py
>
> Finds possible superblocks in a drive, to aid with data recovery.
>
> Usage: find_superblock.py /dev/hda
>
> NOTE: USE THIS AT YOUR OWN RISK! NO WARRANTIES EXPRESSED OR IMPLIED.
> Yada yada. IANAL. find_superblock.py must be run as root. It does not
> modify the contents of the drive in any way; but the information provided
> by this program is not tested and may be very unreliable.
> '''
> import os, sys, struct
>
> if len(sys.argv) != 2:
> print __doc__
> sys.exit()
> f = open(sys.argv[1],'rb')
> n = 1
> while True:
> blk = f.read(512)
> if len(blk) == 0: break
> magic, volname = struct.unpack('56xH62x16s376x',blk)
> if magic == 0xef53:
> print '%d\t%s' % (n, volname)
> n += 1
>
>
>
>
> However, I'm not sure if I should change the f.read to 4096 because
> the block size of the filesystem could be 4096. If so, how do i do
> that since I don't know python?
>
> But a run of the same script gives this output:
> bash-3.00# ./fsb.py /dev/sda12
> 19093
> 34549
> 34613
> 34725
> 40141
> 40245
> 40397
> 40629
> 40781
> 41037
> 41205
> 41429
> 42885
> 43021
> 43885
> 46901
> etc etc etc etc...
>
> BUT, if I try 19093
>
> bash-3.00# e2fsck -b 19093 /dev/sda12
> e2fsck 1.38 (30-Jun-2005)
> e2fsck: Bad magic number in super-block while trying to open /dev/sda12
>
> 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>
>
> bash-3.00#
>
> Can anyone please help me to fix this filesystem/partition?
> I can do without all the other partitions/filesystems.
>
> thanks!
> d
>
>
> ____________________________________________________________________________________
> Be a better sports nut! Let your teams follow you
> with Yahoo Mobile. Try it now. http://mobile.yahoo.com/sports;_ylt=At9_qDKvtAbMuh1G1SQtBI7ntAcJ
>
>
--
Jay Scherrer
Scherrer Company
Real estate and Tax Strategies
http://jay.scherrer.com
206.701.7952
http://www.skype.com/go/joinskypeprime?call&skypename=gimpit
More information about the linux-list
mailing list