AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1829825
Accepted
Clonkex
Clonkex
Asked: 2024-02-12 08:43:00 +0800 CST2024-02-12 08:43:00 +0800 CST 2024-02-12 08:43:00 +0800 CST

备份旧的、故障驱动器的最安全方法?

  • 772

我有一些旧硬盘(一些 IDE,大多数 SATA)。几年前,我启动它们并尝试通过取消删除程序恢复所有文件,并获得了一些文件。我不相信自己做得很好,所以现在我想再试一次。

我的假设是逐个扇区的方法是最好的,因为这样应该捕获每一位数据,然后我可以尝试多次尝试恢复可能保留在映像中的任何文件。我知道尝试自己的恢复会降低专业恢复成功的机会,但我真的只是希望恢复一些我依稀记得的童年文件,所以这并不那么重要。

考虑到可能有许多失败的扇区,创建旧驱动器的某种扇区映像的最安全方法是什么?

我熟悉 Linux,并且在我的笔记本电脑上安装了 Mint 双引导,但我从未使用过 DD,而且我不确定是否应该学习使用它或寻找其他工具。

hard-drive
  • 1 1 个回答
  • 32 Views

1 个回答

  • Voted
  1. Best Answer
    Kamil Maciorowski
    2024-02-12T14:19:55+08:002024-02-12T14:19:55+08:00

    一般来说,至少有两种策略:

    1. 使用指定的工具复制整个磁盘以处理读取错误。标准工具是 GNUddrescue,我已经多次使用它来镜像块设备。

      GNUddrescue不关心分区表或文件系统,它的工作是读取尽可能多的驱动器,同时在发生读取错误时首先尝试挽救好的部分。

      (我听说过有关HDDSuperClone的好消息,但我从未使用过它。)

      在最好的情况下,您将获得驱动器的完美映像,包括以前删除的文件系统或文件的任何残留物;因此,任何取消删除或恢复此类文件的尝试都将与您使用原始驱动器的效果相同或更高。可能“在更高程度上”,因为假设原始驱动器可能会在压力下失败,但是一旦创建并正确存储在健康驱动器上的副本/图像是牢固的,并且可以在没有任何风险的情况下使用。

      在最坏的情况下,创建完整映像的唯一尝试将是导致源驱动器损坏的压力。为了降低这种风险,还有其他策略。

    2. 使用理解所需文件系统的工具复制所需的文件系统,并故意跳过文件系统不使用的驱动器部分。这个想法是,尝试读取文件系统当前未使用的扇区是没有意义的,因为即使成功读取也不会给你任何东西,同时仍然是一个可能在整个操作完成之前杀死磁盘的压力。

      为此,文件系统的基本结构必须完好无损。您需要一个特定于文件系统类型的工具。对于 NTFS,请参阅此问题:How can I find out thoseectors areused by files on NTFS?

      此策略故意跳过文件系统当前未使用的扇区。一般来说,您可能无法删除的大部分数据都存在于这些扇区中,这些数据将会丢失。该策略旨在最大化复制文件系统当前状态的机会,但仅此而已。

    您提到尝试“通过取消删除程序恢复所有文件”。你想再试一次。如果是这样,那么第一个策略就是适合您的策略。

    笔记:

    • 使用第一种策略,您可以复制整个块设备(例如/dev/sdc在 Linux 中)。我假设有一个分区表。如果分区表完好无损,那么复制到另一个块设备(例如/dev/sde)将在那里“创建”分区(内核将/dev/sde1在之后为您提供等等partprobe)并且使用它们将非常简单。将整个分区块设备复制到常规文件稍后会出现一些问题,因为您需要知道如何访问常规文件中存在的“分区”(如果您想这样做,在 Linux 中,工具是 , losetup --partscan, partx)kpartx。因此,如果您想复制到常规文件,通常最好将每个分区复制到单独的文件。

      使用第二种策略,您可以复制几乎总是存在于分区内的文件系统(例如/dev/sdc1在 Linux 中)。

    • 就我个人而言,我更喜欢复制到 Btrfs 上的常规文件。首先,我将副本设置为不可变 ( chattr +i),以防万一。接下来,我创建副本 ( cp --reflink=always) 的重新链接副本。然后我使用这个“辅助”副本,因此即使需要修改图像的工具也可以工作,但我仍然有不可变的副本可以重新开始,以防出现任何问题。这种谨慎是可能的,无需重新链接,通过实际复制,因此在任何文件系统中都是如此;不过,重新链接可以大大节省时间和磁盘空间。

    • 尽管如此,Windows 和 Windows 中的(恢复)工具可能要求副本存在于块设备上。我对 Windows 的了解还不够深入,无法判断现在它可以多么轻松地假装一个常规文件是一个块设备(就像 Linux 可以使用的那样losetup)。在某些操作系统(例如 Windows)中使用常规文件磁盘副本的一种通用方法是将副本作为“HDD”连接到运行该操作系统的虚拟机。

    • 如果克隆驱动器上有 Btrfs,则不要在原始驱动器仍处于连接状态时尝试安装副本(反之亦然)。原因是它们将共享标识文件系统的 UUID,并且根据设计,它们将被解释为单个文件系统的一部分,而不是两个不同的文件系统。请参阅如何复制 btrfs 文件系统以获取一些有用的想法。

    • 2

相关问题

  • 可以读取硬盘驱动器并专门写入 RAM 的系统?

  • 5 年后我应该更换/升级我的硬盘吗?

  • 我应该对用于存储的辅助(非操作系统)SSD 进行分区吗?[关闭]

  • 在 Windows 10 中运行 CrystalDiskMark 会导致 BSOD

  • “写悬崖”现象是否只发生在SSD盘上?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Vickel Firefox 不再允许粘贴到 WhatsApp 网页中? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve