又作大死了,求助重新恢复硬盘

2017-05-22 00:29:25 +08:00
 colorwin

OS: Ubuntu 16.04

我打算备份系统到我的硬盘里,也是第一次。 然后选择了 dd, 然后看到一条命令:

$ sudo  dd if=/dev/sda of=/dev/sdb

sdb 就是我的硬盘啊,然后我作死地想,如果我直接 dd 到 /dev/sdb 会怎么样呢。 然后我就直接试了。。。。

我有点担心,就 ls 了一下当前目录也就是我的硬盘的根目录,悲催的事情发生了,空了!!!! 赶紧 cancel 掉。然后发现硬盘没有被挂载了。。。。

重启一下看有没有奇迹,什么也没发生。

$ sudo fdisk -l
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x0004cba2

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         4096 104857599 104853504    50G  7 HPFS/NTFS/exFAT
/dev/sda2       104861694 976771071 871909378 415.8G  f W95 Ext'd (LBA)
/dev/sda5       104861696 396363775 291502080   139G  7 HPFS/NTFS/exFAT
/dev/sda6       687867904 699584511  11716608   5.6G 82 Linux swap / Solari
/dev/sda7       699586560 700364799    778240   380M 83 Linux
/dev/sda8       700366848 798021144  97654297  46.6G 83 Linux
/dev/sda9       798023680 976771071 178747392  85.2G 83 Linux

Partition 2 does not start on physical sector boundary.




Ignoring extra data in partition table 5.
Ignoring extra data in partition table 5.
Ignoring extra data in partition table 5.
Invalid flag 0x0eeb of EBR (for partition 5) will be corrected by w(rite).
Disk /dev/sdb: 1.4 TiB, 1500267937792 bytes, 2930210816 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0004cba2

Device     Boot     Start        End    Sectors   Size Id Type
/dev/sdb1  *         4096  104857599  104853504    50G  7 HPFS/NTFS/exFAT
/dev/sdb2       104861694  976771071  871909378 415.8G  f W95 Ext'd (LBA)
/dev/sdb5       770403513 3291724251 2521320739   1.2T f4 SpeedStor

貌似我的数据还在。

然后试着手动挂载 sdb, sdb1, sdb2, sdb5。报错

$ sudo mount /dev/sdb test
mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.

在装了” nfs-common “之后 sdb 挂载成功了,然而里面是空的。

求助怎么处理?

4943 次点击
所在节点    Linux
25 条回复
wxg4net
2017-05-22 07:00:34 +08:00
根据我的经验,如无很重要的数据丢失,还是重新来过吧。折腾数据恢复是个概率活,细心活。想开点,一切都会过去的
kokutou
2017-05-22 07:55:45 +08:00
那么问题来了,你 dd 的时候,dd 了多少 g ?
gamexg
2017-05-22 08:12:35 +08:00
看操作是覆盖了 sdb 前面的数据,包括分区表。
windows 下用 DiskGenius 搜索分区可以找回未覆盖的分区。linux 下就不清楚什么软件可以搞了。
bukip
2017-05-22 08:18:19 +08:00
dd 应该是直接覆盖了
Lycnir
2017-05-22 08:58:20 +08:00
很明显,sdb 的分区表已经不是你原来的分区表了 如果在你 dd 时间很短的时候取消,恢复原来之前的分区表还是可以简单的救回大部分数据的
Charkey
2017-05-22 09:32:42 +08:00
windows 我有 diskgenius,linus 没玩过。
nanpuyue
2017-05-22 09:58:08 +08:00
建议在 windows 下用 diskhenius 恢复,linux 下的恢复工具对使用者的经验要求比较高一点。
mhycy
2017-05-22 10:08:27 +08:00
diskgenius 在这种情况不是最好选择
记忆中有一个软件可以打捞分区表丢失的数据
不知道 Linux 文件系统可用不可用

我只捞过 NTFS 文件系统的数据。。。
mhycy
2017-05-22 10:12:43 +08:00
找到了,R-Studio
QQ2171775959
2017-05-22 11:05:36 +08:00
老兄也是人才一位啊,备份数据也这么不小心,是不会弄还是失误啊,不会的话,就拿点不重要的数据练练手,要不然把重要的数据丢失了,小心领导找你谈话。
15015613
2017-05-22 11:22:33 +08:00
@colorwin
sdb 是 MBR 还是 GPT。
如果是 GPT 的话,分区表可以根据尾部的备份恢复回来。
colorwin
2017-05-22 13:44:40 +08:00
@wxg4net
@gamexg
@kokutou
@bukip
@Lycnir
@Charkey
@mhycy
@QQ2171775959
@15015613

谢谢各位,

我重启去 window 系统里(装的双系统),用了 window 系统的恢复软件 diskgenius (之前也搞坏过硬盘了。。。)扫描了看了一下,硬盘里没什么重要的东西,不打算要了,还是格式了重新来算了。

这个移动硬盘闲置很久了,我刚开始是想拿来备份系统。后来看到这行`$ sudo dd if=/dev/sda of=/dev/sdb`命令,想如果可以复制挂载点,那么可以全部系统直接 copy 到硬盘的话,可以直接把移动硬盘当移动系统了。

这个应该可以实现的吧,要怎么做呢?
15015613
2017-05-22 14:22:26 +08:00
itfanr
2017-05-22 16:12:56 +08:00
dd 不要随便用
darkshell
2017-05-22 16:30:52 +08:00
testdisk 可以试试
wxg4net
2017-05-22 20:22:04 +08:00
其实 archlinux 是可以通过 rsync 备份、恢复系统的。我也这么做过,但这不包含引导部分。ubuntu 不确定是否可以。或许可以,也可能不可以。我发现 btrfs 太爽,不同子卷可以安装不同系统,数据按照子卷放...备份超级方便
ToughGuy
2017-05-22 20:27:10 +08:00
1. 先尝试恢复分区表
2. 尝试从恢复后的分区里面恢复文件系统(数据)

Diskgenius 可以恢复分区表(你要记得你之前分区的大概位置, 他会注意搜索边界), 这真的是很 diao 的国产软件。

然后使用类似 e2fsck 之类的来修复文件系统。

记得我以前有在 V2 上面回答过类似问题。
ToughGuy
2017-05-22 20:30:20 +08:00
找到原来的主题了, 你的难兄难弟在这里。

/t/269369
standin000
2017-05-22 20:40:53 +08:00
@wxg4net 按子卷放跟按分区放有什么优势?
wxg4net
2017-05-22 21:21:57 +08:00
@standin000 请搜索 btrfs,查阅相关知识

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/362851

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX