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
    • 最新
    • 标签
主页 / unix / 问题 / 473337
Accepted
Kristian
Kristian
Asked: 2018-10-05 13:18:25 +0800 CST2018-10-05 13:18:25 +0800 CST 2018-10-05 13:18:25 +0800 CST

获取 ddrescue 图像文件的内容

  • 772

我的硬盘有大约 400 GB 的数据,其中大约 50 GB 需要恢复。所有数据都位于特定目录(/​​Fotos2018/)中。

硬盘是WD My Passport Essential WDBAAA5000ABK (500 GB, USB 2.0)。它包含一个包含我的数据的 FAT32 分区,以及另一个包含一些 WD 软件的分区。

我尝试使用ddrescue --no-split -r3 /dev/sdb1 defekt_wd.iso defekt_wd.log. 它产生了大量错误(我没有输出),但最终得到了输出文件。如果有任何指示,则日志文件为 1.2 MB。在这个操作过程中,硬盘驱动器听起来越来越沙哑,并且变得相当热。

我找到了各种提取内容的方法,但没有一个成功。以下是我的尝试:

首先,传统挂载(但是,由于保修条款,我无法在当前机器上重新编译内核,但如果您认为这可以在不同的机器上工作,我可以复制映像文件)

# mount defekt_wd.img /tmp/defektdisk
mount: Could not find any loop device. Maybe this kernel does not know about the loop device? (If so, recompile or `modprobe loop'.)
# modprobe loop
FATAL: Module loop not found.

第二,使用xorriso。

# xorriso -indev defekt_wd.img -ls
xorriso 1.3.2 : RockRidge filesystem manipulator, libburnia project.
xorriso : NOTE : Loading ISO image tree from LBA 0
libisoburn: WARNING : No ISO 9660 image at LBA 0. Creating blank image.
Drive current: -indev 'defekt_wd.img'
Media current: stdio file, overwriteable
Media status : is written , is closed
Media summary: 1 session, 228724832 data blocks,  436g data,     0 free
Volume id    : 'ISOIMAGE'
Valid ISO nodes found: 0

我还尝试使用 7-zip 提取/列出/测试存档,例如:

# 7z l defekt_wd.img 
7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=C,Utf16=off,HugeFiles=on,2 CPUs)
Error: defekt_wd.img: Can not open file as archive
Errors: 1

这是输出file:

# file defekt_wd.img
defekt_wd.img: x86 boot sector, code offset 0x58, OEM-ID "BSD  4.4", sectors/cluster 64, Media descriptor 0xf8, heads 255, hidden sectors 2048, sectors 975394816 (volumes > 32 MB) , FAT (32 bit), sectors/FAT 119038, reserved3 0x800000, serial number 0xac2710e2, label: "XYZ "

我目前的理论是图像文件包含两个分区,但我不知道如何提取其中一个的内容。你能就下一步做什么提供任何建议吗?

data-recovery disk-image
  • 3 3 个回答
  • 6933 Views

3 个回答

  • Voted
  1. blihp
    2018-10-05T13:28:35+08:002018-10-05T13:28:35+08:00

    由于您创建了 /dev/sdb1 的映像,因此您只创建了该分区的映像(而不是 /dev/sdb 将是整个驱动器)只要第一个分区是包含您的数据的分区,那将是正确的。

    至于安装它,请尝试:

    mount -o loop defekt_wd.img /tmp/defektdisk
    

    要获取有关磁盘映像的分区表(如果有的话)的更多信息,请使用:

    fdisk -l defekt_wd.img
    
    • 2
  2. Best Answer
    Kristian
    2018-10-11T10:48:10+08:002018-10-11T10:48:10+08:00

    我的工作解决方案是将 ddrescue 的输出文件的内容复制到不同的物理硬盘驱动器(大小相等或最好更大):

    # ddrescue -f defekt_wd.img /dev/sdb to_harddrive.log
    GNU ddrescue 1.19
    Press Ctrl-C to interrupt
    rescued:   468428 MB,  errsize:       0 B,  current rate:    4653 kB/s
       ipos:   468428 MB,   errors:       0,    average rate:   34703 kB/s
       opos:   468428 MB, run time:    3.74 h,  successful read:       0 s ago
    Finished                                     
    

    具有获救内容的物理硬盘驱动器能够挂载,我很幸运能够检索到 50 GB 重要照片中的大约 80%。由于大多数是 JPEG 照片,我什至可以裁剪一些已部分损坏的照片。

    • 0
  3. bjrne
    2021-05-28T02:22:24+08:002021-05-28T02:22:24+08:00

    我遇到了同样的问题,但使用的是 exFAT 文件系统。由于 Ubuntu 20.04 在存储库中没有修复 exFAT 的工具,我使用 Testdisk ( testdisk /path/to/broken.img) 来提取文件。Testdisk 仍然能够读取 Recuva、Windows 或 Windows exFAT 修复都无法执行的文件列表。有了这个列表,Testdisk 能够将包括文件名和元数据在内的所有图像复制到另一个卷。

    • 0

相关问题

  • 将目录移动到不存在的位置?

  • MDADM - 灾难恢复或从我将 RAID5 阵列放入的状态继续前进

  • 如何从 2 磁盘 NAS 中曾经属于 RAID1(MD 上的 LVM)的磁盘恢复/复制数据?

  • 用于移动使用 fdupes 或其他重复数据删除包删除的保留文件的脚本

  • dd_rescue 和 ddrescue 有什么区别,什么时候更喜欢哪一个?

Sidebar

Stats

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

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve