多系统启动的配置操作本身并不复杂,但一旦步骤顺序出错,后续所有努力都可能白费。Windows 11 默认将引导菜单隐藏,当你想要调整系统启动顺序或更改默认启动项时,连菜单的踪影都看不到——这并非你操作有误,而是系统策略主动锁死了相关功能。必须先解除锁定,才能进一步调整。
启用标准引导模式并开放 BCD 编辑权限
Windows 11 默认采用 minimal 引导策略——这一机制不仅把你的启动菜单隐藏得严严实实,还直接封锁了对 displayorder 这类关键参数的写入权限。如果跳过这一步直接执行排序命令,根本无法生效。
操作极为简单:以管理员身份打开 Windows Terminal(PowerShell),输入 bcdedit /set {default} bootmenupolicy standard,回车执行即可。
需要注意的是,此操作不可逆转。如果后续误设回 minimal,菜单会再次消失,届时你仍需重新执行这条命令才能恢复显示。
接着执行 bcdedit /set {bootmgr} displaybootmenu yes,强制让菜单显现出来。再设置一个菜单停留时间,例如 8 秒:bcdedit /timeout 8。完成。
查看并整理所有引导项的唯一标识符
每个引导项都拥有专属的 identifier,格式如同:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}。调整顺序时依赖的是这个标识符,而非系统名称。为什么?因为名称可能重复,也可能中英文混杂,若依据名称操作,系统极易识别错误。
首先执行 bcdedit /enum firmware,将固件级别的所有引导项列表展示出来——Windows Boot Manager、Ubuntu、UEFI USB 设备等,都会一一列出。
接着执行 bcdedit /enum {current},确认当前 Windows 启动项的 identifier,并检查它是否已在 firmware 列表中注册。
把你希望置顶的项(例如 Ubuntu)、当前 Windows 项以及其他项的 identifier 逐个复制,用空格分隔。举例:{cbd97ab5-8a52-11ea-bc55-0242ac130003} {default} {fwbootmgr}。这一步务必认真核对,identifier 一个字符都不能出错。
重排引导菜单显示顺序
这里需要明确一个概念:displayorder 控制的是开机菜单中各选项的出现次序,而非启动优先级。它仅决定“你开机时第一眼看到谁”,而默认启动哪个系统,则交由后续的 /default 参数决定。两者必须配合使用才能达到预期效果。
有两种操作方法。方法一,将指定项整体置顶:执行 bcdedit /displayorder {identifier-A} {identifier-B} {identifier-C} /addfirst,把刚才整理好的 identifier 字符串替换进去。这样会将它们整体移动到最前面,其余选项自动向后顺延。
方法二,精确指定完整顺序:执行 bcdedit /set {bootmgr} displayorder {identifier1} {identifier2} {identifier3},将完整的顺序字符串填入,顺序必须严格符合你希望的菜单从上到下的排列方式。
注意:/displayorder 命令不会验证 identifier 是否存在。如果输入错误,菜单可能变成空白或直接报错。务必确保每个 identifier 都来自 bcdedit /enum firmware 实际输出的数据。
设置默认启动项
displayorder 排好之后,如果 /default 仍然指向旧系统,那么电脑开机时依旧会自动进入你不想进入的系统。这就像一家餐厅,菜单已经排好顺序,但老板默认往后门走,客人还是会进错门。
第一步:确认目标系统的 identifier。回到 bcdedit /enum firmware 的输出中,找到你想设为默认的系统条目,复制它的 identifier。
第二步:绑定默认启动项。执行 bcdedit /default {identifier},将复制的 identifier 填入大括号内。
第三步:验证设置是否生效。执行 bcdedit /enum active,检查 Active Boot Entry 是否已更新为目标 identifier,同时确认 displayorder 字段的顺序与你设定的完全一致。

