ddrescue:拯救单个分区后,我可以拯救整个驱动器吗?

ddrescue:拯救单个分区后,我可以拯救整个驱动器吗?

这可能是一个愚蠢的问题,但我有一个快要报废的外部硬盘,上面只有一个 NTFS 分区。

我可能很天真,但我认为最好使用 ddrescue 来拯救分区而不是整个磁盘:

sudo ddrescue -v -r 2 /dev/disk3s2 /Volumes/HDD/rescue.img dd.log

效果非常好:

   current pos:      512 B,  current status: finished
mapfile extent:    1000 GB,  in     23 area(s)

     non-tried:        0 B,  in      0 area(s)  (  0%)
       rescued:    1000 GB,  in     11 area(s)  ( 99.99%)
   non-trimmed:        0 B,  in      0 area(s)  (  0%)
   non-scraped:        0 B,  in      0 area(s)  (  0%)
    bad-sector:    60928 B,  in     12 area(s)  (  0.00%)

显然不是 100%,但 99.99% 对我来说听起来不错!

但现在我有一个假定分区的映像。但它被检测为 RAW 并且无法安装。

从我在网上找到的信息来看,处理磁盘映像比处理分区映像更好、更容易。对于 chkdsk 或 testdisk。

所以我想知道是否有可能将剩余的磁盘数据挽救到现有映像中?或者是否需要从头开始重新运行整个 ddrescue 过程(存在故障硬盘因我要求的繁重工作而损坏的风险)。这样的命令是否可以使用现有映像和现有日志?

sudo ddrescue -v -r 2 /dev/disk3 /Volumes/HDD/rescue.img dd.log

答案1

这可能是一个愚蠢的问题,但我有一个快要报废的外部硬盘,上面只有一个 NTFS 分区。

我可能很天真,但我认为最好使用 ddrescue 来拯救分区而不是整个磁盘:

sudo ddrescue -v -r 2 /dev/disk3s2 /Volumes/HDD/rescue.img dd.log

这个问题并不愚蠢,这个做法也不幼稚:如果你觉得你的驱动器快要坏了,而主要恢复目标是那个分区,那么你只需复制分区就可以减少磁盘压力。否则,在复制整个磁盘时,你的磁盘可能在到达最重要的位置之前就坏了!

这样的命令是否可以利用现有图像和现有日志来工作?

sudo ddrescue -v -r 2 /dev/disk3 /Volumes/HDD/rescue.img dd.log

不,那会失败。

假设你的磁盘只有 10 个扇区:

1234567890

您恢复了分区。假设它从扇区 4 开始。这会为您带来一个恢复的分区,文件内容为 4567890。当您将整个磁盘恢复到现有文件中时,文件将包含(每行显示一个扇区复制操作后文件的内容:

4567890(开始复制操作之前)

1567890

1267890

1237890

1234890

1234590

1234560

1234567

12345678

123456789

1234567890

您的分区将在开始时被覆盖,文件最终将被扩展。如果您的磁盘在此过程中坏了,您最终会得到一个仅包含主要恢复目标分区中可能无用部分的文件。

在 1234567890 中您得到 4567890。

因此,您必须挽救磁盘的开头,即前三个扇区:

123

之后,您可以将两部分连接成一个更大的文件:“123”和“4567890”得到“1234567890”。

=> 您需要将光盘复制到不同的文件中!

您需要找出 /dev/disk3 的扇区号。您需要将磁盘副本限制为 /dev/disk3 之前的扇区数。

ddrescue 提供参数 -s:

-s bytes --size=bytes 救援域的最大大小(以字节为单位)。它指的是原始文件中的大小。

来源: https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html

您将结束复制操作,包括分区之前的扇区。

相关内容