首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >部分覆盖/dev/sda,我能恢复任何东西吗?

部分覆盖/dev/sda,我能恢复任何东西吗?
EN

Unix & Linux用户
提问于 2014-08-02 14:51:50
回答 1查看 2K关注 0票数 5

我正在乱搞我的新硬盘,它只包含一些个人文件,为了检查它的写入速度,我输入了:sudo dd if=/dev/zero of=/dev/sda/dev/sda/是连接到我的Raspberry的新2TB。

希望我取消了命令,只写了11 MB。现在磁盘内容无法显示,现在parted告诉我分区树是这样的:

代码语言:javascript
运行
复制
|--- unallocated 8.00 MB
|--- unknown 1.82 TB
|--- unallocated 9.08 MB

以前是这样的:

代码语言:javascript
运行
复制
|--- ext4 1.82 TB

我不知道dd是否覆盖了磁盘的前11 MB,这意味着分区表已经被完全覆盖,或者硬盘的随机位被覆盖了。

现在硬盘以/dev/sdb的形式连接到我的Xubuntu14.04笔记本电脑。我已经尝试过还在运行的gpart,也尝试过testdisk,但没有成功。

知道整个磁盘都是ext4,扇区大小为4096,是否有可能恢复分区表而不进行重新格式化,并使我能够再次访问我的文件(即使有些文件已被损坏/删除)?或者我唯一的解决方案是使用一个文件恢复工具,因为存储在这个驱动器上的数据量很大,这会让人感到厌烦吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2014-08-02 15:17:37

您首先需要以原来的方式重构分区表。这不会影响任何分区的内容,只会影响系统对每个分区从何处开始和结束的想法。听起来您可能已经这样做了,因为您似乎有一个“未知”的分区,但与之前的分区大小完全相同。

如果您还没有这样做,那么您可以尝试使用最初用于创建该分区的同一个分区编辑程序(例如fdiskgdiskparted)创建一个大分区,并接受默认的建议位置,希望这些默认设置将导致与以前相同的位置。同样,在这里,听起来您似乎知道使用了什么分区软件: parted。

之后,您需要的技巧是使用备份超级块对文件系统进行fsck。在这里,您必须再次希望文件系统是首先使用默认选项创建的,或者您必须知道使用了哪些非默认选项来创建文件系统。(我想说,文件系统通常是用默认选项创建的。)

  1. 使用最初用于创建文件系统的相同选项(可能没有选项,意为默认值)运行mkfs,但添加-n除外,这意味着不要真正创建文件系统。
  2. mkfs输出将输出一个备用超级块的列表。您需要使用其中之一,因为文件系统的主超级块已被覆盖。块设备中被覆盖的部分越大,列表中的备用超级块就会被损坏。
  3. 使用fsck选项运行-b以指定备用超级块。

我必须警告你,无论你恢复到什么地方,都可能是一片混乱,需要大量的人工清理。预期相当多的丢失和丢失的文件重新附加在lost+found

票数 7
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/148045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档