添加启动项
在 Windows 中自定义启动选项的一种方法是为操作系统添加新的启动项。 启动项是一组选项,用于定义操作系统或可启动程序的加载配置。
操作系统可以有多个启动项,每个条目都有一组不同的启动参数。 安装操作系统时,Windows Installer 会创建一个标准启动项,可以通过编辑启动选项为操作系统创建其他自定义启动项。
可以添加、删除和更改 Windows Installer 创建的启动项中的选项。 但是,谨慎的做法是保留标准条目,并添加一个单独的自定义条目。
若要添加启动项,请复制现有启动项,然后修改副本。
本主题适用于 Windows Vista 及更高版本、Windows Server 2008 及更高版本以及 Windows 恢复环境。
注意
需要管理权限才能使用 BCDEdit 来修改 BCD。 使用 BCDEdit 命令更改某些启动项选项可能导致计算机无法运行。
添加一个新的启动项
在 Windows 中,可以使用 BCDEdit 修改启动选项。 若要添加新启动项,请打开具有提升权限的命令提示符窗口(选择并按住(或右键单击)命令提示符,然后从快捷菜单中选择以管理员身份运行。
注意 在设置 BCDEdit 选项之前,可能需要在计算机上禁用或挂起 BitLocker 和安全启动。
创建新启动项的最简单方法是复制现有条目,然后根据需要对其进行修改。 为此,请使用带有 /copy 选项的 BCDEdit。 例如,在以下命令中,BCDEdit 复制上次用于启动 Windows 的 Microsoft Windows 启动项,标识为 {current},并创建新的启动项。 /d 说明选项将 DebugEntry 指定为新启动项的名称。
bcdedit /copy {current} /d "DebugEntry"
如果命令成功,BCDEdit 将显示类似于以下内容的消息:
The entry was successfully copied to {49916baf-0e08-11db-9af4-000bdbd316a0}.
当复制出现在启动菜单上的启动加载程序条目时,该副本会自动添加为启动菜单的最后一项。
前一条消息中的 GUID(出现在大括号 {}
之间)是新启动项的标识符。 /copy 选项为启动项创建新的 GUID。 可以在所有后续的 BCDEdit 命令中使用标识符来表示条目。
如果命令失败,请确保你在具有管理员权限的命令提示符窗口中运行,并且所有命令参数拼写正确,包括 {current} 周围的大括号。
注意
如果使用 Windows PowerShell,必须使用引号将启动项标识符引起来,例如:“{49916baf-0e08-11db-9af4-000bdbd316a0}”或“{current}”。
还可以使用 /create 选项添加启动项。 此方法比较困难,因为需要提供有关启动项类型的其他信息。 还需要指定 /application、/inherit 或 /device 选项。 例如,以下内容创建了一个名为“My Windows Vista”的新操作系统启动项:
bcdedit /create /d "My Windows Vista" /application osloader
当使用 /create 选项时,新的启动加载程序条目不会自动添加到启动菜单中。 /create 选项为启动项创建新的 GUID。 必须使用 /displayorder 选项将新的启动项添加到启动菜单。 可以按任意顺序放置启动加载程序条目。
有关 /create 命令参数的信息,请在命令提示符窗口中键入 bcdedit /? /create。
编辑启动菜单
在 Windows 中,新的启动加载程序条目不会自动添加到启动菜单中。 可以使用 /displayorder 选项设置启动管理器在多启动菜单上显示启动项的顺序。 命令的语法如下:
bcdedit /displayorder {ID} {ID} ...
可以按任意顺序放置启动加载程序条目。
ID 是启动项的 GUID 或保留标识符,例如 {current}。 用空格将每个标识符隔开。 务必包含大括号 ({})。
例如,若要在 {current} 条目之后将 DebugEntry 启动项添加到启动菜单,请使用以下命令(请记住在 Windows PowerShell 中使用 "{guid}"
):
bcdedit /displayorder {current} {49916baf-0e08-11db-9af4-000bdbd316a0}
还可以使用选项 /addlast, /addfirst 和 /remove 对菜单中的项目进行排序和删除。 例如,以下命令将 DebugEntry 启动项添加为菜单上的最后一项:
bcdedit /displayorder {49916baf-0e08-11db-9af4-000bdbd316a0} /addlast
移除和删除启动项
以下命令从启动菜单中移除 {49916baf-0e08-11db-9af4-000bdbd316a0} 启动项。
bcdedit /displayorder {49916baf-0e08-11db-9af4-000bdbd316a0} /remove
使用 /displayorder 和 /remove 选项删除指定的启动项时,该启动项将从启动菜单中移除,但仍位于 BCD 存储中。 若要从启动菜单和存储中完全移除启动加载程序条目,请使用 /delete 选项。
bcdedit /delete {49916baf-0e08-11db-9af4-000bdbd316a0}
若要验证显示顺序是否正确,请使用以下命令:
bcdedit
当你在没有其他参数的情况下键入 bcdedit 时,BCDEdit 会按照它们在菜单中出现的顺序显示启动管理器条目和启动加载程序条目。
Windows 启动管理器条目还包括启动菜单显示顺序,如以下示例所示。
## Windows Boot Manager
identifier {bootmgr}
device partition=C:
description Windows Boot Manager
locale en-US
inherit {globalsettings}
isolatedcontext Yes
default {current}
resumeobject {18b123cd-2bf6-11db-bfae-00e018e2b8db}
displayorder {current}
toolsdisplayorder {memdiag}
timeout 30
## Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \Windows\system32\winload.exe
description Microsoft Windows
locale en-US
inherit {bootloadersettings}
osdevice partition=C:
systemroot \Windows
resumeobject {d7094401-2641-11db-baba-00e018e2b8db}
nx OptIn
## Windows Boot Loader
-------------------
identifier {18b123cd-2bf6-11db-bfae-00e018e2b8db}
device partition=C:
path \Windows\system32\winload.exe
description Debugger Boot
locale en-US
inherit {bootloadersettings}
osdevice partition=C:
systemroot \Windows
resumeobject {d7094401-2641-11db-baba-00e018e2b8db}
nx OptIn
debug Yes