I have a USB pendrive, with 8 GB storage, and recently I tried to open (mount) it and wasn't able to ("bad superblock" error message). I tried to format it directly using dd and fdisk but no success. Here's what I tried:
- Mount the partitions (same error message for all 3 partitions)
# mount /dev/sdb1 /mnt/pendrive
mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
- Listed the partitions
# fdisk -l Disk /dev/sdb: 7.8 GiB, 8394899456 bytes, 16396288 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xc3072e18 Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 2099199 2097152 1G b W95 FAT32 /dev/sdb2 2099200 4196351 2097152 1G 83 Linux /dev/sdb3 4196352 6293503 2097152 1G 83 Linux
- Wrote zeroes to the device
# dd if=/dev/zero of=/dev/sdb
- Tried to open it with fdisk (to setup the new partitions)
# fdisk /dev/sdb fdisk: cannot open /dev/sdb: Read-only file system
- Checked the device with hdparm (notice the garbage data in some fields)
# hdparm -I /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
ATA device, with removable media
Model Number: �t:�
�����VK�P{��b)0F�
0����]�ܖV
Serial Number: �����P��鵸���$��
Firmware Revision: q�yd��X
Media Serial Num: �J����L�`:��
Z��(w�#��V�]�@q�ցKWo��
Media Manufacturer: }�0V3��"������N �lu
Transport: 0x3d6c; Revision: 0xe78e
Standards:
Used: unknown (minor revision code 0x47d5)
Supported: 13 12 11 10 7 5
Likely used: 13
Configuration:
Logical max current
cylinders 52907 0
heads 36467 0
sectors/track 31048 0
--
LBA user addressable sectors: 1039713155
Logical/Physical Sector size: 512 bytes
device size with M = 1024*1024: 507672 MBytes
device size with M = 1000*1000: 532333 MBytes (532 GB)
cache/buffer size = unknown
Capabilities:
LBA, IORDY(can be disabled)
Queue depth: 13
Standby timer values: spec'd by Standard, with device specific minimum
R/W multiple sector transfer: Max = 88 Current = ?
Recommended acoustic management value: 41, current value: 229
DMA: mdma0 mdma1 mdma3 mdma4 *mdma5 *mdma6 *mdma7 *udma0 *udma1 udma2 *udma3 *udma4 udma5 *udma6 *udma7 (?)
PIO: unknown
* reserved 69[2]
* reserved 69[6]
* reserved 69[7]
* DOWNLOAD MICROCODE DMA command
* SET MAX SETPASSWORD/UNLOCK DMA commands
* WRITE BUFFER DMA command
* READ BUFFER DMA command
* DEVICE CONFIGURATION SET/IDENTIFY DMA commands
* CFast specification support
Removable Media Status Notification feature set supported
Security:
Master password revision code = 59124
supported
enabled
locked
not frozen
not expired: security count
not supported: enhanced erase
Security level high
Logical Unit WWN Device Identifier: 2615dee561ae10a3
NAA : 2
IEEE OUI : 615dee
Unique ID : 561ae10a3
Integrity word not set (found 0x1145, expected 0x7ca5)
- Tried to turn off the read-only property of the device
# hdparm -r0 /dev/sdb /dev/sdb: setting readonly to 0 (off) readonly = 0 (off)
- Tried to open it again with fdisk
# fdisk /dev/sdb fdisk: cannot open /dev/sdb: Read-only file system
- Unplugged the USB and plugged again
- Tried fdisk again
# fdisk /dev/sdb Welcome to fdisk (util-linux 2.28.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p Disk /dev/sdb: 7.8 GiB, 8394899456 bytes, 16396288 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xc3072e18 Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 2099199 2097152 1G b W95 FAT32 /dev/sdb2 2099200 4196351 2097152 1G 83 Linux /dev/sdb3 4196352 6293503 2097152 1G 83 Linux
- Partitions still there even after the
ddfrom/dev/zero. - Deleted all partitions, then tried to write the changes to the device
Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. /dev/sdb: close device failed: Input/output error
Looks like some sort of hardware corruption. Is there a way to confirm it?