SafeCopy手动完成ISO

SafeCopy手动完成ISO

早上好,

我目前正在帮助一位好朋友恢复她损坏的 1TB 外部硬盘。她掉落了驱动器,现在无法再安装它。经过一番研究后,我尝试了 safecopy。我正在使用 Kali Linux live CD 和通过 USB 站连接和安装的内部 3TB HDD。外部驱动器占用的空间少于 100GB。 SafeCopy 每天收集约 30GB。我的第一次尝试在大约 260GB 后因“找不到位置”错误而中止,驱动器已重新连接到另一个安装路径。目前的尝试是~280GB。由于驱动器是全新的,所有存储的数据应该已经收集在输出 ISO 中。但是,当我尝试挂载 260GB ISO 时,出现文件错误,涉及文件损坏和 I/O 错误

我使用此命令进行安全复制:

sudo safecopy --stage1 /dev/sda1 /path/to/3tb/drive/data.iso

/dev/sda1 是检测到外部硬盘的位置。

有没有办法手动完成 ISO 文件的构建?这将为我节省大量时间,因为 safecopy 大约需要 34 天才能完成这项工作。

编辑:

正如评论中提到的,我不得不中止该过程一段时间。我现在已经重新设置了一切,在经历了一些困难之后,这就是 fdisk 产生的结果:

sudo fdisk -l /dev/sdc1
Disk /dev/sdc1: 931.5 GiB, 1000169537536 bytes, 1953456128 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: 0x69205244

Device      Boot      Start        End    Sectors   Size Id Type
/dev/sdc1p1 ?     218129509 1920119918 1701990410 811.6G 72 unknown
/dev/sdc1p2 ?     729050177 1273024900  543974724 259.4G 74 unknown
/dev/sdc1p3 ?     168653938  168653938          0     0B 65 Novell Netware 386
/dev/sdc1p4      2692939776 2692991410      51635  25.2M  0 Empty

Partition table entries are not in disk order.

我忘记保存 stage1.badblocks 文件,所以我无法真正继续第一次运行。我现在开始了新的 stage1 safecopy 运行,希望它会比以前快一点,因为我现在直接从这个笔记本运行 Debian Linux。

那么,有没有办法使用第一次运行时的iso文件并使其可读呢?

编辑2:

好的,3 小时后,这是迄今为止的输出:

[0](+0){XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX [844800]    
XXXXXXXXXXXXX 8-X 0%

驱动器发出可怕的咔嗒声。如果我之前解释 fdisk 输出形式,数据似乎会更多地写回到驱动器上,而不是从扇区 0 开始。是否可以从磁盘尾部开始读取并挽救数据?我担心我或多或少依赖于从迄今为止创建的 iso 文件中提取数据。再说一遍,我是否可以从未完成的 iso 文件中提取部分内容并从中构建一个有效的文件?

编辑3:

我现在尝试了 ddrescue。现在运行约 23 小时。输出文件的大小为 134MB,我从 safecopy 中已经知道这个大小是可以的。gmesg | tail产生以下输出:

[80840.705000] usb 2-1.1: reset high-speed USB device number 8 using ehci-pci
[80880.711821] usb 2-1.1: reset high-speed USB device number 8 using ehci-pci
[80920.718561] usb 2-1.1: reset high-speed USB device number 8 using ehci-pci
[80922.888408] sd 8:0:0:0: [sdb] Unhandled error code
[80922.888413] sd 8:0:0:0: [sdb]  
[80922.888415] Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_OK
[80922.888417] sd 8:0:0:0: [sdb] CDB: 
[80922.888419] Read(10): 28 00 49 a5 38 80 00 00 08 00
[80922.888426] end_request: I/O error, dev sdb, sector 1235564672
[80922.888430] Buffer I/O error on device sdb1, logical block 154445328

所以我可以看到 USB 访问存在困难以及一些问题hostbyte=DID_TIME_OUT

dd 到目前为止有这样的输出:

rescued:   123928 kB,  errsize:       0 B,  current rate:   12976 kB/s
rescued:   134742 kB,  errsize:  39649 kB,  current rate:        0 B/s
   ipos:   635829 MB,   errors:     605,    average rate:     1688 B/s ago
   opos:   635829 MB, run time:   22.17 h,  successful read:   22.01 h ago
Copying non-tried blocks... Pass 1 (forwards)

dd 完成后,我将尝试使用 tsk_recover 从 dd 映像中提取至少一点点。正如评论中提到的,我查找了驱动器的硬件规格。问题是 USB 连接器(USB 3.0 B 型微型)位于主 PCB 上,因此我无法访问 ATA/SATA 连接。或者至少我是这么发现的(到目前为止我还没有打开这个箱子)。我找不到带有电路图的数据表。产品编号为WDBHHG0010BBK-04。我发现了一个类似(!)驱动器的视频,该驱动器的 USB 端口旁边有引脚。我对硬盘和电子设备了解不够,不知道是否可以使用它们。 dd一完成我就会打开箱子。

我问自己什么可能会损坏驱动器那么严重。我的朋友告诉我她刚刚把它扔掉了。看来rw磁头损坏了或者把磁盘砸碎了。据我所知,硬盘在空闲或断电时会将磁头移到一边。我的救援尝试似乎没有造成更多损害,因为可读扇区的结果与一开始相同。

所以,很多文字。我当前的问题是系统日志条目应该告诉我什么。

一些驱动器图片:

在此输入图像描述

在此输入图像描述

在此输入图像描述

答案1

我猜你所说的 iso 是指原始磁盘映像。尝试 ddrescue (有时可用作 dd_rescue),它非常冗长,您可以手动跳过不可读的块。并不是你需要这样做,它默认会忽略读取错误。除了外部 USB 磁盘之外,我从未遇到过它停止的情况。当我恢复数据时,我总是(如果可能)从任何外部外壳中取出 HDD,并将其插入电脑的托架中。 USB 往往会在出现问题的第一个迹象时立即退出。您可以尝试冷却磁盘,这可能有帮助也可能没有帮助,但没有坏处。由于您要连续几天进行恢复,因此您可以让 3-4 个 CPU 风扇对着它吹。你根本不想感觉它变热,越凉越好。热量对于坏磁盘来说是有害的。我建议你把它放在冷藏箱或冰箱里,但这很愚蠢。如果磁盘处于半死状态,请勿对其执行任何其他读取操作。编辑:使用安装的原始图像(甚至是只读图像)时,您会遇到一些麻烦。如果导航可能损坏的文件层次结构(FAT,等等),请首先尝试使用手术刀、雕刻和 magicrescue 来恢复映像中的文件。您通常可以恢复最流行的图片和文档格式。

相关内容