我有一台 Synology NAS,配置了 RAID 1,最近我意外删除了一个共享文件夹,里面有我想要找回的数据。我关闭了 NAS,启动了一台装有 Ubuntu Live CD 的机器,并连接了其中一个 NAS 驱动器。
我使用 DD 制作了驱动器的映像,现在外部驱动器上有一个 oldhd.img 文件。
然后我换了一台新机器,启动了连接外部驱动器的 Live CD,然后切换到外部驱动器目录并运行此命令
mount -r -o loop oldhd.img /mnt
然后我跑去fdisk -l
查看我需要恢复的驱动器/dev/sdb
我将目录更改为我的计算机硬盘文件夹并运行:
extundelete /dev/sdb --restore-all
它返回:
extundelete - failed to read-only open device "/dev/sdb": Error code 2133571347
我做错了什么?我应该怎么做?
答案1
当您使用mount
该-r
选项时,文件系统将以只读方式挂载。为了对磁盘进行任何写入,您不能以只读方式挂载。
因此,命令应该是
mount -o loop oldhd.img /mnt
另外,来自 sourceforge 论坛的帖子:
错误代码 2133571347 是“EXT2_ET_BAD_MAGIC”这意味着超级块没有有效的签名。
任何一个:
- 超级块已损坏,在这种情况下您可以尝试在超级块副本的帮助下打开文件系统。请参阅选项
-b blocknumber
和-B blocksize
,或- 您在创建文件系统映像时犯了一个错误,或者
- 您创建了整个磁盘的映像,而不是文件系统的副本,在这种情况下,您必须为 losetup 指定偏移选项。