我正在乱搞我的新硬盘,它只包含一些个人文件,为了检查它的写入速度,我输入了:sudo dd if=/dev/zero of=/dev/sda
,/dev/sda/
是连接到我的Raspberry的新2TB。
希望我取消了命令,只写了11 MB。现在磁盘内容无法显示,现在parted
告诉我分区树是这样的:
|--- unallocated 8.00 MB
|--- unknown 1.82 TB
|--- unallocated 9.08 MB
以前是这样的:
|--- ext4 1.82 TB
我不知道dd
是否覆盖了磁盘的前11 MB,这意味着分区表已经被完全覆盖,或者硬盘的随机位被覆盖了。
现在硬盘以/dev/sdb
的形式连接到我的Xubuntu14.04笔记本电脑。我已经尝试过还在运行的gpart
,也尝试过testdisk
,但没有成功。
知道整个磁盘都是ext4
,扇区大小为4096,是否有可能恢复分区表而不进行重新格式化,并使我能够再次访问我的文件(即使有些文件已被损坏/删除)?或者我唯一的解决方案是使用一个文件恢复工具,因为存储在这个驱动器上的数据量很大,这会让人感到厌烦吗?
发布于 2014-08-02 15:17:37
您首先需要以原来的方式重构分区表。这不会影响任何分区的内容,只会影响系统对每个分区从何处开始和结束的想法。听起来您可能已经这样做了,因为您似乎有一个“未知”的分区,但与之前的分区大小完全相同。
如果您还没有这样做,那么您可以尝试使用最初用于创建该分区的同一个分区编辑程序(例如fdisk
、gdisk
、parted
)创建一个大分区,并接受默认的建议位置,希望这些默认设置将导致与以前相同的位置。同样,在这里,听起来您似乎知道使用了什么分区软件: parted。
之后,您需要的技巧是使用备份超级块对文件系统进行fsck
。在这里,您必须再次希望文件系统是首先使用默认选项创建的,或者您必须知道使用了哪些非默认选项来创建文件系统。(我想说,文件系统通常是用默认选项创建的。)
mkfs
,但添加-n
除外,这意味着不要真正创建文件系统。mkfs
输出将输出一个备用超级块的列表。您需要使用其中之一,因为文件系统的主超级块已被覆盖。块设备中被覆盖的部分越大,列表中的备用超级块就会被损坏。fsck
选项运行-b
以指定备用超级块。我必须警告你,无论你恢复到什么地方,都可能是一片混乱,需要大量的人工清理。预期相当多的丢失和丢失的文件重新附加在lost+found
。
https://unix.stackexchange.com/questions/148045
复制相似问题