我使用 Testdisk 恢复已删除的分区以重写分区表。但此后,Windows 8 拒绝启动。启动时,我看到一个蓝屏,显示错误代码 0xc0000225,之后 F8 没有任何反应。
我尝试使用 Windows 安装 CD 中的启动修复来修复该问题,但未能解决问题。我还尝试在控制台中使用以下命令:
bootrec /scanos
bootrec /rebuildbcd
bootrec /fixmbr
bootrec /fixboot
然而这也没有解决问题。
该问题还阻止我启动恢复分区,出现与上述相同的错误。
GRUB 也出问题了,现在显示
error: invalid filesystem
并启动 grub 救援提示。
幸运的是,rEFInd 仍然有效,这使我能够启动我的 Mint 系统。从 rEFInd 运行时,Windows 引导加载程序不起作用
运行启动修复不能解决问题。
我还尝试在我的 Windows 操作系统分区上设置启动标志。
重写分区表也会清除 BIOS 中的启动选项,所以我必须手动将它们重新添加回去。
我不能 100% 确定原始分区表类型是什么。Testdisk 默认为 EFI/GPT,所以我就选择了它。
删除的分区是 Linux 分区之一。它已成功恢复。
Windows 分区似乎没有问题,因为我仍然可以从 Mint 访问它们。
当前分区结构如下所示:
P MS Data 2048 206847 204800 [SYSTEM]
FAT32, 104 MB / 100 MiB
P MS Data 206848 2050047 1843200 [Recovery]
NTFS, 943 MB / 900 MiB
P MS Data 2312192 783003647 780691456 [OS]
NTFS, 399 GB / 372 GiB
P MS Data 783003648 783720447 716800
NTFS, 367 MB / 350 MiB
P MS Data 783720448 1645320191 861599744 [DATA]
NTFS, 441 GB / 410 GiB
P MS Data 1645320192 1703913471 58593280
EXT4 Large file Sparse superblock Recover, 29 GB / 27 GiB
P Linux Swap 1703913472 1719537647 15624176
SWAP2 version 1, 7999 MB / 7628 MiB
P MS Data 1719537664 1911560191 192022528
EXT4 Large file Sparse superblock Recover, 98 GB / 91 GiB
P MS Data 1911560192 1953523711 41963520 [Restore]
NTFS, 21 GB / 20 GiB
第二个 ext4 分区是我恢复的分区。
我可能可以通过刷新 grub 来解决该问题,但是我暂时不理会它,以帮助诊断问题。
这确实令人困惑不解。
编辑:我怀疑分区表的类型可能是错误的,也许它应该是 MBR 或混合的。
答案1
好吧,我终于解决了。显然,Windows 8 需要在 OS 分区之前有这个 Microsoft System Reserved 分区。testdisk 无法识别此分区,因此删除了它。我根本不知道它还在那里。这也导致 grub 出现一些问题,可能是因为分区数量发生了变化。
我通过启动 Windows 救援磁盘并在命令提示符中使用以下命令重新创建了 MSR 分区。
diskpart
create partition msr
请注意,这只能正常工作,因为我的 MSR 所在的空间是磁盘上唯一未分配的空间。如果您的磁盘分区不同,您可能需要参考文档。
我还发现在 Windows OS 分区上设置启动标志也会阻止 Windows 启动。我改为将启动标志放在 SYSTEM 分区上。