bootmgr 中有多个 nt52 条目

bootmgr 中有多个 nt52 条目

我有一台装有 Windows XP、Server 2003 R2 和 Server 2008 R2 的机器。

目前,bootmgr 有一个用于 Server 2008 R2 的条目和一个用于 ntldr 的条目,然后进入 ntldr boot.ini 菜单。

是否可以在两个分区上添加两个不同的 nt52 条目,以便我可以从 bootmgr 菜单访问所有三个操作系统?

现在,Server 2008 和 XP 位于扩展分区上的逻辑驱动器中,但(我认为)如果需要,我可以将它们映像到基本分区上。

答案1

通常在 BCD(Vista/Windows7/Longhorn 引导加载程序)中,对于您想要引导的所有基于 ntldr 的操作系统,您总共只需要一个条目。当 BCD 将控制权移交给 NTLDR 时,NTLDR 使用 boot.ini 提供一个列表,该列表可以且应该包含您想要引导的所有基于 NT 的操作系统。

例如

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows XP"
multi(0)disk(0)rdisk(0)partition(3)\WINNT="Windows Server 2003"

简而言之:基本上,您有一个 BCD/Vista/Windows 7 启动菜单,其中有一个条目可让您切换到 NTLDR/XP/Server 2003 启动菜单。基于 Vista/2008 的条目显示在 BCD 启动菜单中,基于 NT/XP 的条目显示在 NTLDR 菜单中。并且您可以选择在 BCD 列表中加载 NTLDR 菜单。

更简短:您只需要在 bootmgr 中为 NTLDR 添加一个 nt52 条目。将所有其他基于 nt52 的操作系统放入该条目的 BOOT.ini 中。Boot.ini 可以使用多磁盘 rdisk 分区格式处理在不同磁盘/卷上启动各种基于 n​​t52 的操作系统。

答案2

编辑:这不起作用


我使用 EasyBCD 为第二个分区添加了一个 NTLDR 条目。
当我重新启动时,选择该条目会出现 NTLDR 未找到错误。
我将 NTLDR 和 boot.ini 复制到该分区,条目成功了,但仍然从系统分区读取 boot.ini。

警告:极其危险!

如果我真的想这样做,我可以在十六进制编辑器中打开 NTLDR 的第二个副本(在第二个分区中),并将对 boot.ini 的引用更改为例如 boXP.ini。然后我可以在系统分区中创建一个 boXP.ini,并只为其添加 XP 条目。

当然,如果 ntldr 进行完整性检查,这根本不起作用。
编辑:我在虚拟机中尝试了此操作,当我重新启动到具有修改后的 NTLDR 副本的分区时,它显示,NTLDR is corrupt. The system cannot boot.

这并不像听起来那么危险,因为实际的系统分区将保留其原始的 NTLDR,并且具有默认为 Server 2003 且超时时间非常短的 boot.ini。

即便如此,我还是愿意做一些更理智的事情。

相关内容