我有 Ubuntu 和 Windows 10 的双启动系统。在过去的 2 年左右的时间里,我只启动过 Windows 几次。我让 Windows 保持登录状态一整夜,然后它决定更新。第二天早上,我收到了 grub 救援。
按照此处类似问题的说明,我检查了每个分区,寻找使用 Linux 的迹象ls
,然后ls (hd#,msdos#)
检查了显示的每个分区。没有。然后,我使用可启动的 Windows USB 驱动器进入命令提示符并尝试了以下操作。我不记得我是否先运行了bcdedit
或bootrec
命令。
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
bootrec /fixmbr
bootrec /fixboot
bootrec /rebuildbcd
这并没有解决任何问题,我使用 Windows 启动修复工具进入 Windows。进入 Windows 后,我创建了一个可启动的 Ubuntu USB 驱动器,并启动到实时 Ubuntu 会话。我运行了 Boot-Repair 实用程序的推荐功能,但愚蠢地没有保存 Pastebin 链接。它成功完成,但没有修复 Ubuntu 启动分区,也破坏了启动 Windows 的能力。我再次使用可启动的 Windows USB 驱动器运行启动修复工具以重新进入 Windows。
从这里我运行了 testdisk 实用程序,它看到了分区,但无法恢复它。Testdisk 分区表备份:
#1611976403 Disk /dev/sdb - 500 GB / 465 GiB - CHS 60801 255 63
1 : start= 2048, size= 1124352, Id=07, *
2 : start= 1126400, size=346499072, Id=07, P
3 : start=347625472, size=104857600, Id=83, P
4 : start=452483072, size=524288000, Id=05, E
(我最初为下面的每个步骤都制作了单独的截图,但后来意识到如果没有足够的声誉点数,我就不能发布超过 8 个链接,所以这里是整个相册 https://i.stack.imgur.com/iIrlc.jpg)
Windows 磁盘管理器将其视为可用空间。(见屏幕截图)
Gparted 在加载时出现“无效分区表-错误签名”错误。如果我忽略此错误,它会显示未知/未分配的空间。(见屏幕截图)
fdisk -l
返回类似结果(见截图)
如果我理解正确的话,sbd5 是过去移动分区的结果吗?TestDisk 也出现“硬盘似乎太小”错误(见屏幕截图)。
磁盘工具显示扩展分区 4 以及可用空间。但是,大小不正确。Windows 磁盘管理、GParted 和 fdisk 正确显示两个无法访问的分区的大小分别为 250GB 和 50GB,Ubuntu 磁盘工具显示 268GB 和 58GB。(见屏幕截图)
TestDisk Analyze显示: https://i.stack.imgur.com/UckRi.jpg
TestDisk 快速搜索导致无法恢复的分区,并出现硬盘似乎太小的错误(过去调整分区大小的残留?):
继续下一个屏幕:
快速搜索结果:
我可以查看 FAT32 LBA 和 Linux 分区中的文件,但 Linux 分区显然缺少很多文件。
下一个屏幕显示“未找到或未选择要恢复的分区。”经过更深入的搜索后,我看到与快速搜索相同的“硬盘似乎太小”、“以下分区无法恢复”,以及有关每个磁柱的磁头数量的警告(上面的屏幕截图),然后:
第一个 Linux 分区与快速搜索中显示的相同,其他分区都显示“未找到文件,文件系统可能已损坏”。
如果我转到几何并按照建议将磁头数量更改为 128,我会在分析中看到以下内容。
然后通过快速搜索和深度搜索获得与之前相同的结果,除了有关磁头/气缸数量不匹配的警告。
我重新启动了 Ubuntu 实时实例并重新运行了 Boot-Repair,但这次只运行了 Boot-Info 选项,因为我认为再次运行 boot-repair 只会产生与上述相同的结果(破坏 Windows 启动并不得不重新运行 Windows 修复实用程序 - 可能会使情况变得更糟?),但这次我保存了Pastebin 日志。
此时我不知道还能尝试什么。我完蛋了吗?我没有用 TestDisk 对分区表进行任何更改,也没有用 fdisk 进行任何更改。有没有办法恢复 Linux 分区或至少恢复其中包含的部分数据?我能够使用 TestDisk 创建有问题的 250GB 分区的映像。