我有一个使用 Windows 引导加载程序的多重引导设置,其中包含两个 Windows 7 系统的菜单项,以及一个GRUB。GRUB 反过来包含多个菜单项,但我认为这与此无关。我已将一个系统升级到 Windows 8。当我现在将另一个系统设置为默认系统时,我失去了启动菜单,并且失去了启动到其他系统的可能性。我已将 Windows 7 设置为默认系统,重新启动并获得 Windows 7,但我无法选择要启动到哪个系统。我可以运行它自己的BCD编辑将默认设置改回 Windows 8,再次重新启动后会再次显示启动菜单,但如何避免默认设置为 Windows 8?
这是我当前的启动设置。有什么配置错误吗?
C:\WINDOWS\system32>bcdedit
Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=F:
description Windows Boot Manager
locale nl-NL
inherit {globalsettings}
integrityservices Enable
default {current}
resumeobject {2f8b77f0-a30b-11e1-a9c6-a4bd8d37f662}
displayorder {current}
{2f8b77e3-a30b-11e1-a9c6-a4bd8d37f662}
{2f8b77ee-a30b-11e1-a9c6-a4bd8d37f662}
toolsdisplayorder {memdiag}
timeout 30
Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \WINDOWS\system32\winload.exe
description Windows 8
locale nl-NL
inherit {bootloadersettings}
integrityservices Enable
recoveryenabled No
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \WINDOWS
resumeobject {2f8b77f0-a30b-11e1-a9c6-a4bd8d37f662}
nx OptIn
bootmenupolicy Standard
Windows Boot Loader
-------------------
identifier {2f8b77e3-a30b-11e1-a9c6-a4bd8d37f662}
device partition=D:
path \Windows\system32\winload.exe
description Windows 7
locale nl-NL
osdevice partition=D:
systemroot \Windows
resumeobject {59616f59-a2ba-11e1-b73a-806e6f6e6963}
nx OptIn
pae Default
bootmenupolicy Standard
hypervisorlaunchtype Auto
detecthal Yes
sos No
debug No
Real-mode Boot Sector
---------------------
identifier {2f8b77ee-a30b-11e1-a9c6-a4bd8d37f662}
device partition=C:
path \grub\winloader\grub.boot
description Grub 2
答案1
billc.cn 的回答意外地给我指明了正确的方向。当我将默认启动项更改为GRUB,无需执行任何其他操作,我得到了旧的启动界面,启动会等待 30 秒才能加载 GRUB。这也是我希望 Windows 7 具有的行为。在查看差异时,为什么它适用于一个,而不适用于另一个,我发现:
Windows Boot Loader
-------------------
identifier {2f8b77e3-a30b-11e1-a9c6-a4bd8d37f662}
device partition=D:
path \Windows\system32\winload.exe
description Windows 7
...
bootmenupolicy Standard
这是假的。bootmenupolicy Standard
是新的 Windows 8 图形启动菜单。由于此菜单项适用于没有该菜单项的 Windows 7,因此应将其设置为bootmenupolicy Legacy
:
bcdedit /set {2f8b77e3-a30b-11e1-a9c6-a4bd8d37f662} bootmenupolicy Legacy
也可以采取以下方法:完全删除该值:
bcdedit /deletevalue {2f8b77e3-a30b-11e1-a9c6-a4bd8d37f662} bootmenupolicy
这似乎是 Windows 8 升级过程中出现的问题。它改变了两个都启动菜单项添加到新的图形菜单,但它应该只对正在升级的 Windows 执行此操作。
答案2
啊,我现在明白你的问题了。可能是 Windows 8 引导加载程序将控制权移交给 Windows 7 对应程序的速度太快了(也许如果你按住 F8 就可以看到它)。
我猜你可以将主引导程序更改为 Grub 并使用其链式加载功能。你必须\boot
在分离的系统分区上拥有两个 BCD 存储副本(即文件夹),并在 grub 配置文件中创建两个链式加载条目。这利用了 Windows 依赖 NTFS 分区的前几个扇区进行引导(而不是 MBR)的事实。
您必须使用工具(如 EasyBCD)来创建第二个 BCD 存储,因为上述引导扇区可能也需要更新。我建议您在 Win7 分区上创建第二个 BCD 并使用它来引导 Win7。
答案3
尝试易BCD。您可以选择默认操作系统以及更多功能以及备份和恢复选项!