How can I repair my USB drive?
- by yurko
USB drive is in read only state and I can't repair it.
First of all I tried erase it using dd:
root@yurko-laptop:/home/yurko-laptop# ls -l /dev/disk/by-id | grep usb
lrwxrwxrwx 1 root root 9 ??? 18 23:45 usb-Generic_Flash_Disk_C173828A-0:0 -> ../../sdb
lrwxrwxrwx 1 root root 10 ??? 18 23:45 usb-Generic_Flash_Disk_C173828A-0:0-part1 -> ../../sdb1
root@yurko-laptop:/home/yurko-laptop# dd if=/dev/zero of=/dev/sdb
dd: ?????? ? «/dev/sdb»: ?? ?????????? ????????? ?????
8257537+0 ??????? ???????
8257536+0 ??????? ????????
??????????? 4227858432 ????? (4,2 GB), 942,633 c, 4,5 MB/c
After that I wanted to create new filesystem using fdisk:
root@yurko-laptop:/home/yurko-laptop# fdisk /dev/sdb
You will not be able to write the partition table.
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): p
Disk /dev/sdb: 4227 MB, 4227858432 bytes
4 heads, 63 sectors/track, 32768 cylinders
Units = cylinders of 252 * 512 = 129024 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 18 32768 4126596 b W95 FAT32
Command (m for help):
fdisk showed that the partition still exists and I can't write the partition table.
I tried to delete the existing partition:
Command (m for help): d
Selected partition 1
Command (m for help): w
Unable to write /dev/sdb
root@yurko-laptop:/home/yurko-laptop#
Why am I not be able to write the partition table?
Does it mean that some hardware failure occurred?
And is it possible to repair the current USB drive?
I've tried to use hdparm and it showed that the readonly flag is on:
root@yurko-laptop:/home/yurko-laptop# hdparm /dev/sdb
/dev/sdb:
SG_IO: bad/missing sense data, sb[]: f0 00 05 00 00 00 00 0a 00 00 00 00 26 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
multcount = 0 (off)
readonly = 1 (on)
readahead = 256 (on)
geometry = 1016/131/62, sectors = 8257536, start = 0