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 / 问题 / 567712
Accepted
Matt Zabojnik
Matt Zabojnik
Asked: 2020-02-15 19:07:03 +0800 CST2020-02-15 19:07:03 +0800 CST 2020-02-15 19:07:03 +0800 CST

如何恢复 HFS+ 分区目录(可能出现故障的驱动器)

  • 772

我有一个格式化为 HFS+ 的 1TB 外置驱动器,用于 Macintosh Apple 计算机。驱动器已满。

我正在使用 Linux 来尝试恢复所有文件,或者修复磁盘,然后挂载它并检索所有内容。

我试过gddrescue了,但是完成的时间太长了。在恢复的 0.06% 时,它会减慢到扫描的字节/秒,并最终加快了一点,但对于我来说似乎还是太慢了。要完全恢复这 1TB,还剩 41 年。我跑了一天,发现 ddrescue 的 41 年比数据的价值要长。

然后我开始了photorec,这似乎可以很好地从分区中恢复已删除的文件。但是,我想恢复所有内容(最好包括完整的目录结构),而不仅仅是在驱动器开始出现故障之前删除的文件。

我试过fsck.hfsplus -d了,得到了这些结果,

** /dev/sdd1
    Using cacheBlockSize=32K cacheTotalBlock=1024 cacheSize=32768K.
** Checking HFS Plus volume.
   Catalog file entry not found for extent
(4, 0)
** Volume check failed.
volume check failed with error 7 
    volume type is pure HFS+ 
    primary MDB is at block 0 0x00 
    alternate MDB is at block 0 0x00 
    primary VHB is at block 2 0x02 
    alternate VHB is at block 1953458172 0x746f67fc 
    sector size = 512 0x200 
    VolumeObject flags = 0x07 
    total sectors for volume = 1953458174 0x746f67fe 
    total sectors for embedded volume = 0 0x00 

看到Catalog file entry not found for extent我在尝试整理时也遇到的错误,我决定用 重建目录-r,但没有成功。我认为必须存在目录才能对其进行重建或修复。

fsck.hfsplus -q报告一个 DIRTY FILESYSTEM。

我尝试使用hsfprescue,这似乎是解决我的问题的完美工具,但在分析步骤 ( hfsprescue -s1) 期间,它像 ddrescue 一样挂在 0.06%。testdisk当它到达圆柱体 74 时,同样会在分析过程中挂起。

我把驱动器给了一个拥有 iMac 的人,他尝试了它的 GUI 磁盘实用程序软件来修复驱动器,但无济于事。(我不知道产生了什么错误,如果有的话)

我从去年的某个时候备份了这个驱动器,但备份的数据量还不到当前实际存储在驱动器上的数据量的一半。

我正在寻找有关如何修复磁盘以便可以安装它并复制所有数据的建议,或者可以推荐其他类似于 photorec 的工具,但可以恢复所有文件和文件夹结构的工具。基本上,在这一点上,我接下来应该做什么。

此外,在您的建议中,请不要说“吸取教训,不断备份你的东西!” 讲座。驱动器不是我的,我所做的备份是在所有者不知情、同意、许可等情况下进行的,即使在驱动器故障等事件发生后,我也无法说服所述所有者备份数据的价值.

data-recovery hfs+
  • 1 1 个回答
  • 2427 Views

1 个回答

  • Voted
  1. Best Answer
    Matt Zabojnik
    2020-02-21T07:26:56+08:002020-02-21T07:26:56+08:00

    如果成功的话,我能够对testdisk产生与ddrescue通常结果相似的结果的磁盘进行映像。

    然后我hfsprescue在创建的图像上使用testdisk. 遵循这两个步骤,这个过程再简单不过了。通过这样做,我恢复了 99.99% 的文件,包括目录结构。(一些文件被坏扇区损坏)

    • 1

相关问题

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

  • 关于文件系统的stat命令的一些问题

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

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

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

Sidebar

Stats

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

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

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

    • 4 个回答
  • Marko Smith

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

    • 5 个回答
  • Marko Smith

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

    • 3 个回答
  • 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
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +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

热门标签

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