导出和导入UEFI启动项列表,您可以使用 bcdedit 命令,并结合使用输出重定向来实现

导出和导入UEFI启动项列表,您可以使用 bcdedit 命令,并结合使用输出重定向来实现。以下是一个示例批处理脚本,演示如何导出和导入UEFI启动项列表:

导出UEFI启动项列表

Copy Code
@echo off
cls

echo Exporting UEFI boot entries...

bcdedit /enum firmware > UEFI_boot_entries.txt

echo UEFI boot entries exported successfully.

pause

将上述命令保存到一个批处理文件(例如 export_uefi_boot_entries.bat),然后运行它。它会将UEFI启动项列表导出到名为 UEFI_boot_entries.txt 的文本文件中。

导入UEFI启动项列表

要在另一台计算机上导入UEFI启动项列表,您可以使用以下批处理脚本:

Copy Code
@echo off
cls

echo Importing UEFI boot entries...

bcdedit /import UEFI_boot_entries.txt

echo UEFI boot entries imported successfully.

pause

确保将 UEFI_boot_entries.txt 文件与上述批处理文件放在同一目录中。然后运行批处理文件,它会导入UEFI启动项列表到当前计算机的引导配置中。

这样,您就可以在多台计算机之间快速同步管理UEFI启动项。请注意,您需要以管理员权限运行批处理脚本才能执行 bcdedit 命令。

 

bcdedit /?

BCDEDIT - 启动配置数据存储编辑器

Bcdedit.exe 命令行工具用于修改启动配置数据存储。
启动配置数据存储包含启动配置参数并
控制操作系统的启动方式。这些参数以前
位于 Boot.ini 文件中(在基于 BIOS 的操作系统中)或位于非易失性 RAM 项中
(在基于可扩展固件接口的操作系统中)。可以
使用 Bcdedit.exe 在启动配置数据存储中
添加、删除、编辑和附加项。

boot.ini 是一个特定于 Windows 操作系统的系统文件,它在引导过程中起着重要的作用。

  1. 作用

    • boot.ini 文件告诉操作系统引导程序(通常是 NTLDR 或 BOOTMGR)如何加载操作系统。它包含了操作系统的引导配置信息,例如可用的操作系统和它们所在的磁盘和分区。
  2. 为什么重要

    • boot.ini 是引导过程中的关键组成部分,如果它配置不正确,系统可能无法引导或引导到错误的操作系统版本。正确的 boot.ini 可确保系统在引导时找到正确的操作系统并启动。
  3. 结构

    • boot.ini 文件通常位于系统分区的根目录下,例如 C:\boot.ini
    • 它是一个文本文件,可以用文本编辑器打开和编辑。
    • boot.ini 文件由一系列引导项组成,每个引导项对应一个操作系统或引导选项。
    • 典型的 boot.ini 文件包括引导项的标识符(例如 [boot loader] 和 [operating systems])、操作系统的路径、加载选项等。
  4. 编辑

    • 对于 Windows XP 和 Windows Server 2003 等较早的操作系统,直接编辑 boot.ini 文件是一种常见的方式来添加、删除或修改引导项。
    • 对于较新的 Windows 版本(如 Windows Vista、Windows 7、Windows Server 2008 及更新版本),引导配置信息通常存储在 BCD (Boot Configuration Data)中,而不是 boot.ini 文件中。在这种情况下,可以使用 bcdedit 命令行工具来管理引导配置。

 boot.ini 在 Windows 系统中扮演着重要的角色,它决定了系统如何引导和加载操作系统。正确配置和管理 boot.ini 对于系统的稳定性和正确引导非常重要。

boot.ini 是在早期版本的 Windows 操作系统中使用的引导配置文件之一。它的发展可以追溯到 Windows NT 系列操作系统。

在 Windows NT 4.0 及之前的版本中,boot.ini 是一个主要的引导文件,用于配置系统引导时的选项。它是由 NTLDR(NT Loader)引导程序使用的,负责加载操作系统内核和其他引导组件。

