LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   SATA drive can't see files after power failure (https://www.linuxquestions.org/questions/linux-hardware-18/sata-drive-cant-see-files-after-power-failure-591556/)

ncsuapex 10-13-2007 03:36 PM

SATA drive can't see files after power failure
 
Long story short. I lost power to a SATA drive connected via a USB cable while I was moving files from my PC to the drive. Ever since I have been having a hard time getting the data off of it. I ended up getting a new PC that has SATA connectors on the MB so I connected the drive directly to the MB instead of its USB enclosure. It took me a while to finally get it to mount but I can't find any files on it.


Slackware 10.2 kernel 2.6.13


At one point when I was trying to mount it I was getting the "bad super block" error and it wouldn't mount.



When I do a df -h it shows there should be 5gb of data on it



# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda1 37G 21G 15G 60% /
/dev/sda1 466G 5.6G 460G 2% /mnt/sata

when I go to /mnt/sata and do a ls -alR it just shows the directory

# ls -laR
.:
total 52
drwxr-xr-x 3 root root 16384 1969-12-31 19:00 ./
drwxr-xr-x 18 root root 4096 2007-10-13 12:46 ../
-rwxr-xr-x 1 root root 350 2007-03-04 16:02 fstab*
drwxr-xr-x 0 root root 16384 2007-06-29 15:22 hda3/

./hda3:
total 48
drwxr-xr-x 0 root root 16384 2007-06-29 15:22 ./
drwxr-xr-x 3 root root 16384 1969-12-31 19:00 ../
drwxr-xr-x 0 root root 16384 2007-06-29 15:40 audio/

./hda3/audio:
total 0


I had to manually load these modules

aic79xx
ata_piix




from fdisk /dev/sda


Expert command (m for help): p

Disk /dev/sda: 255 heads, 63 sectors, 60801 cylinders

Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID
1 80 1 1 0 254 63 1023 63 976768002 0c
2 00 0 0 0 0 0 0 0 0 00
3 00 0 0 0 0 0 0 0 0 00
4 00 0 0 0 0 0 0 0 0 00


dmesg

Vendor: ATA Model: ST3500841AS Rev: 3.AA
Type: Direct-Access ANSI SCSI revision: 05
SCSI device sda: 976773168 512-byte hdwr sectors (500108 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 976773168 512-byte hdwr sectors (500108 MB)
SCSI device sda: drive cache: write back
sda: sda1
Attached scsi disk sda at scsi2, channel 0, id 1, lun 0



There were pages of errors when I tried to mount it. I can post all that if anyone wants. Didn't want to clutter up the thread with several pages of that.

bsdunix 10-13-2007 04:17 PM

I don't know if there's a way to repair the filesystem information so you can mount and read the drive contents natively. I found a data recovery software that reads ext2 and ext3 formated disks. Of course it will only read what it can find, and the data string might not be complete. There's a demo version that will only read the drive so it will give you an idea of your recovery chances, the paid version will recovery the readable data.

http://www.stellarinfo.com/linux-data-recovery.htm
http://www.stellarinfo.com/esupport/...ory_id=0&sid2=

I've used a similar product recovering data on NTFS formated disks.

Maybe someone else will have a better idea. :)

ncsuapex 10-14-2007 04:10 PM

Thanks for the reply. I'll look into that but if it doesnt do vfat recovery I dont think it will help me.


more info:

du -h
from /mnt/sata:

16K ./hda3/audio
32K ./hda3
64K .


# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda1 37G 27G 8.4G 77% /
/dev/sda1 466G 5.6G 460G 2% /mnt/sata




Anyone know why it shows )df -h)Used 5.6GB but when I do a df -h on /mnt/sata it shows only 64k...



Would it be ok to run a file system check on it? using fsck.vfat ?




EDIT

I unmounted the drive and ran fdisk -l and got this.

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sda doesn't contain a valid partition table

ncsuapex 10-27-2007 01:43 PM

need some advice before I do anything further.


I found this command from someone who had a similar problem except his problem was with a 512mb usb thumb drive.


