我在弄乱我的新硬盘驱动器,它只包含一些个人文件,为了检查它的写入速度,我输入:sudo dd if=/dev/zero of=/dev/sda
,这/dev/sda/
是连接到我的 Raspberry Pi 的新 2 TB。
希望我取消了命令,只写入了 11 MB。现在磁盘内容显示不出来,现在parted
告诉我分区树是这样的:
|--- unallocated 8.00 MB
|--- unknown 1.82 TB
|--- unallocated 9.08 MB
Run Code Online (Sandbox Code Playgroud)
以前,是这样的:
|--- ext4 1.82 TB
Run Code Online (Sandbox Code Playgroud)
我不知道是否dd
覆盖了磁盘的前11 MB,这意味着分区表已被完全覆盖,或者硬盘驱动器的随机位已被覆盖。
现在硬盘连接到我的 Xubuntu 14.04 笔记本电脑作为/dev/sdb
. 我试过gpart
哪个仍在运行,但也testdisk
没有成功。
知道整个磁盘是ext4
4096,扇区大小是 4096,是否可以在不重新格式化的情况下恢复分区表并使我能够再次访问我的文件(即使某些文件已损坏/删除)?或者我唯一的解决方案是使用文件恢复工具,由于存储在此驱动器上的要复制的数据量会很烦人吗?
我想将一些逻辑分区转换为扩展分区,所以我正在关注这个已接受的答案。但是,在备份当前分区表的步骤中,我搞砸了并输入了以下内容而不是所写的内容。
sfdisk -f /dev/sda > /mnt/parts.txt
Run Code Online (Sandbox Code Playgroud)
这导致了这个:
Disk /dev/sda: 30401 cylinders, 255 heads, 63 sectors/track
Old situation:
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/sda1 0+ 304- 304- 2441214+ 82 Linux swap / Solaris
/dev/sda2 * 304+ 565- 262- 2097152 83 Linux
/dev/sda3 565+ 4486- 3921- 31495168 83 Linux
/dev/sda4 4486+ 30401- 25916- 208163840 5 Extended
/dev/sda5 4486+ 24026- 19540- 156954624 83 Linux
Run Code Online (Sandbox Code Playgroud)
如您所见,单位是柱面和块,与正确的扇区导出相比,这可能会导致精度损失。 …