随着 Windows 操作系统的发展,特别是引入了 Windows Vista 和后续版本,微软逐渐改进了引导系统,并引入了新的引导方式和配置机制。在 Windows Vista 和更新版本中,引导配置数据(BCD)取代了传统的 boot.ini 文件。BCD 存储了更多的引导配置信息,并提供了更灵活和强大的引导管理功能。与传统的 boot.ini 文件相比,BCD 具有更高的可扩展性和兼容性,并支持更多复杂的引导场景。

因此,随着时间的推移,boot.ini 的重要性逐渐减弱,而 BCD 成为了管理引导配置的主要机制。在较新版本的 Windows 中,boot.ini 已经不再使用,取而代之的是 BCD 数据库。

有关命令和选项的详细信息,请键入 bcdedit.exe /? <command>。例如,
若要显示有关 /createstore 命令的详细信息,请键入:

     bcdedit.exe /? /createstore

有关本帮助文件中按字母顺序排列的主题列表,请运行 "bcdedit /? TOPICS"。

对存储执行的命令
================================
/store          用于指定当前系统默认值以外的 BCD 存储。
/createstore    新建空的启动配置数据存储。
/export         将系统存储的内容导出到文件。以后
                可以使用该文件还原系统存储的状态。
/import         使用 /export 命令创建的备份文件来还原
                系统存储的状态。
/sysstore       设置系统存储设备(仅影响 EFI 系统,在重新启动后不再保留,
               且仅用于系统存储
                设备不确定的情况下)。

对存储中的项执行的命令
===========================================
/copy           复制存储中的项。
/create         在存储中创建新项。
/delete         删除存储中的项。
/mirror         创建存储中项的镜像。

运行 bcdedit /? ID 可获得有关这些命令使用的标识符的信息。

对项选项执行的命令
======================================
/deletevalue    删除存储中的项选项。
/set            设置存储中的项选项值。

运行 bcdedit /? TYPES 可获得这些命令使用的数据类型的列表。
运行 bcdedit /? FORMATS 可获得有效数据格式的列表。

控制输出的命令
============================
/enum           列出存储中的项。
/v              命令行选项,完整显示项标识符,
                而不是使用已知标识符的名称。
                单独使用命令 /v 可完整
                显示 ACTIVE 类型的项标识符。

单独运行 "bcdedit" 等同于运行 "bcdedit /enum ACTIVE"。

控制启动管理器的命令
======================================
/bootsequence   为启动管理器设置一次性启动序列。
/default        设置启动管理器将使用的默认项。
/displayorder   设置启动管理器显示
                多重启动菜单的顺序。
/timeout        设置启动管理器的超时值。
/toolsdisplayorder  设置启动管理器显示工具
                    菜单的顺序。

控制启动应用程序紧急管理服务的命令
==========================================================================
/bootems        启用或禁用启动应用程序的
                紧急管理服务。
/ems            启用或禁用操作系统项的
                紧急管理服务。
/emssettings    设置全局紧急管理服务参数。

控制调试的命令
==============================
/bootdebug      启用或禁用启动应用程序的启动调试。
/dbgsettings    设置全局调试程序参数。
/debug          启用或禁用操作系统项的内核
                调试。
/hypervisorsettings  设置虚拟机监控程序的参数。

控制远程事件日志记录的命令
=========================================
/eventsettings  设置全局远程事件日志记录参数。
/event          启用或禁用操作系统项的远程
                事件日志记录。

 

bcdedit /? ID

标识符

很多 Bcdedit 命令需要标识符。标识符可以唯一标识存储中包含的项。标识符采取
全局唯一标识符的形式,或称为 GUID。GUID 具有以下格式,其中每个“x”代表
一个十六进制数。

    {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}

例如:

    {d2b69192-8f14-11da-a31f-ea816ab185e9}

破折号(-)的放置以及 GUID 开头和结尾的括号是必需的。

已知标识符可以标识多个项。如果某个项具有已知标识符,则 BCDedit 将其显示
在输出中,除非使用了 /v 命令行开关。
有关详细信息,请运行 "bcdedit /? /v"。

