fsck unable to set flags on base and backup superblocks

Questions about hardware,drivers and peripherals
Forum rules
Before you post please read how to get help
Post Reply
tadlgc
Level 1
Level 1
Posts: 2
Joined: Wed Nov 24, 2010 11:01 am

fsck unable to set flags on base and backup superblocks

Post by tadlgc »

Hi

I hope I'm posting this in the right section. A couple of days ago my system froze and I had to hard-poweroff. I haven't been able to boot since - the process just sits idle where GRUB should start. I have since tried numerous ways to restore the filesystem, detailed below, none successful. The drive is an 8GB SSD inside an Acer Aspire One A110L, with Linux Mint 9 installed. The filesystem I'm trying to recover is on the first partition, /dev/sda1.

I've made a Peppermint live USB to have a lightweight rescue environment. Entered:

Code: Select all

peppermint@peppermint ~ $ sudo fdisk -l /dev/sda

Disk /dev/sda: 8069 MB, 8069677056 bytes
255 heads, 63 sectors/track, 981 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c9e11

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         933     7490560   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2             933         981      387073    5  Extended
Partition 2 does not end on cylinder boundary.
/dev/sda5             933         981      387072   82  Linux swap / Solaris
Then tried fsck:

Code: Select all

peppermint@peppermint ~ $ sudo e2fsck -f /dev/sda1 
e2fsck 1.41.11 (14-Mar-2010)
/dev/sda1: recovering journal
e2fsck: unable to set superblock flags on /dev/sda1
Then of course looked up backup superblocks:

Code: Select all

peppermint@peppermint ~ $ sudo mke2fs -n /dev/sda1 
mke2fs 1.41.11 (14-Mar-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
468640 inodes, 1872640 blocks
93632 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1920991232
58 block groups
32768 blocks per group, 32768 fragments per group
8080 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Then tested every single one with the same result:

Code: Select all

peppermint@peppermint ~ $ sudo e2fsck -f -b 32768 /dev/sda1 
e2fsck 1.41.11 (14-Mar-2010)
Superblock needs_recovery flag is clear, but journal has data.
Recovery flag not set in backup superblock, so running journal anyway.
/dev/sda1: recovering journal
Superblock needs_recovery flag is clear, but journal has data.
Recovery flag not set in backup superblock, so running journal anyway.
e2fsck: unable to set superblock flags on /dev/sda1
The output from dmesg tells me there's an I/O error:

Code: Select all

peppermint@peppermint ~ $ dmesg | tail
[ 9971.252479] ata2.00: configured for UDMA/66
[ 9971.252525] sd 1:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 9971.252542] sd 1:0:0:0: [sda] Sense Key : Aborted Command [current] [descriptor]
[ 9971.252562] Descriptor sense data with sense descriptors (in hex):
[ 9971.252572]         72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00 
[ 9971.252611]         00 44 08 00 
[ 9971.252628] sd 1:0:0:0: [sda] Add. Sense: No additional sense information
[ 9971.252645] sd 1:0:0:0: [sda] CDB: Write(10): 2a 00 00 44 08 00 00 00 08 00
[ 9971.252681] end_request: I/O error, dev sda, sector 4458496
[ 9971.252759] ata2: EH complete
Before trying anything else, I made backups, using dd to clone /dev/sda1, and dd_rescue to clone the entire /dev/sda; below is a detailed output from dd_rescue:

Code: Select all

peppermint@peppermint ~ $ sudo dd_rescue -f /dev/sda /dev/sdc
dd_rescue: (info): ipos:   7880512.0k, opos:   7880512.0k, xferd:   7880512.0k
                   errs:      0, errxfer:         0.0k, succxfer:   7880512.0k
             +curr.rate:     3330kB/s, avg.rate:     2810kB/s, avg.load:  2.4%
dd_rescue: (info): /dev/sda (7880544.0k): EOF
Summary for /dev/sda -> /dev/sdc:
dd_rescue: (info): ipos:   7880544.0k, opos:   7880544.0k, xferd:   7880544.0k
                   errs:      0, errxfer:         0.0k, succxfer:   7880544.0k
             +curr.rate:     3991kB/s, avg.rate:     2810kB/s, avg.load:  2.4%
