必须先执行bcdedit /set {default} bootmenupolicy standard解除minimal策略限制,再用bcdedit /enum firmware获取各系统identifier,接着用bcdedit /set {bootmgr} displayorder {id1} {id2}重排顺序并设默认项,最后启用菜单和超时。

您在 Windows 11 中安装了多个操作系统(如 Windows 11 + Ubuntu、Windows 11 + Windows PE 或双 Windows 11),但开机后菜单不显示、默认系统错误、或各系统在引导菜单中排列顺序混乱,说明 Boot Configuration Data(BCD)中的 displayorder 未被主动设定,且当前可能仍处于 minimal 引导策略锁定状态——必须先解除限制,再按唯一标识符重排顺序。
启用标准引导模式并开放 BCD 编辑权限
Windows 11 默认启用 minimal 引导策略,它不仅隐藏菜单,还禁止对 displayorder 等关键字段写入。跳过此步直接执行重排命令将完全无效。
以管理员身份运行 Windows Terminal(PowerShell)→ 开始菜单搜索“Windows Terminal”,右键选择“以管理员身份运行”。
输入命令:bcdedit /set {default} bootmenupolicy standard → 按回车执行。
这一步不可逆:若误设为 minimal,菜单将彻底消失,必须再次执行本命令恢复。
接着输入:bcdedit /set {bootmgr} displaybootmenu yes → 回车,强制菜单可见。
最后设置菜单停留时间,例如 8 秒:bcdedit /timeout 8 → 回车生效。
查看并整理所有引导项的唯一标识符
每个引导项都有一个形如 {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} 的 identifier,它是重排顺序的唯一依据——名称(如“Ubuntu”或“Windows 11”)不可靠,多系统同名或中英文混杂时 GUI 会识别错乱。
执行命令:bcdedit /enum firmware → 回车后完整列出固件级引导项(含 Windows Boot Manager、Ubuntu、UEFI USB 设备等)。
再执行:bcdedit /enum {current} → 查看当前 Windows 启动项的 identifier,确认它是否已在 firmware 列表中注册。
【务必逐个复制好每个目标系统的 identifier,名称会变,identifier 才是唯一凭证】
把需要置顶的项(如 Ubuntu 的 identifier)、当前 Windows 项、其他项的 identifier 逐个复制下来,用空格分隔,例如:{cbd97ab5-8a52-11ea-bc55-0242ac130003} {default} {fwbootmgr}。
用 bcdedit 精确重排 displayorder
这是唯一能真正改变开机菜单中各系统出现先后顺序的方法,不依赖图形界面,所有 Win11 版本通用,且修改后无需重启即可验证部分参数是否写入成功。
第一步:以管理员身份运行 Windows Terminal(PowerShell)→ 开始菜单搜索“Windows Terminal”,右键选择“以管理员身份运行”。
第二步:执行 bcdedit /enum firmware → 回车后列出全部固件级引导项,每项末尾带大括号格式的 identifier(如 {cbd97ab5-8a52-11ea-bc55-0242ac130003}),【务必逐个复制好每个目标系统的 identifier,名称会变,identifier 才是唯一凭证】。
第三步:执行 bcdedit /set {bootmgr} displaybootmenu yes → 强制启用引导菜单显示;若跳过此步,后续重排顺序将不可见,因为菜单本身被禁用。
第四步:执行 bcdedit /timeout 8 → 将菜单停留时间设为 8 秒,确保有足够时间确认顺序是否生效。
第五步:执行 bcdedit /displayorder {ubuntu-id} {win10-id} {win11-id} /addfirst → 把希望排第一的 identifier 放最前,多个用空格分隔;该命令会将这组条目整体置顶,其余项自动后移。例如想让 Ubuntu 排首位,就把它对应的 identifier 写在最前面。
通过系统属性图形界面设默认项并控制菜单显示
该方法不改动 displayorder,但能指定默认启动系统,并决定菜单是否弹出——适合只想固定默认项、不关心其他系统在菜单里排第几的用户。
右键“此电脑”→“属性”→左侧“高级系统设置”→“高级”选项卡→“启动和故障恢复”区域点“设置”。
在“默认操作系统”下拉菜单中选中目标系统(如“Ubuntu on /dev/sda2”或“Windows 11 (C:\Windows)”)。
勾选“显示操作系统列表的时间”,并在右侧输入框填入 6 或以上数值;若此处为空或为 0,菜单将彻底隐藏,直接进入默认系统。
点击“确定”连点两次关闭窗口,重启后生效。
使用 msconfig 工具设默认值并启用菜单
msconfig 是最直观的图形入口,但它只能设置默认项和超时,不能调整多个系统的相对顺序,仅适用于两个系统且只需切换默认的场景。
按下 Win + R 组合键,打开“运行”对话框。
输入 msconfig 并按回车,启动系统配置工具。
切换至“引导”选项卡,等待操作系统列表完全加载。
在列表中单击选中您希望默认启动的系统(如 Windows 11 (C:\Windows) 或 Ubuntu on /dev/sda2)。
点击“设为默认值”按钮。
在“超时”数值框中输入目标秒数(如 6),控制菜单显示时长;若设为 0,则跳过菜单直接进入默认系统。
点击“应用” → “确定”,按提示重启电脑使设置生效。


