已知标识符如下所示:

    {bootmgr}               指定 Windows 启动管理器项。

    {fwbootmgr}             指定固件启动管理器项,特别是在实现可扩展固件
                            接口(EFI)规格的系统上。

    {memdiag}               指定内存诊断应用程序项。

    {ntldr}                 指定可用于启动早于 Windows Vista 版本的操作
                            系统的 OS 加载程序(Ntldr)。

    {current}               指定与当前运行的操作系统的操作系统启动项
                            对应的虚拟标识符。

    {default}               指定与启动管理器默认应用程序项对应的虚拟
                            标识符。

    {ramdiskoptions}        包含启动管理器所需的其他的 RAM 磁盘设备
                            选项。

    {dbgsettings}           包含可由任意启动应用程序项继承的全局调试
                            程序设置。

    {emssettings}           包含可由任意启动应用程序项继承的全局紧急
                            管理服务设置。

    {badmemory}             包含可由任意启动应用程序项继承的全局 RAM
                            故障列表。

    {globalsettings}        包含所有启动应用程序项应继承的全局设置的
                            集合。

    {bootloadersettings}    包含所有 Windows 启动加载程序应用程序项
                            应继承的全局设置的集合。

    {resumeloadersettings}  包含所有 Windows 从休眠状态恢复应用程序项
                            应继承的全局设置的集合。

    {hypervisorsettings}    包含可由任意 OS 加载程序项继承的虚拟机
                            监控程序设置。

 

bcdedit /? TYPES

类型

/set 和 /deletevalue 命令要求将 <datatype> 作为参数。
<datatype> 唯一标识数据格式及值的意义。

数据类型是使用名称或自定义类型标识的。下面列出了
名称及其数据格式(在括号中)以
及自定义类型的简短描述。如果未指定格式,则描述列出可用于该类型的文本值。有关
数据格式的详细信息,请运行 "bcdedit /? formats"。

以下类型对所有项都是有效的。有关特定项(如启动管理器项或 Windows OS 加载器项)
特有的类型的信息,请参阅此帮助主题末尾。


=======
    DESCRIPTION (字符串)    定义项描述。
    PATH (字符串)           定义应用程序路径。
    DEVICE (设备)           定义应用程序所驻留的设备。
    INHERIT (列表)          定义要继承的项的列表。

有关设备对象的附加类型的信息,请运行 "bcdedit /? TYPES DEVOBJECT"。

有关特定应用程序的附加类型的信息,
请运行 "bcdedit /? TYPES <apptype>",其中 <apptype> 为以下其中一项:

BOOTAPP     启动应用程序。这些类型也应用于启动管理器、
            内存诊断应用程序、Windows OS 加载器和恢复
            应用程序。
BOOTMGR     启动管理器。
BOOTSECTOR  启动扇区应用程序。
CUSTOMTYPES 自定义类型。
DEVOBJECT   设备对象附加选项。
FWBOOTMGR   固件启动管理器
MEMDIAG     内存诊断应用程序
NTLDR       以前的 Windows OS 版本附带的 OS 加载器
OSLOADER    Windows Vista OS 加载器
RESUME      恢复应用程序

 

bcdedit /? FORMATS
下列描述了与 /set 命令一起使用的 <datatypes> 所需的数据格式。
所需的格式取决于使用 /set 命令指定的 <datatypes>。有关与
每个 <datatype> 相关联的格式的详细信息,请运行 "bcdedit /? TYPES"。

bool    布尔值。以下值与 TRUE 对应:

            1、ON、YES、TRUE

        以下值与 FALSE 对应:

            0、OFF、NO、FALSE

device    设备可以是以下类型之一:

            BOOT
            PARTITION=<drive>
            HD_PARTITION=<drive>
            FILE=[<parent>]<path>
            RAMDISK=[<parent>]<path>,<optionsid>
            VHD=[<parent>]<path>,<locatecustom>
            LOCATE[=<locatecustom>]

        这些类型的选项为:

            <drive>        带有冒号并且结尾不带反斜杠的驱动器号。
            <parent>       (必需)可以是 BOOT、LOCATE 或带有冒号的驱动器号。
                           方括号表示语法的文本部分,而不表示是可选项。
            <path>         从父设备根开始的文件路径(或 .wim 文件)。
            <optionsid>    设备选项条目的标识符,该选项项包含 RAM 磁盘的
                           系统部署映像(SDI)选项。这通常
                           是 {ramdisksdioptions}.
            <locatecustom> 提供用于通过查找指定的路径来查找
                           设备的可选元素。设备的默认位置
                           元素是其应用程序路径
                           (osdevice 的位置元素为 systemroot)。
                           必须使用自定义元素语法来指定自定义值
                           (请参阅 -help 类型的自定义类型),
                           例如: locate=custom:22000002。

