修复因 I/O 错误而未弹出的闪存驱动器?

Spi*_*ing 6 usb-drive usb mount eject data-corruption

我很笨,没有弹出我的闪存驱动器,现在它不会显示在安装中,无法手动安装,dd 在尝试将其归零时挂起,并且在尝试格式化时出现 I/O 错误它。我知道硬件很好,或者至少是,它唯一应该出错的是我不知道弹出它是必要的。请帮忙,这是一个 136GB(广告为 128,隐藏大约 33GB)PNY USB 3.0。

dmesg | tail

[122321.163508] usb-storage 2-1:1.0: USB Mass Storage device detected
[122321.165914] scsi7 : usb-storage 2-1:1.0
[122322.588840] scsi 7:0:0:0: Direct-Access     PNY      USB 3.0 FD       1100 PQ: 0 ANSI: 6
[122322.589312] sd 7:0:0:0: Attached scsi generic sg2 type 0
[122322.590302] sd 7:0:0:0: [sdb] 266108928 512-byte logical blocks: (136 GB/126 GiB)
[122322.592467] sd 7:0:0:0: [sdb] Write Protect is off
[122322.592472] sd 7:0:0:0: [sdb] Mode Sense: 43 00 00 00
[122322.593566] sd 7:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[122322.604864]  sdb: unknown partition table
[122322.608311] sd 7:0:0:0: [sdb] Attached SCSI removable disk
Run Code Online (Sandbox Code Playgroud)

mount /dev/sdb ~/Desktop/temp

    mount: wrong fs type, bad option, bad superblock on /dev/sdb,
           missing codepage or helper program, or other error
           In some cases useful info is found in syslog - try
           dmesg | tail  or so
Run Code Online (Sandbox Code Playgroud)

lsusb -s 002:008 -v

Bus 002 Device 008: ID 154b:00ad PNY 
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x154b PNY
  idProduct          0x00ad 
  bcdDevice           11.00
  iManufacturer           1 
  iProduct                2 
  iSerial                 3 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              300mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
      Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Run Code Online (Sandbox Code Playgroud)

sudo fdisk -l /dev/sdb

Disk /dev/sdb: 136.2 GB, 136247771136 bytes
255 heads, 63 sectors/track, 16564 cylinders, total 266108928 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
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table
Run Code Online (Sandbox Code Playgroud)

编辑:7/24/2018 由于(相对)新的回应:我尝试用 mkusb 擦除它并用磁盘实用程序对其进行格式化,这两者都在那里冻结了几个小时。尝试进行基准测试时它也会冻结。我很确定它只是油炸的。 连ctrl+C都挡不住,只好杀掉终端

sud*_*dus 1

这是一个很晚的答案。如果您仍然有兴趣修复此闪存驱动器,您可以尝试按照以下路线。

修复分区表和文件系统或恢复文件

可以使用testdisk修复驱动器上的结构,如果这不起作用,则可以使用photorec恢复文件(不好的艰苦工作) 。

如果有重要文件需要恢复,我建议您克隆驱动器并在克隆副本上进行修复工作。

您可以在以下链接中找到更多详细信息,

修复随身碟的分区表和文件系统

如果没有重要文件需要恢复

如果没有要恢复的重要文件,您可以尝试擦除驱动器的第一个兆字节,然后使用工具创建一个包含驱动器上所需的分区和文件系统的新分区表。

根据输出

sudo fdisk -l /dev/sdb
Run Code Online (Sandbox Code Playgroud)

在你的问题中,驱动器仍然作为大容量存储设备工作。如果仍然有写访问权限,mkusb可以擦除第一个兆字节,之后gparted可以创建您想要的分区表、分区和文件系统。

或者,您可以让 mkusb将驱动器恢复到具有 MSDOS 分区表和具有 FAT32 文件系统的分区的标准存储设备。这是“简单的选择”。

请参阅以下链接

help.ubuntu.com/community/mkusb

https://help.ubuntu.com/community/mkusb/wipe

陷入僵局

否则,如果在“原始级别”没有写访问权限,mkusb 将无法擦除第一个兆字节,并且驱动器可能会“陷入僵局”,这是失败过程的第一阶段。请参阅此链接

随身碟寿命