修复 mbr 中的单个条目

修复 mbr 中的单个条目

我使用 EasyBCD 来管理我的三重启动:(1) Windows Server 2008 R2、(2) Windows 7 Professional 和 (3) Ubuntu Linux。在尝试更改启动菜单的顺序时,我最终丢失了 Windows Server 条目。幸运的是,我有一个启动菜单备份(.bcd 文件),它允许我使用 EasyBCD 恢复启动菜单。

但是,当我在启动菜单中选择 Windows Server 选项时,Windows Server 恢复环境就会启动。因此我必须选择语言/键盘布局/等等。然后我有 3 个选项,如下图所示。

系统恢复选项

我的目标是修复一个损坏的 Windows Server 条目从我的启动菜单中,而不会弄乱或丢失另外两个。

我猜下一步是恢复控制台(命令提示符),并且我需要 bootrec.exe。但是查阅此页面时:使用 Windows 恢复环境中的 Bootrec.exe 工具排除故障并修复 Windows 中的启动问题(大约一半的位置有一个链接显示 bootrec.exe 选项)我变得不确定了。

该页面列出了 bootrec.exe 的 4 个选项:

  • /修复Mbr
  • /修复引导
  • /ScanOs
  • /RebuildBcd

我需要什么选项来修复启动菜单的服务器条目?

提前致谢,

桑德

PS 所有三个操作系统都位于同一物理磁盘上(3 个不同的分区)。磁盘布局:

  1. 系统保留(主分区,100 MB)
  2. Windows 7(主分区,150 GB)
  3. Windows Server 2008(主分区,150 GB)
  4. 扩展分区(Linux 分区(/、/swap、/home),150GB + 数据分区,150 GB)

PPS 这是我在 Windows 7 安装上使用 EasyBCD(详细/调试模式)时显示的启动菜单。

Windows Boot Manager
--------------------
identifier              {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device                  partition=\Device\HarddiskVolume1
description             Windows Boot Manager
locale                  en-US
inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
default                 {93f90e43-cae8-11df-b05a-c9177e705936}
resumeobject            {93f90e3e-cae8-11df-b05a-c9177e705936}
displayorder            {93f90e43-cae8-11df-b05a-c9177e705936}
                        {93f90e3f-cae8-11df-b05a-c9177e705936}
                        {93f90e46-cae8-11df-b05a-c9177e705936}
toolsdisplayorder       {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout                 10
displaybootmenu         Yes

Windows Boot Loader
-------------------
identifier              {93f90e43-cae8-11df-b05a-c9177e705936}
device                  partition=\Device\HarddiskVolume3
path                    \Windows\system32\winload.exe
description             Windows Server 2008 R2 - Standard
locale                  en-US
inherit                 {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
recoverysequence        {93f90e44-cae8-11df-b05a-c9177e705936}
recoveryenabled         Yes
osdevice                partition=\Device\HarddiskVolume3
systemroot              \Windows
resumeobject            {93f90e42-cae8-11df-b05a-c9177e705936}
nx                      OptOut

Windows Boot Loader
-------------------
identifier              {93f90e3f-cae8-11df-b05a-c9177e705936}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Windows 7 - Professional
locale                  nl-NL
inherit                 {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
recoverysequence        {93f90e40-cae8-11df-b05a-c9177e705936}
recoveryenabled         Yes
osdevice                partition=C:
systemroot              \Windows
resumeobject            {93f90e3e-cae8-11df-b05a-c9177e705936}
nx                      OptIn

Real-mode Boot Sector
---------------------
identifier              {93f90e46-cae8-11df-b05a-c9177e705936}
device                  partition=C:
path                    \NST\AutoNeoGrub0.mbr
description             Ubuntu 10.04 - Lucid Lynx

答案1

您可以从 Windows 7 命令提示符中修复此问题,而不必使用第三方工具。请按照以下步骤操作,然后告诉我发生了什么。

登录 Windows 7 后,检查 Windows Server 2008 分区的驱动器号是什么。

在本文中,假设 Windows Server 2008 驱动器的驱动器号为 X:。但是,您必须将 X: 替换为实际的驱动器号。

  1. 在 Windows 7 中,打开命令提示符。

  2. 键入以下命令并按回车键。

bcdedit /set {93f90e43-cae8-11df-b05a-c9177e705936} 设备分区=X:

在上面我使用 X 的命令中,你必须将其替换为 Windows Server 2008 分区的实际驱动器号。关于{93f90e43-cae8-11df-b05a-c9177e705936},我只是从你在问题中发布的 EasyBCD 启动菜单中复制了它。它是 BCD 存储中的 Windows Server 2008 Bootloader 对象的标识符。

答案2

如果你是高级用户,你可以使用可视化 BCD 编辑器。该工具允许通过双击轻松编辑每个引导加载程序元素。我会在 VisualBCD 中检查是否可以在路径上找到 winload.exe(将 Server 2008 映射到驱动器号后)。SystemRoot 路径也应该可以访问 - drive_letter:\windows。

还要检查 Server 2008 加载程序和其恢复加载程序的驱动器/路径是否存在差异。Visual BCD 显示并可以编辑 BCD 中存在的所有对象。

如果你还不是那么高级:

  1. 启动 Win 7

  2. 将 Server 2008 的驱动器临时映射到任意驱动器号。

  3. 单击 Visual BCD 中列出的 Server 2008 加载器。

  4. 右击并选择“删除对象”来删除加载器。确认。

  5. 再次右键单击并选择“创建缺失的 Windows 加载器”。确认。

这将导致添加 Windows 7/Vista 类型的新加载器。根据需要重命名新加载器的描述 - 例如“Server 2008”

重新启动 - 您应该能够选择 Server 2008 并启动它。

有关向 Server 2008 添加高级修复选项,请参阅双重启动修复网页。


如果启动 Server 2008 时仍然出现错误,请使用恢复控制台上的系统文件检查“sfc.exe”。 证监会/扫描

如果报告错误,可以运行 sfc 多次(每次运行后重新启动)。

希望这可以帮助。

相关内容