双系统 win10 给 Linux 的 ext4 整盘(未分区)添加了 MSR 分区,如何恢复?求助!急!

2022-04-05 21:51:54 +08:00
 WXZhao

Ubuntu20 和 Win10 分别装在两个固态硬盘里,另有两个机械硬盘用在 Linux 下存数据( 1T+4T ),打开 win10 后提醒我的分区表不是 GPT 是否要转为 GPT ,点确定后给两个没在用的数据硬盘分区表添加了 MSR 分区,有什么办法挽回吗?数据少量损毁可以接受

两个数据硬盘都没有进行分区,整盘格式化为 ext4 在使用,diskgenius 搜索已丢失分区表可以找到未格式化的 ext4 分群,起止柱面为 0 和最大 win10 创建的 MSR 分区起止柱面 0 到 2 共 16Mb ,这个分区内的数据可能已经损坏了

因为全盘格式化使用,diskgenius 无法保存 GPT 分区表 [磁盘的首、尾部分没有转换到 GUID 分区表所必须的空间(除了 MBR 扇区外还需要各 33 个扇区)。请先删除分区或者对分区进行调整后再转换] ,也无法调整分区大小后进行转换

求助,紧急啊,大的为数据盘,小的为数据备份盘,两给一起没了!

2177 次点击
所在节点    程序员
35 条回复
ryd994
2022-04-06 01:53:44 +08:00
@WXZhao 你都没分区,为什么用 fidsk ?我们理理事情经过:
1. 你误用 Windows 安装程序,给硬盘加了个 GPT 分区表,覆盖了 ext4 super block ,同时 GPT 自动在磁盘末尾加了个备份分区表
2. 按照论坛的建议,你用 fsck 和备用 super block 恢复了主 super block
3. 你又用 fdisk ,从备用 GPT 表恢复了主 GPT 表。这是不是又把 super block 给覆盖掉了?
WXZhao
2022-04-06 02:11:38 +08:00
@ryd994 我终于被敲醒了, 我本来就没分区表:笑哭:

那只有最后的问题了, fsck 恢复 super block 后再重启怎么挂载呀? 重启手动 mount 也会出现 mount: /home/wxz/Data: wrong fs type, bad option, bad superblock on /dev/sdb, missing codepage or helper program, or other error.
yjd
2022-04-06 02:23:25 +08:00
dg 遇到文件系统坏的情况下搜索确实挺渣的,搜出来一堆重命名的文件,你都分不清楚。
所以我的经验,搜索丢失数据一般用 EaseUS Data Recovery Wizard Technician 文件结构基本都能原样保留。
ryd994
2022-04-06 03:16:52 +08:00
@WXZhao 感觉是开头的哪个 magic byte 被 GPT 覆盖了。但是又不属于文件系统结构,所以没有被修复。
DiskGenius 之类的工具看看分区的 magic byte ?
mingl0280
2022-04-06 07:56:14 +08:00
@WXZhao 没辙了,你干掉的一部分很可能是有数据的。
你要是之前建了 GPT 分区表再写的,因为 GPT 分区表使用的空间被保留了反而能把数据区给救回来。现在你是裸分区直接用的,开始部分肯定挂了。
LaTero
2022-04-06 08:30:31 +08:00
@WXZhao fsck non-continguous 没事的,不是损坏的意思,相当于文件碎片
WXZhao
2022-04-06 12:07:04 +08:00
@yjd 谢谢
WXZhao
2022-04-06 12:14:27 +08:00
@mingl0280 那有什么办法能排查哪些文件又损坏吗?很少量的还是可以接受的(cp 备份了一个盘, 好像没有发现什么问题)
WXZhao
2022-04-06 12:23:20 +08:00
@ryd994 diskgenius 看到的东西不太懂, 看不来要怎么做... 我觉得现在可能并没有数据丢失? fsck 后进 lost+found 里面是没有文件的, 这种情况下是不是先把文件转移再重做硬盘更稳妥一些呢?

root@WXZ-Ubuntu20:/home/wxz/Backup/lost+found# ls -alh
total 20K
drwx------ 2 root root 16K 9 月 9 2019 .
drwxr-xr-x 7 wxz wxz 4.0K 4 月 5 23:53 ..
mingl0280
2022-04-06 15:50:13 +08:00
@WXZhao 找丢失的文件可能难度比较大,不过你既然都把分区的文件 cp 出来了……那就说明你运气好。你先用 dd 拷到另外一个盘做个镜像,剩下的就是重建引导了……
WXZhao
2022-04-06 17:02:15 +08:00
@mingl0280 听到运气好感觉安心很多了:) 但还是有点问题要请教一下, 感激不尽!
0, 运气好是指的 fsck 后 lost+found 里为空吧, 这个能确信没有文件受损吗?
1, 比如 e2fsck + mount 的 1t 备份盘, 里面最主要的就是 5 个 tgz 压缩包, 尽管现在都成功 cp 出来了, 但我之前并没有保存 hash, 那这些文件是否有可能受损呢?
2, 现在 cp 已经成功了还要 dd 拷贝再重建的目的是恢复数据? 数据拷贝出来后格式化会不会更稳妥呢?
WXZhao
2022-04-06 17:22:05 +08:00
@mingl0280 我再想了想, 这里指得是用 dd -if=/dev/sda -of=/path/to/file.img 把所有的数据一起拷贝为镜像文件, 再 parted /dev/sda, 建立 /dev/sda1, 然后 dd -if=/path/to/file.img -of=/dev/sda1 完整恢复? 应该比我傻傻的 cp 要快很多, 但暂时我找不到能存 1t 和 4t 镜像文件的硬盘了...
mingl0280
2022-04-06 23:34:06 +08:00
@WXZhao dd 拷的可能带分区表,cp 有可能部分文件拷不出来。如果拷完引导不了建议检查 fstab……
WXZhao
2022-04-06 23:52:31 +08:00
@mingl0280 谢谢! 我也有点搞清楚了, 现在测试了一下盘里的 gz 压缩包(几乎等同所有数据), 解压都没有报错, 我更肯定数据没有问题了:)
mingl0280
2022-04-07 04:40:56 +08:00
@WXZhao 那你直接 dd+fsck 完了就应该可以启动了,不要折腾其它的……

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

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

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

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

© 2021 V2EX