我直接从 Windows 系统中移除了我的 1 TB 外部硬盘(Seagate),现在它不再工作了。我现在正尝试通过 ubuntu 修复它,当我尝试在磁盘(gnome 实用程序)中检查它时,它显示没有媒体。
我尝试通过运行一些我在帮助论坛上找到的命令来收集尽可能多的输入。
sudo lshw -c 磁盘
*-disk
description: SCSI Disk
product: JMS579
vendor: JMICRON
physical id: 0.0.0
bus info: scsi@4:0.0.0
logical name: /dev/sdb
configuration: ansiversion=6 logicalsectorsize=512 sectorsize=512
sudo lshw-类磁盘-类存储
*-usb:1
description: Mass storage device
product: USB Mass Storage
vendor: JMicron
physical id: 4
bus info: usb@2:4
logical name: scsi4
version: 1.00
serial: 152D00579000
capabilities: usb-2.10 scsi emulated scsi-host
configuration: driver=usb-storage maxpower=34mA speed=480Mbit/s
*-disk
description: SCSI Disk
product: JMS579
vendor: JMICRON
physical id: 0.0.0
bus info: scsi@4:0.0.0
logical name: /dev/sdb
configuration: ansiversion=6 logicalsectorsize=512 sectorsize=512
sudo hdparm -I /dev/sdb
/dev/sdb:
SG_IO: bad/missing sense data, sb[]: 70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ATA device, with non-removable media
Standards:
Likely used: 1
Configuration:
Logical max current
cylinders 0 0
heads 0 0
sectors/track 0 0
--
Logical/Physical Sector size: 512 bytes
device size with M = 1024*1024: 0 MBytes
device size with M = 1000*1000: 0 MBytes
cache/buffer size = unknown
Capabilities:
IORDY not likely
Cannot perform double-word IO
R/W multiple sector transfer: not supported
DMA: not supported
PIO: pio0
sudo smartctl -a -d scsi /dev/sdb
=== START OF INFORMATION SECTION ===
Vendor: JMICRON
Product: JMS579
Compliance: SPC-4
Device type: disk
Local Time is: Fri Jun 22 23:07:23 2018 IST
device Test Unit Ready [unsupported scsi opcode]
A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.
fdisk -l
Fdisk 没有显示该磁盘的任何结果,因为它没有安装在任何地方。
命令dmesg
[141307.332889] usb 2-4: USB disconnect, device number 5
[141310.499914] usb 2-4: new high-speed USB device number 7 using xhci_hcd
[141310.628540] usb 2-4: New USB device found, idVendor=152d, idProduct=0579
[141310.628544] usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[141310.628547] usb 2-4: Product: USB Mass Storage
[141310.628549] usb 2-4: Manufacturer: JMicron
[141310.628551] usb 2-4: SerialNumber: 152D00579000
[141310.629107] usb-storage 2-4:1.0: USB Mass Storage device detected
[141310.629201] scsi host4: usb-storage 2-4:1.0
[141311.628514] scsi 4:0:0:0: Direct-Access JMICRON JMS579 PQ: 0 ANSI: 6
[141311.629170] sd 4:0:0:0: Attached scsi generic sg2 type 0
[141311.629942] sd 4:0:0:0: [sdb] Unit Not Ready
[141311.629953] sd 4:0:0:0: [sdb] Sense Key : Illegal Request [current]
[141311.629960] sd 4:0:0:0: [sdb] Add. Sense: Invalid command operation code
[141311.632053] sd 4:0:0:0: [sdb] Read Capacity(10) failed: Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[141311.632064] sd 4:0:0:0: [sdb] Sense Key : Illegal Request [current]
[141311.632072] sd 4:0:0:0: [sdb] Add. Sense: Invalid command operation code
[141311.632253] sd 4:0:0:0: [sdb] Write Protect is off
[141311.632261] sd 4:0:0:0: [sdb] Mode Sense: 00 00 00 00
[141311.632435] sd 4:0:0:0: [sdb] Asking for cache data failed
[141311.632441] sd 4:0:0:0: [sdb] Assuming drive cache: write through
[141311.635917] sd 4:0:0:0: [sdb] Unit Not Ready
[141311.635927] sd 4:0:0:0: [sdb] Sense Key : Illegal Request [current]
[141311.635935] sd 4:0:0:0: [sdb] Add. Sense: Invalid command operation code
[141311.639186] sd 4:0:0:0: [sdb] Read Capacity(10) failed: Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[141311.639197] sd 4:0:0:0: [sdb] Sense Key : Illegal Request [current]
[141311.639205] sd 4:0:0:0: [sdb] Add. Sense: Invalid command operation code
[141311.639534] sd 4:0:0:0: [sdb] Attached SCSI disk
[141594.937486] EXT4-fs (sdb): unable to read superblock
[141594.937770] EXT4-fs (sdb): unable to read superblock
[141594.938048] EXT4-fs (sdb): unable to read superblock
[141594.938335] SQUASHFS error: squashfs_read_data failed to read block 0x0
[141594.938337] squashfs: SQUASHFS error: unable to read squashfs_super_block
/proc/partitions 中没有 sdb 的记录
以下是我尝试过的各种 gdisk 命令的输出:
sudo gdisk
GPT fdisk (gdisk) version 1.0.1
Type device filename, or press <Enter> to exit: /dev/sdb
Problem reading disk in BasicMBRData::ReadMBRData()!
Warning! Read error 22; strange behavior now likely!
Warning! Read error 22; strange behavior now likely!
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
***************************************************************
Command (? for help): i
no partitions
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): Y
Command (? for help): p
Disk /dev/sdb: 0 sectors, 0 bytes
Logical sector size: 512 bytes
Disk identifier (GUID): ACBB4EFC-7AE9-4C9B-B804-DA09D936163D
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 18446744073709551582
Partitions will be aligned on 2048-sector boundaries
Total free space is 0 sectors (0 bytes)
Number Start (sector) End (sector) Size Code Name
Command (? for help): v
Problem: Disk is too small to hold all the data!
(Disk size is 0 sectors, needs to be 0 sectors.)
The 'e' option on the experts' menu may fix this problem.
Problem: GPT claims the disk is larger than it is! (Claimed last usable
sector is 18446744073709551582, but backup header is at
18446744073709551615 and disk size is 0 sectors.
The 'e' option on the experts' menu will probably fix this problem
Partition(s) in the protective MBR are too big for the disk! Creating a
fresh protective or hybrid MBR is recommended.
Identified 3 problems!
Command (? for help): x
Expert command (? for help): e
Relocating backup data structures to the end of the disk
Expert command (? for help): z
About to wipe out GPT on /dev/sdb. Proceed? (Y/N): Y
Warning! GPT main header not overwritten! Error is 28
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
Expert command (? for help): p
Disk /dev/sdb: 0 sectors, 0 bytes
Logical sector size: 512 bytes
Disk identifier (GUID): 4B3EC7B7-2E9E-4933-885C-0CF09BFBE24C
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 18446744073709551582
Partitions will be aligned on 2048-sector boundaries
Total free space is 0 sectors (0 bytes)
Number Start (sector) End (sector) Size Code Name
Expert command (? for help): w
Caution! Secondary header was placed beyond the disk's limits! Moving the
header, but other problems may occur!
Warning! The claimed last usable sector is incorrect! Do you want to correct
this problem? (Y/N): Y
Have adjusted the second header and last usable sector value.
Partition(s) in the protective MBR are too big for the disk! Creating a
fresh protective or hybrid MBR is recommended.
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sdb.
Unable to save backup partition table! Perhaps the 'e' option on the experts'
menu will resolve this problem.
Warning! An error was reported when writing the partition table! This error
MIGHT be harmless, or the disk might be damaged! Checking it is advisable.
我也尝试使用 Windows 系统修复它。它在磁盘管理中显示未知,未初始化。我也尝试了 Diskpart,这是该命令下各种命令的输出:
clean:
DiskPart succeeded in cleaning the disk
recover:
Virtual Disk Service error:
The disk is not initialized
convert gpt:
Virtual Disk Service error:
The system's information about the object may not be up to date
DiskPart has referenced an object which is not up-to-date.
Refresh the object by using the RESCAN command.
If the problem persists exit DiskPart, then restart DiskPart or restart the computer.
rescan:
Please wait while DiskPart scans your configuration...
Diskpart has finished scanning your configuration.
convert mbr: this one didn't work as well.
我也尝试了 EaseUs,但它无法检测到驱动器。
非常感谢您的帮助,提前谢谢。
答案1
如果您没有明确强制要求,Diskpart 不会影响实际数据 - 您的假设是正确的,数据仍然存在。
SMART 诊断(例如可通过 Ubuntu 中的 Gnome-Disks 访问)将向您显示最终的硬件故障,但似乎 Windows 正在主动将数据写入驱动器,这种情况自 Windows 7 以来经常发生,因为它是一个在资源可用/io 负载较低时运行的延迟操作。
此外,索引服务还会定期反复以读/写模式访问驱动器,以存储收集到的元数据。如果您希望将来防止这种情况发生,并希望强制立即写入/同步,那么您可以在下次通过 Windows 访问驱动器时在驱动器的硬件属性中启用磁盘缓存。但是,您将放弃快速移除驱动器的功能,并且需要通过 SysTray 中的设备选择器进行卸载 - 类似于 Linux-Distros 中的安装操作。
如果您希望使用基于 Windows 的软件或明确的 GUI 应用程序,那么最好的选择是 Macrium Reflect,它可以作为应用程序安装在 Windows 内部,也可以使用其功能创建基于 Windows PE 的救援系统,您可以运行类似于 USB 驱动器中的 Linux-Live 系统。
我建议尽管使用:
... 这是最可靠的数据/分区恢复工具,特别是因为它不会根据找到的可能的分区结构更改驱动器的内容,除非您决定这样做。它没有 GUI,但在终端窗口中运行,并通过实际扫描驱动器上的原始数据提供辅助方法来扫描文件/文件夹/分区。
如果您能记住分区结构、每个分区的估计大小和位置,并且如果您记得分区标签的名称,那么您就可以开始,这就是您识别正确分区所需的全部内容。准备/扫描/分析实际上比分区结构的恢复/重新创建花费的时间更长。
假设您阅读了 TestDisk 文本界面中给出的手册和屏幕指示,如果确实不是硬件故障,它将修复您的驱动器。
答案2
您使用 diskpart 清理磁盘并销毁了所有数据。不好。幸运的话,只有元数据被销毁,文件仍然存在。如果幸运的话,磁盘上可能还有一个备份元数据,可以通过正确的产品访问。
但一定要记住第一条规则:切勿修改您要挽救的磁盘。
如果您没有备份,现在您唯一的希望就是使用恢复产品。
有关此类产品及评论的列表,请参阅此文章:
最佳免费数据恢复和文件恢复实用程序。
由于并非所有产品都使用相同的算法,您可以逐一尝试。如果您设法挽救了某些文件,请将它们写入另一个磁盘,而不是您要尝试挽救的磁盘。
我发现在类似情况下最有效的方法是 MiniTool 电源数据恢复,但一次恢复超过 1 GB 的数据则需要商业版本(69 美元)。
如果文件无法恢复但对您来说却非常有价值,您可以联系商业回收公司。您需要将磁盘寄给他们,并且请注意这些服务的费用很高。因此,最好在互联网上货比三家,并在选择之前核实服务的声誉。
还可以在互联网上搜索“数据救援”或“数据恢复”来找到商业产品。其中一些产品可免费下载,其中分析磁盘是免费的,但恢复文件可能需要付费。
答案3
这一切都表明这是一个无法通过软件修复的问题。因此,您可以停止摆弄软件,因为它可能只会让事情变得更糟。
根据经验,当(物理)驱动器停止正确识别自身时具有正确的容量,您遇到的问题无法仅使用软件修复/解决。如果根本问题是介质损坏,则运行软件可能只会造成额外损坏。如果驱动器停止识别正确的容量,则 PCB 不太可能是罪魁祸首,因为这些信息主要保存在盘片(固件)上,而盘片可能会因介质损坏而损坏。
根据经验,如果驱动器旋转,则问题不在于 PCB。
如果数据很重要,此时最好的建议是寻求数据恢复专家的帮助。许多实验室提供免费诊断。只要您避开大型特许经营店,数据恢复服务按定义收费数千美元这一“常识”就是神话。许多介质类型问题,甚至是“弱”磁头、固件问题都可以在无需打开洁净室中的驱动器的情况下处理。洁净室工作往往使恢复成本高昂。
有时您可以尝试从 USB 外壳中移除驱动器。这样做有几个优点:
- 您可以排除外壳本身的问题。
- 如果发生轻微的读取问题(介质/磁头损坏),错误处理最好留给驱动器的本机接口,而不是处理额外的 USB 层。大多数 USB 桥接器在处理错误方面都很差劲。例如,在连接到本机 SATA 端口时,复制数据时不断挂起的 USB 驱动器可能会得到处理。
如今,情况往往不再这么简单了。
- USB 外壳可以提供/处理加密。
- USB 外壳可能将驱动器显示为 4K 设备,因此对其进行分区、格式化等,假设有 4K 扇区。
- 如果 USB 集成到驱动器的 PCB 中,则可能无法轻易绕过它。