id      条目标识符,它引用启动配置数据存储中的项。有关标识符的详细信息,请运行 "bcdedit /? ID"。

integer    64 位整数类型。可以使用枚举的值设置某些整数类型。

integerlist   以空格分隔的一个或多个 64 位整数的列表。
           该列表不应置于引号中。

list    条目标识符列表。它包含以空格分隔的一个或多个条目标识符。
        该列表不应置于引号
        中。

string  文本字符串。如果它包含空格,则应该置于
引号("")中。

 

bcdedit /enum bootmgr

Windows 启动管理器
--------------------
标识符                  {bootmgr}
device                  partition=\Device\HarddiskVolume1
path                    \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
description             Windows Boot Manager
locale                  zh-CN
inherit                 {globalsettings}
bootshutdowndisabled    Yes
default                 {current}
resumeobject            {c2c7bdd6-f5da-11ee-93d8-b88da6104ef0}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

bcdedit /v

Windows 启动管理器
--------------------
标识符                  {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device                  partition=\Device\HarddiskVolume1
path                    \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
description             Windows Boot Manager
locale                  zh-CN
inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
bootshutdowndisabled    Yes
default                 {c2c7bdd7-f5da-11ee-93d8-b88da6104ef0}
resumeobject            {c2c7bdd6-f5da-11ee-93d8-b88da6104ef0}
displayorder            {c2c7bdd7-f5da-11ee-93d8-b88da6104ef0}
toolsdisplayorder       {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout                 30

Windows 启动加载器
-------------------
标识符                  {c2c7bdd7-f5da-11ee-93d8-b88da6104ef0}
device                  partition=C:
path                    \Windows\system32\winload.efi
description             Windows Server
locale                  zh-CN
inherit                 {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
recoverysequence        {c2c7bdd8-f5da-11ee-93d8-b88da6104ef0}
displaymessageoverride  Recovery
recoveryenabled         Yes
isolatedcontext         Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \Windows
resumeobject            {c2c7bdd6-f5da-11ee-93d8-b88da6104ef0}
nx                      OptOut

 

bcdedit /enum osloader

Windows 启动加载器
-------------------
标识符                  {current}
device                  partition=C:
path                    \Windows\system32\winload.efi
description             Windows Server
locale                  zh-CN
inherit                 {bootloadersettings}
recoverysequence        {c2c7bdd8-f5da-11ee-93d8-b88da6104ef0}
displaymessageoverride  Recovery
recoveryenabled         Yes
isolatedcontext         Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \Windows
resumeobject            {c2c7bdd6-f5da-11ee-93d8-b88da6104ef0}
nx                      OptOut

Windows 启动加载器
-------------------
标识符                  {c2c7bdd8-f5da-11ee-93d8-b88da6104ef0}
device                  ramdisk=[\Device\HarddiskVolume4]\Recovery\WindowsRE\Winre.wim,{c2c7bdd9-f5da-11ee-93d8-b88da6104ef0}
path                    \windows\system32\winload.efi
description             Windows Recovery Environment
locale                  zh-cn
inherit                 {bootloadersettings}
displaymessage          Recovery
osdevice                ramdisk=[\Device\HarddiskVolume4]\Recovery\WindowsRE\Winre.wim,{c2c7bdd9-f5da-11ee-93d8-b88da6104ef0}
systemroot              \windows
nx                      OptIn
bootmenupolicy          Standard
winpe                   Yes

 

posted @ 2024-04-09 22:26  suv789  阅读(97)  评论(0编辑  收藏  举报