有谁知道可以执行可重新启动的磁盘驱动器原始副本的软件?
您基本上是在描述可以从可引导的 Linux live CD/DVD/USB 运行的GNU (我非常喜欢ddrescue
SystemRescueCD)。
克隆驱动器
首先,您应该使用该fdisk -l
命令识别已连接到计算机的驱动器。这是我硬盘驱动器的片段:
# fdisk -l /dev/sd*
Disk /dev/sda: 232,9 GiB, 250059350016 bytes, 488397168 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: 0x8185b78c
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 499711 497664 243M 83 Linux
/dev/sda2 501758 488396799 487895042 232,7G 5 Extended
/dev/sda5 501760 488396799 487895040 232,7G 83 Linux
该命令应运行为(从终端中的符号root
可以看出),我进行了过滤以避免显示 ramdisk。#
/dev/sd*
现在,假设我要克隆/dev/sda
(故障驱动器),/dev/sdb
其中安装为/media/user/External
(保存我要创建的映像的驱动器),我将发出以下命令(as root
):
ddrescue /dev/sda /media/user/External/copy.img /media/user/External/status.log
该文件/media/user/External/status.log
是程序用来跟踪其进度的日志文件。这样,您可以根据需要中断该工具,然后再继续。
一般ddrescue
不会被硬盘故障所困扰。它会先简单地复制好的部分,然后再回到失败的扇区,尝试越来越小的块大小。这加快了复制过程并保证了更好的结果。
您可以使用ddrescueview
获取克隆过程的实时图形表示。
从 NTFS 分区恢复文件
免责声明:我是 RecuperaBit 的作者。
您可以使用RecuperaBit 恢复NTFS 分区的内容。在我看来,它比 Testdisk 和 Autopsy 等其他开源解决方案更好,因为即使在严重损坏的情况下它也能提供良好的结果。至少您可以恢复仍然完好无损的文件和大部分目录结构。
RecuperaBit 是一个不需要安装的 Python 程序。下载后(通过git
或下载并解压 ZIP 文件),您可以使用以下命令行(pypy
建议)运行它:
mkdir /media/user/External/recovered_files
cd [full path of recuperabit]
pypy main.py /media/user/External/copy.img -o /media/user/External/recovered_files -s /media/user/External/savefile.save
一旦扫描过程结束,它将开始确定它找到的任何 NTFS 分区的几何形状。之后,您可以运行命令recoverable
查看分区,然后恢复例如分区#2
:
restore 2 5
restore 2 -1
其中5
表示Root目录,-1
表示Lost Files目录。
您需要注意一些注意事项:
- RecuperaBit 将尝试查找任何 NTFS 分区,因此它可能会很慢,因为目前无法设置阈值以避免无用的结果
- 不支持 NTFS 压缩,因此某些文件可能无法恢复
- 任何已删除的文件或幽灵文件也将被恢复,目前您不能选择仅恢复分配的文件
其他节目
有许多商业(和一些开源)程序(尤其是 Windows)可以在不同程度上处理 NTFS 恢复。我在我的硕士论文和随附的幻灯片中列出并比较了其中的一些。下表显示了我对 4 个不同磁盘映像的 NTFS 重建精度相关的测试结果:
在我的论文中给出了进一步的解释和注释。如果您更愿意使用商业 GUI 程序,我建议您使用Restorer Ultimate或DMDE。