dd if=/dev/sda of=/tmp/r1 bs=512


my question is, for the "bs=512" that means it's forcing the byte size to be 512.. Now my sata drive is 500GB but only has 5GB of data on it. what would I need to set my "bs=" to?


Also, would running "fsck -t vfat /dev/sda" hurt to try?

farkus888 10-27-2007 02:45 PM

fsck'ing the files system on the drive should work for a bad superblock. you may also want to consider trying testdisk, which I have used to recover deleted partition tables before. personally I would start with fsck for a bad superblock and move on to testdisk if fsck doesn't work.

ncsuapex 10-27-2007 07:16 PM

dosfsck /dev/sda
dosfsck 2.10, 22 Sep 2003, FAT32, LFN
Read 512 bytes at 0:Input/output error

Although fdisk -l took a few minutes to respond it came back without any mention of the sata drive



I noticed a ton of errors in dmesg


ata1: SATA max UDMA/133 cmd 0x20C8 ctl 0x20EE bmdma 0x20A0 irq 11
ata2: SATA max UDMA/133 cmd 0x20C0 ctl 0x20EA bmdma 0x20A8 irq 11
ata1: dev 1 cfg 49:2f00 82:346b 83:7d01 84:4023 85:3469 86:3c01 87:4023 88:007f
ata1: dev 1 ATA, max UDMA/133, 976773168 sectors: lba48
ata1: dev 1 configured for UDMA/133
scsi4 : ata_piix
ATA: abnormal status 0x7F on port 0x20C7
ata2: disabling port
scsi5 : ata_piix
Vendor: ATA Model: ST3500841AS Rev: 3.AA
Type: Direct-Access ANSI SCSI revision: 05
SCSI device sda: 976773168 512-byte hdwr sectors (500108 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 976773168 512-byte hdwr sectors (500108 MB)
SCSI device sda: drive cache: write back
sda: sda1
Attached scsi disk sda at scsi4, channel 0, id 1, lun 0
ata1: command 0x25 timeout, stat 0xd0 host_stat 0x41
ata1: status=0xd0 { Busy }
SCSI error : <4 0 1 0> return code = 0x8000002
sda: Current: sense key=0xb
ASC=0x47 ASCQ=0x0
end_request: I/O error, dev sda, sector 0
Buffer I/O error on device sda, logical block 0
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ata1: command 0x25 timeout, stat 0xd0 host_stat 0x41
ata1: status=0xd0 { Busy }
SCSI error : <4 0 1 0> return code = 0x8000002
sda: Current: sense key=0xb
ASC=0x47 ASCQ=0x0
end_request: I/O error, dev sda, sector 8
Buffer I/O error on device sda, logical block 1
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ata1: command 0x25 timeout, stat 0xd0 host_stat 0x41
ata1: status=0xd0 { Busy }
SCSI error : <4 0 1 0> return code = 0x8000002
sda: Current: sense key=0xb
ASC=0x47 ASCQ=0x0
end_request: I/O error, dev sda, sector 16
Buffer I/O error on device sda, logical block 2
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ata1: command 0x25 timeout, stat 0xd0 host_stat 0x40
ata1: status=0xd0 { Busy }
SCSI error : <4 0 1 0> return code = 0x8000002
sda: Current: sense key=0xb
ASC=0x47 ASCQ=0x0
end_request: I/O error, dev sda, sector 24
Buffer I/O error on device sda, logical block 3
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ata1: status=0x51 { DriveReady SeekComplete Error }
ata1: error=0x84 { DriveStatusError BadCRC }
ata1: command 0x25 timeout, stat 0xd0 host_stat 0x41
ata1: status=0xd0 { Busy }
SCSI error : <4 0 1 0> return code = 0x8000002
sda: Current: sense key=0xb
ASC=0x47 ASCQ=0x0
end_request: I/O error, dev sda, sector 16
Buffer I/O error on device sda, logical block 2
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ata1: command 0x25 timeout, stat 0xd0 host_stat 0x41
ata1: status=0xd0 { Busy }
SCSI error : <4 0 1 0> return code = 0x8000002
sda: Current: sense key=0xb
ASC=0x47 ASCQ=0x0
end_request: I/O error, dev sda, sector 16
Buffer I/O error on device sda, logical block 2
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ata1: command 0x25 timeout, stat 0xd0 host_stat 0x41
ata1: status=0xd0 { Busy }
SCSI error : <4 0 1 0> return code = 0x8000002
sda: Current: sense key=0xb
ASC=0x47 ASCQ=0x0
end_request: I/O error, dev sda, sector 24
Buffer I/O error on device sda, logical block 3
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ata1: command 0x25 timeout, stat 0xd0 host_stat 0x40
ata1: status=0xd0 { Busy }
SCSI error : <4 0 1 0> return code = 0x8000002
sda: Current: sense key=0xb
ASC=0x47 ASCQ=0x0
end_request: I/O error, dev sda, sector 32
Buffer I/O error on device sda, logical block 4
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ata1: status=0x51 { DriveReady SeekComplete Error }
ata1: error=0x84 { DriveStatusError BadCRC }
ata1: command 0x25 timeout, stat 0xd0 host_stat 0x41
ata1: status=0xd0 { Busy }
SCSI error : <4 0 1 0> return code = 0x8000002
sda: Current: sense key=0xb
ASC=0x47 ASCQ=0x0
end_request: I/O error, dev sda, sector 976772992
Buffer I/O error on device sda, logical block 122096624
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ata1: command 0x25 timeout, stat 0xd0 host_stat 0x41
ata1: status=0xd0 { Busy }
SCSI error : <4 0 1 0> return code = 0x8000002
sda: Current: sense key=0xb
ASC=0x47 ASCQ=0x0
end_request: I/O error, dev sda, sector 976772992
Buffer I/O error on device sda, logical block 122096624
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ata1: command 0x25 timeout, stat 0xd0 host_stat 0x41
ata1: status=0xd0 { Busy }
SCSI error : <4 0 1 0> return code = 0x8000002
sda: Current: sense key=0xb
ASC=0x47 ASCQ=0x0
end_request: I/O error, dev sda, sector 0
Buffer I/O error on device sda, logical block 0
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ata1: command 0x25 timeout, stat 0xd0 host_stat 0x41
ata1: status=0xd0 { Busy }
SCSI error : <4 0 1 0> return code = 0x8000002
sda: Current: sense key=0xb
ASC=0x47 ASCQ=0x0
end_request: I/O error, dev sda, sector 0
Buffer I/O error on device sda, logical block 0
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ata1: command 0x25 timeout, stat 0xd0 host_stat 0x40
ata1: status=0xd0 { Busy }
SCSI error : <4 0 1 0> return code = 0x8000002
sda: Current: sense key=0xb
ASC=0x47 ASCQ=0x0
end_request: I/O error, dev sda, sector 8
Buffer I/O error on device sda, logical block 1
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ATA: abnormal status 0xD0 on port 0x20CF
ata1: status=0x51 { DriveReady SeekComplete Error }
ata1: error=0x84 { DriveStatusError BadCRC }
ata1: command 0x25 timeout, stat 0xd1 host_stat 0x41
ata1: status=0xd1 { Busy }
SCSI error : <4 0 1 0> return code = 0x8000002
sda: Current: sense key=0xb
ASC=0x47 ASCQ=0x0
end_request: I/O error, dev sda, sector 16
Buffer I/O error on device sda, logical block 2
ATA: abnormal status 0xD1 on port 0x20CF
ATA: abnormal status 0xD1 on port 0x20CF
ATA: abnormal status 0xD1 on port 0x20CF
ata1: command 0x25 timeout, stat 0xd1 host_stat 0x41
ata1: status=0xd1 { Busy }
SCSI error : <4 0 1 0> return code = 0x8000002
sda: Current: sense key=0xb
ASC=0x47 ASCQ=0x0
end_request: I/O error, dev sda, sector 24
Buffer I/O error on device sda, logical block 3
ATA: abnormal status 0xD1 on port 0x20CF
ATA: abnormal status 0xD1 on port 0x20CF
ATA: abnormal status 0xD1 on port 0x20CF
ata1: command 0x25 timeout, stat 0xd1 host_stat 0x40
ata1: status=0xd1 { Busy }
SCSI error : <4 0 1 0> return code = 0x8000002
sda: Current: sense key=0xb
ASC=0x47 ASCQ=0x0
end_request: I/O error, dev sda, sector 32
Buffer I/O error on device sda, logical block 4
ATA: abnormal status 0xD1 on port 0x20CF
ATA: abnormal status 0xD1 on port 0x20CF
ATA: abnormal status 0xD1 on port 0x20CF
ata1: status=0x51 { DriveReady SeekComplete Error }
ata1: error=0x84 { DriveStatusError BadCRC }



what should I try next?

Thanks for the response.

j

ncsuapex 11-19-2007 09:56 AM

ok, I booted up with a Slax live Cd, kernel 2.6.16 and its taking forever to boot, normally it only takes a few minutes.

has this listed several times on boot
abnormal status 0xd0 on port 0xd407


several i/o on device sda1, sector xxxxxxxx(it has sector # listed)

it has severeal other errors about timeout and return codes, but it goes by before I can get the exact error





I also have a working Sata drive and booted up with the same Slax CD and it found it no problem



ok rebooted and ran dosfsck /dev/sda1, came back with:

got 4096 bytes instead of 122036416 at 16384

whats this mean?

ok I rebooted and did dosfsck -a -l -v /dev/sda and sda1 both mounted and unmounted.
came back with
read 512 bytes at 0: input/output error

howiegoing 02-28-2008 07:45 AM

I think i have exactly the same problem.

When mounting:

Code:

[root@localhost ~]# mount /dev/sdb1
mount: /dev/sdb1: can't read superblock

When fscking:

Code:

[root@localhost ~]# fsck /dev/sdb1
fsck 1.40.2 (12-Jul-2007)
dosfsck 2.11, 12 Mar 2005, FAT32, LFN
Read 512 bytes at 0:Input/output error

My dmesg is filled with messages like this:

Code:

sd 1:0:0:0: [sdb] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK,SUGGEST_OK
end_request: I/O error, dev sdb, sector 69


Did you ever find a solution to this???

ncsuapex 05-18-2008 08:47 AM

No sorry.. I gave up on it and just found the time today to mess with it again. This is what I am getting now


dmesg

usb 5-5: new high speed USB device using ehci_hcd and address 3
usb 5-5: configuration #1 chosen from 1 choice
Initializing USB Mass Storage driver...
scsi2 : SCSI emulation for USB Mass Storage devices
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usb-storage: device found at 3
usb-storage: waiting for device to settle before scanning
Vendor: Model: Rev:
Type: Direct-Access ANSI SCSI revision: 02
sd 2:0:0:0: Attached scsi disk sdb
sd 2:0:0:0: Attached scsi generic sg1 type 0
usb-storage: device scan complete


nothing shows up in fdisk -l

fdisk /dev/sdb

Unable to read /dev/sdb



Im pretty sure the drive had vfat FS.

so this is what I get

fsck.vfat /dev/sdb
dosfsck 2.11, 12 Mar 2005, FAT32, LFN
Got 0 bytes instead of 512 at 0


any ideas on how to fix this??



mkdosfs -I /dev/sdb
mkdosfs 2.11 (12 Mar 2005)
mkdosfs: Attempting to create a too large file system
[root@70chip ~]# mkfs.ext3 /dev/sdb
mke2fs 1.39 (29-May-2006)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) y
mkfs.ext3: Device size reported to be zero. Invalid partition specified, or
partition table wasn't reread after running fdisk, due to
a modified partition being busy and in use. You may need to reboot
to re-read your partition table.

babagau 01-28-2011 04:28 PM

sorry being 2 years late, but...
 
I have the same issue, do you remember finding any solution? dd? mkfs.vfat?


All times are GMT -5. The time now is 02:10 AM.