Mounting the dd partition clone is possible, and I can browse the file tree, but most of the folders, including /home, appear empty. Mounting the dd_rescue disk clone instead gives me the following message:
Error mounting: mount: wrong fs type, bad option, bad superblock on /dev/sda1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
Next I tried testdisk on /dev/sda to see whether I could search for missing content, but the quick-search option gives me the same data my dd clone already has - printing directories shows most of the folders empty:

Code: Select all

TestDisk 6.11, Data Recovery Utility, April 2009
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org
   * Linux                    0  32 33   932 168  4   14981120
Directory /

drwxr-xr-x     0     0      4096 12-Oct-2010 13:13 .
drwxr-xr-x     0     0      4096 12-Oct-2010 13:13 ..
drwx------     0     0     16384 22-May-2010 19:41 lost+found
drwxr-xr-x     0     0      4096 28-Apr-2010 17:29 var
?---------     0     0         0                   etc
?---------     0     0         0                   media
?---------     0     0         0                   bin
drwxr-xr-x     0     0      4096 12-Nov-2010 15:39 boot
?---------     0     0         0                   dev
?---------     0     0         0                   home
drwxr-xr-x     0     0     12288 12-Nov-2010 15:19 lib
?---------     0     0         0                   mnt
?---------     0     0         0                   opt
?---------     0     0         0                   proc
?---------     0     0         0                   root
?---------     0     0         0                   sbin
?---------     0     0         0                   selinux
drwxr-xr-x     0     0      4096 27-Apr-2010 10:42 srv
?---------     0     0         0                   sys
drwxrwxrwt     0     0      4096 23-Nov-2010 01:05 tmp
drwxr-xr-x     0     0      4096 27-Apr-2010 10:42 usr
lrwxrwxrwx     0     0        33 12-Oct-2010 13:13 initrd.img
lrwxrwxrwx     0     0        30 12-Oct-2010 13:13 vmlinuz
-rw-r--r--  1000  1000     92423 17-Jul-2010 15:37 vmlinuz.10469
-rw-r--r--     0     0         0 12-Nov-2010 15:31 initrd.img.old
-rw-r--r--  1000  1000     92423 17-Jul-2010 15:37 vmlinuz.old
Using deep-seach, I get the following list, but there's no longer an option to print directories:

Code: Select all

TestDisk 6.11, Data Recovery Utility, April 2009
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org

Disk /dev/sda - 8077 MB / 7703 MiB - CHS 982 255 63

The harddisk (8077 MB / 7703 MiB) seems too small! (< 10077 MB / 9610 MiB)
Check the harddisk size: HD jumpers settings, BIOS detection...

The following partitions can't be recovered:
     Partition               Start        End    Size in sectors
  Linux                  281  90  2  1213 225 36   14981120
  Linux                  282  30  5  1214 165 39   14981120
  Linux                  283 132 42  1216  13 13   14981120
  Linux                  288  27 60  1220 163 31   14981120
  Linux                  288 222 63  1221 103 34   14981120
  Linux                  289  65 33  1221 201  4   14981120
  Linux                  290 103  6  1222 238 40   14981120
  Linux                  291  75 41  1223 211 12   14981120
  Linux                  292 178 15  1225  58 49   14981120


[ Continue ]
EXT4 Large file Sparse superblock Recover, 7670 MB / 7315 MiB
Finally I ran photorec to see what I could salvage, but having skimmed the output I'm fairly confident most (if not all) of /home isn't there.

Seeing as I cannot run fsck successfully, I thought I'd ask for help before formatting the disk. Is there any other way around the "unable to set superblock flags on /dev/sda1" error? Maybe some other lower-level magic I could try? If I should post any other output, please let me know. I'm a fairly advanced user - if you're willing or able to help, don't be afraid to go technical. ; )

Cheers

Tad
tadlgc
Level 1
Level 1
Posts: 2
Joined: Wed Nov 24, 2010 11:01 am

Re: fsck unable to set flags on base and backup superblocks

Post by tadlgc »

Bump? I'd really appreciate any help...
Post Reply

Return to “Hardware Support”