我有一个使用 Linux 上的 ddrescue 创建的故障硬盘映像文件。这个硬盘有 750GB,如果我没记错的话,只有大约 30MB 无法保存。我确实还有一些其他故障硬盘,不记得这个硬盘是属于我的 Windows 还是 Linux 计算机。
我正在尝试将映像写回到 2TB 硬盘。无论我将该硬盘格式化为 NTFS 还是 EXT,并将映像写入该新硬盘,完成后它都会再次显示为未格式化且空白。我读到我们应该在将映像写回之前使用纠错工具。所以我尝试使用 fsck 和 ntfsfix,但都无法识别映像并进行更正。
如果 ddrescue 能够从该故障硬盘中拯救出这么多东西,为什么工具无法纠正错误,也无法将其写回?我成功地将另一块故障的 160GB 硬盘写回,所以我不知道为什么这块 750GB 硬盘无法正常工作。
编辑,写回我使用的图像:
sudo ddrescue -f seagate750gb.img /dev/sdb restore.log
head-n 16 seagate750gb.log
# Rescue Logfile. Created by GNU ddrescue version 1.17
# Command line: ddrescue -d -r5 -R /dev/sdb seagate750gb.img seagate750gb.log
# current_pos current_status
0x89B7F4A00 +
# pos size status
0x00000000 0x89B7F4800 +
0x89B7F4800 0x00000200 -
0x89B7F4A00 0x010AA200 +
0x89C89EC00 0x00000200 -
0x89C89EE00 0x21775200 +
0x8BE014000 0x00000200 -
0x8BE014200 0x000DA400 +
0x8BE0EE600 0x00000200 -
0x8BE0EE800 0x00369600 +
0x8BE457E00 0x00000200 -
0x8BE458000 0x002B6000 +
文件 seagate750gb.img
seagate750gb.img: x86 boot sector
gdisk -l seagate750gb.img
GPT fdisk (gdisk) version 0.8.8
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.
***************************************************************
Disk seagate750gb.img: 1465149168 sectors, 698.6 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 2891CCD9-92FB-4380-AB03-801E0E4F90CC
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1465149134
Partitions will be aligned on 2048-sector boundaries
Total free space is 1465149101 sectors (698.6 GiB)
Number Start (sector) End (sector) Size Code Name
sudo gdisk -l /dev/sdb
(这是我的 2TB 硬盘,写入图像之后的样子)
GPT fdisk (gdisk) version 0.8.8
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.
***************************************************************
Disk /dev/sdb: 3907029168 sectors, 1.8 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 59784077-576E-4CC1-918D-773D10916B46
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 3907029101 sectors (1.8 TiB)
Number Start (sector) End (sector) Size Code Name
答案1
在推测之前,请检查以下几点:
确保磁盘映像确实有数据。尝试以下操作:
lzop < disk.img | wc -c - disk.img
这将需要几分钟来计算图像和经过一定程度压缩的
lzop
图像流中的字符数。如果图像全为零,则lzop
数字会相对较小。如果
lzop
数量至少为10%原始图像大小中有一些数据磁盘映像。如果似乎有数据,请查看一些标准实用程序对此的说明:
file disk.img
...应该能说明一下那里有什么。如果是分区表,请尝试:
gpart -v disk.img