如何在我的电脑上创建硬盘驱动器的副本?

如何在我的电脑上创建硬盘驱动器的副本?

我有一台被遗忘的旧 Windows 笔记本电脑。它不再从内部硬盘驱动器启动。我成功创建了一个可成功启动的实时 Manjaro USB 驱动器。

似乎存在某种数据损坏或位腐烂,因为某些分区似乎不存在。

我想创建硬盘驱动器的副本,以便尝试一些数据恢复。我的电脑中有一个足够大的驱动器,足以存储我制作的任何副本。

我无法以物理方式传输副本(外​​部驱动器)。所以我假设唯一的其他方法是通过我的本地网络(也许是本地文件共享?)。

经过一番搜索,我遇到了这个问题, 哪个可能是我正在寻找的答案。我不确定是否不过,在我的情况下,世界工作。

显然我不想覆盖笔记本电脑的驱动器,并且 Manjaro USB(或我拥有的任何其他 USB 驱动器)没有足够的空间来保存笔记本电脑驱动器的副本。

考虑到所有这些限制,是否可以在我的 PC 上创建笔记本电脑硬盘的副本?如果是这样,我可以采取哪些方法?

答案1

好消息和坏消息。
好消息是你是对的,这就是正确的方法。始终进行完整的扇区复制(“dd”将是此操作的标准)并尽可能少地弄乱旧的可能损坏的驱动器!

但如果您没有足够的空间来保存完整副本,则需要首先获得更多存储空间。当然,您可以使用压缩,但不能保证这足够,而且只会使一切变得更加复杂。

或者用我在工作中使用的话说:我们需要购买另一个驱动器。如果没有它,这甚至不值得尝试。我们很可能会花费大量时间而得不到有用的结果。此外,每次尝试读取旧驱动器/数据时,我们都会冒着进一步损坏旧驱动器/数据的风险。

所以你“可以”但我会重重地建议不要这样做。

为了进一步强调我认为多余存储空间的重要性:
事实上,我建议采用以下设置:
存储空间至少是要救援的驱动器大小的两倍。简单的推理是,您希望首先制作完整副本,然后进一步处理完整备份并将数据恢复到另一个位置,以免进一步篡改可能损坏的数据。

此外,您可能希望将该副本保持在原始状态,直到救援完成,因为进一步的副本可能会更糟,因为磁盘/文件系统可能会降级。最坏的情况是驱动器运行的每一秒。动态压缩会使过程变慢。

答案2

您可以使用sshfssamba将网络共享安装到您的计算机

dd安装后,您可以使用以下命令制作带有数据的孔驱动器的副本

列出驱动器,然后lsblk使用 进行复制

示例:您的驱动器是/dev/sdx

您安装的文件夹是/mount/backup/

dd if=/dev/sdX of=/mount/backup/yourdrive.image bs=1M status=progress

如果您不想使用rsync或对驱动器进行整个备份,您还可以备份所需的文件夹cp

最后你需要空间,你可以压缩整个东西,但我不知道你是否会获得那么多空间,以及远程计算机上的空间是否足够,或者购买一个新的 USB 记忆棒或硬盘并在上面进行备份新驱动器

答案3

最简单的方法是将数据流式传输ssh。为此,您需要sshd损坏的机器上的(您拥有,假设您的 Live CD 附带)。然后,从另一台机器:

$ cd empty_dir
$ ssh broken_machine -c "tar czf - /mnt/volume_to_save" | tar xzf -

或者

$ ssh broken_machine -c "tar czf - /mnt/volume_to_save" > volume.tar.gz

如果该特定分区上没有进一步的位错误,并且您仍然可以安装它,那么这将简单有效地工作。最好以只读方式安装(使用ro带有 的选项mount)。请注意z,如果您觉得旧机器受 CPU 限制,您可以尝试删除压缩标志;虽然ssh传输流无论如何都会捕获位错误,但这只是多了一层保护。

dd如果您由于某种原因无法或不想安装目标分区,则可以使用下一个升级。

$ ssh broken_machine -c "dd if=/dev/hda1 bs=64k" > hda1.img

然后,您可以在好机器上随意使用该图像(即使用安装它mount -o loop hda1.img /mnt/rescue)。在复制操作期间,再次建议您卸载分区或以只读方式安装分区,这应该不是问题,因为无论如何您都是从救援 CD 启动的。

最后,如果您确实预计会受到物理伤害,尤其是如果您担心即使阅读会造成更大的伤害,你可以使用ddrescue按重要性顺序抓取分区的各个部分。请参阅地址救援手册了解详情;然后您可以以相同的方式使用它ssh

祝你好运!

相关内容