如何挽救无法读取的USB闪存驱动器


18

我有一个16GB的USB闪存驱动器,以某种方式损坏,甚至fdisk -l无法找到它(我收到一条单行错误消息,提示:“ 无法打开/ dev / sdc ”)

但是,它是附加的,被分配/dev/sdc为dmesg显示:

usb 1-7: new high speed USB device using ehci_hcd and address 69
usb 1-7: New USB device found, idVendor=048d, idProduct=1167
usb 1-7: New USB device strings: Mfr=0, Product=0, SerialNumber=0
usb 1-7: configuration #1 chosen from 1 choice
scsi68 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 69
usb-storage: waiting for device to settle before scanning
usb-storage: device scan complete
scsi 68:0:0:0: Direct-Access     XXXXXXXX U167CONTROLLER   0.00 PQ: 0 ANSI: 2
sd 68:0:0:0: Attached scsi generic sg3 type 0
sd 68:0:0:0: [sdc] Attached SCSI removable disk

我也使用验证了它ls -l /sys/block | grep -vE 'loop|ram'

lrwxrwxrwx. 1 root root 0 Mar 13 04:50 sda -> ../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
lrwxrwxrwx. 1 root root 0 Mar 13 14:42 sdb -> ../devices/pci0000:00/0000:00:1d.7/usb1/1-1/1-1:1.0/host67/target67:0:0/67:          0:0:0/block/sdb
lrwxrwxrwx. 1 root root 0 Mar 13 21:20 sdc -> ../devices/pci0000:00/0000:00:1d.7/usb1/1-7/1-7:1.0/host68/target68:0:0/68:          0:0:0/block/sdc
lrwxrwxrwx. 1 root root 0 Mar 13 04:50 sr0 -> ../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0

但是当我发出问题时,od -N 128 /dev/sdc我收到此单行错误消息:

od: /dev/sdc: No medium found

我不需要那个USB闪存驱动器上的数据,我只需要知道是否有一种方法可以使其再次格式化(然后重新格式化)即可。

这可能吗?如果是这样,我该如何处理?

更新:我刚刚尝试过:

dd if=/dev/zero of=/dev/sdc1 bs=1M count=6000 conv=fsync

并得到:

