不幸的是,我在这里有很多事情要做。我正在尝试解决这些问题,但发现自己陷入了困境。我认为标题中的问题现在是我的问题,因为我已经能够修复我的 EFI 启动分区,从我未经训练的眼睛来看,事情似乎是正确的,但我注意到我的 Windows 分区在磁盘部分显示为“未知”,也许这就是为什么我的 win7 现在永远卡在 Windows 启动徽标上。
由于我是新用户,所以我不能发布超过两个链接,因此我编辑了 URL 以便可以发布它们。
我最初的问题发布在这里(作为背景) -
https://answers.launchpad.net/ubuntu/+question/293607
从那时起,我做了很多事情,比如运行 NeoSmart 的 Easy Recovery Essentials,当然还有 Windows 恢复启动修复,以及 16.02 LTS 中的 ubuntu 启动修复。简要说明一下,14.02 LTS 我在启动时看到 EFI 错误,所以我在想,除非实时 CD 在 EFI 模式下正确启动,否则启动修复可能无法正确修复问题。恢复基本功能也是如此,当我启动 CD 时,它不会给我启动 CD 的 UEFI 选项,所以也许这对我的 EFI 情况也不起作用?我的 Windows 7 在启动时确实显示 UEFI,我确实尝试在 Windows 恢复 cmd 中执行所有 bootrec.exe 命令。我唯一无法执行的部分是本指南中的 bootsect.exe /nt60 SYS /mbr 命令 -
https://neosmart.net/wiki/fix-uefi-boot/#Fix_UEFI_Boot_in_Windows_7
因为它抱怨说我必须处于 bios 模式/非 EFI 模式才能执行此操作。当我启动没有 UEFI 的 win7 时,win7 抱怨我无法进入恢复环境,因为它需要 EFI。如果你这样做,那该死,如果你不这样做,那也该死 :) 但我的理解是 EFI 不使用 MBR,所以我不确定这是否是一个相关的修复?
我从无法看到操作系统,到通过更改位于此处的 Windows 分区的 ID 来解决该部分问题 -
现在 Windows 恢复环境可以看到我的操作系统,但它的位置在第一个屏幕上是“(未知)”,在磁盘部分的“类型”列中是“未知”。
我最近的启动修复尝试位于此处 -
尝试修复之前的启动摘要信息如下 -
我有点好奇,为什么我的 sda3(windows 安装分区)显示为 EFI 分区?在 Gparted 中,它显示为 ntfs 分区,我当然已经在其上运行了所有 chkdsk 和其他工具,以确保它没有任何问题。
我认为更改分区 ID 可能会造成问题,但当我运行 bootrec /rebuildbcd 时,我认为它应该已经修复了问题?当我第一次执行此操作时,它确实看到了操作系统,但运行 bootrec /rebuildbcd 时却找不到操作系统。然后我更改了分区 3 上的 ID,它找到了它。
我还尝试过在更改属性后将 bcd 重命名为 bcd.old,然后再次尝试 bootrec /rebuildbcd,但它识别出“0”个 Windows 安装,并且我注意到在 Windows 恢复环境中没有安装 Windows 操作系统。也许这就是问题所在?它看到了操作系统,因为在从启动 CD 单击“修复 Windows”后的第一个屏幕上,它看到了操作系统(Windows 7 专业版),但只是状态位置(未知)。
我按照本指南完成了所有操作 -
http://pcsupport.about.com/od/fixtheproblem/ht/rebuild-bcd-store-windows.htm
也许需要先安装才能修复?不确定。我为此而发疯 :(
这是磁盘部分当前显示的图片 -
我尝试过的最后一次 Windows 修复尝试说无法修复系统,在诊断和修复详细信息下,我看到“补丁阻止系统启动。”在“软件安装日志诊断”部分下(还有很多,但它们都是错误 0x0,似乎没有发现任何问题)
System Disk =\Device\Hardisk0
Windows directory = \\?\GLOBALROOT\Device\HardiskVolume3\Windows
如果你们需要我生成任何信息,请告知该怎么做,我将提供尽可能多的诊断信息。如果有人想知道,分区上的数据是否正常,我可以在 ubuntu 或其他资源管理器中安装和访问我的 Windows 分区并传输数据等。
答案1
这是未知的,因为您输入了未定义的分区类型 GUID。
您输入的内容:
C12A7328-F81F-11D2-BA4B-00A0C93EC930
EFI 系统分区的正确类型 GUID 是:
C12A7328-F81F-11D2-BA4B-00A0C93EC93B
(与结尾处0
相比)B
无论如何,您都应该使用以下类型 GUID:
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
这是 Microsoft Windows 中的基本数据分区。
由于您的磁盘是 GPT 磁盘,因此您必须使用 UEFI 启动。Windows 没有能够传统启动 GPT 磁盘上的 Windows 安装的启动代码。
对于 UEFI 启动,bootsect
和bootrec
几乎没用(除了可能bootrec /rebuildbcd
),因为 UEFI 启动纯粹基于文件(EFI 二进制文件/可执行文件),而bootsect
/bootrec
仅处理 MBR/启动扇区上的启动代码。
如果bootrec /rebuildbcd
将分区 3 恢复为基本数据分区后仍然没有帮助,那么您可以考虑bcdboot
。您可能希望在使用mountvol drive: /s
(drive:
可以是任何可用的驱动器号)安装 ESP(分区 1)后先删除 ESP(分区 1)下的 \EFI\Microsoft,或者如果它不与 Ubuntu 共享,则只需重新格式化它(FAT32)。然后,运行:
bcdboot X:\Windows
X:
当前环境下分区 3 的驱动器号在哪里(因此请先使用diskpart
或 so 检查)。
PS 实际安装(在分区 3 上)很有可能已损坏或混乱。我认为如何修复它取决于您在启动时看到的错误(在您重新安装 Windows 启动管理器并从中构建新的 BCD 存储之后bcdboot X:\Windows
)。