dd: writing `/dev/sdc1': No space left on device
1000+0 records in
999+0 records out
1047941120 bytes (1.0 GB) copied, 2.34859 s, 446 MB/s

哪个告诉设备还活着并且在踢呢?

这变得很有趣...


1
如果您跑步会fdisk /dev/sdc怎样?收到错误消息吗?
larsk's

@larsks我跑步时fdisk /dev/sdc得到:Unable to open /dev/sdc
ateiob 2012年

1
是否有任何其他dmesg输出以及来自的错误fdisk?您是否可以使用例如从设备直接读取od -N 128 /dev/sdc?(如果这样做有效,则应打印一个简短的
十六进制转储

@larsks不,没有任何其他dmesg输出以及的错误fdisk。发布时,od -N 128 /dev/sdc我收到以下单行错误消息:od: /dev/sdc: No medium found
ateiob 2012年

2
琐碎的问题,我知道:但你正在运行fdisk,并dd为根,对不对?
Axel Knauf 2012年

Answers:


11

U167CONTROLLER以前是设备的名称吗?

可能是设备上的微控制器遇到了一些异常情况(对于信誉欠佳的制造商来说,这是完全可能的),需要重新编程。这有点荒唐,可能您只会找到可以对微控制器进行重新编程的Windows程序。

您可以尝试打开闪存驱动器,查看任何芯片上的编号,然后通过Google运行它们以找出制造商。然后,您可能需要做进一步的研究,以查看是否有可用的恢复,编程或“芯片”实用程序。没有标准控制这种类型的功能,因此您正在寻找与微控制器或闪存驱动器内的NAND芯片的制造商和型号相匹配的产品。

如果存在这样的实用程序,很有可能它将是A)如前所述仅Windows和B)中文。我确实以这种方式成功恢复了2GB的“ Transcend”设备,但突然无缘无故地认为它“没有磁盘”。


1
多么美妙的答案!已经+1了,如果没有更好的选择,我也会接受。我将尝试查看您建议的方向
ateiob 2012年

顺便说一句,损坏的USB闪存驱动器的品牌是“ Team Color Turn ”。
ateiob 2012年

4

看一下此页面:http : //www.ardamis.com/2009/07/02/usb-drive-unusable-unformattable-and-reporting-0-bytes-capacity/

..有趣的阅读。简而言之,作者在运行Win OS的情况下检查了运行正常的USB记忆棒(出现故障的记忆棒和功能正常的记忆棒均来自Sandisk)。他在功能棒上找到了一个.dll文件,并在dll中找到了一个URL(创意!),然后尝试将其粘贴到浏览器中。原来,该链接指向一个用于在线更新Sandisk驱动程序的页面!!!

幸运的是,他正在运行MS Explorer,其中有一些ActiveX例程将USB记忆棒格式化为“与新的一样好”的状态。不幸的是,对于运行Linux,OS X和其他操作系统的任何人,“修复站点”都会显示以下消息:

“为了安装启动板,请下载必要的ActiveX组件。请确保您的浏览器安全设置不会阻止下载提示。按F5重新加载页面”。

当然,有可能在葡萄酒上运行IE。那就是我要去的...

谢谢彼得·埃里亚森

顺便说一句,我通过搜索“ SM3255AA”(在Transmesend 4 Gb棒的dmesg中找到了一个短语)来碰到所有这一切:

 usb 1-7: new high-speed USB device number 10 using ehci_hcd
 usb 1-7: New USB device found, idVendor=090c, idProduct=3000
 usb 1-7: New USB device strings: Mfr=1, Product=2, SerialNumber=0
 usb 1-7: Product: SM3255AA MEMORY BAR 
 usb 1-7: Manufacturer: Silicon Motion,Inc. 
 scsi6 : usb-storage 1-7:1.0
 scsi 6:0:0:0: Direct-Access USB MEMORY BAR   1000 PQ: 0 ANSI: 0 CCS
 sd 6:0:0:0: Attached scsi generic sg2 type 0
 sd 6:0:0:0: [sdb] Attached SCSI removable disk


1

现在,朋友的USB记忆棒出现了相同的问题。它根本不会挂载。

dmesg 输出:

[248948.377351] usb 3-1: new high speed USB device number 95 using xhci_hcd
[248948.744276] usb 3-1: ep 0x81 - rounding interval to 128 microframes, ep desc says 255 microframes
[248948.744283] usb 3-1: ep 0x2 - rounding interval to 128 microframes, ep desc says 255 microframes
[248948.745064] scsi23 : usb-storage 3-1:1.0
[248949.744560] scsi 23:0:0:0: Direct-Access              USB MEMORY BAR   1000 PQ: 0 ANSI: 0 CCS
[248950.078968] sd 23:0:0:0: Attached scsi generic sg2 type 0
[248950.079943] sd 23:0:0:0: [sdb] Attached SCSI removable disk

在中lsusb,它显示为:

Bus 003 Device 095: ID 090c:3000 Feiya Technology Corp.

在摸索它的同时,突然发现它还不错,并且音量/dev/sdb1增大了。我lsusb再次检查,现在略有不同:

Bus 003 Device 094: ID 090c:1000 Feiya Technology Corp. Flash Drive

dmesg 也看起来很正常:

[248806.372766] usb 3-1: new high speed USB device number 94 using xhci_hcd
[248806.421753] usb 3-1: ep 0x81 - rounding interval to 128 microframes, ep desc says 255 microframes
[248806.421759] usb 3-1: ep 0x2 - rounding interval to 128 microframes, ep desc says 255 microframes
[248806.422518] scsi22 : usb-storage 3-1:1.0
[248807.905390] scsi 22:0:0:0: Direct-Access                                    PQ: 0 ANSI: 4
[248808.206242] sd 22:0:0:0: Attached scsi generic sg2 type 0
[248808.206667] sd 22:0:0:0: [sdb] 31129600 512-byte logical blocks: (15.9 GB/14.8 GiB)
[248808.208374] sd 22:0:0:0: [sdb] Write Protect is off
[248808.208378] sd 22:0:0:0: [sdb] Mode Sense: 43 00 00 00
[248808.208942] sd 22:0:0:0: [sdb] No Caching mode page present
[248808.208945] sd 22:0:0:0: [sdb] Assuming drive cache: write through
[248808.210793] sd 22:0:0:0: [sdb] No Caching mode page present
[248808.210796] sd 22:0:0:0: [sdb] Assuming drive cache: write through
[248808.211505]  sdb: sdb1
[248808.214592] sd 22:0:0:0: [sdb] No Caching mode page present
[248808.214596] sd 22:0:0:0: [sdb] Assuming drive cache: write through
[248808.214600] sd 22:0:0:0: [sdb] Attached SCSI removable disk
[248808.541071] EXT2-fs (sdb1): warning: mounting unchecked fs, running e2fsck is recommended

一些嘲笑表明,问题很简单:接触不良。当我们在插入时按下一点时,它将安装。否则就不会。稍微压缩USB连接器似乎有所帮助。也许有更好的方法来解决此问题,但是我建议遇到此问题的任何人在尝试刷新控制器之前先尝试排除一个简单的不良联系问题。


1

我的USB 8 GB记忆棒Adata C008存在相同的问题。我在此页面上找到了解决方案:http : //flashboot.ru/files/file/312/

我将USB记忆棒插入Windows XP计算机,并运行Urescue程序,并选中了“ Build MBR”。Uresque程序位于:http ://depositfiles.com/files/czcmb4e36

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.