Bcdboot - BCD 启动文件创建和修复工具。bcdedit是Windows操作系统的一个命令行工具,它用于查看和修改启动配置数据(BCD)。

BCDBoot 命令行选项 | Microsoft Learn

BCDEdit 命令行选项 | Microsoft Learn

bcdboot

Bcdboot - Bcd boot file creation and repair tool.

The bcdboot.exe command-line tool is used to copy critical boot files to the
system partition and to create a new system BCD store.

bcdboot <source> [/l <locale>] [/s <volume-letter> [/f <firmware>]] [/v]
                 [/vbcd] [/m [{OS Loader ID}]] [/addlast] [/p] [/c]

  source     Specifies the location of the windows system root.

  /l         Specifies an optional locale parameter to use when
             initializing the BCD store. The default is US English.

  /s         Specifies an optional volume letter parameter to designate
             the target system partition where boot environment files are
             copied.  The default is the system partition identified by
             the firmware.

  /v         Enables verbose mode.

  /vbcd      Enables BCD logging.

  /m         If an OS loader GUID is provided, this option merges the
             given loader object with the system template to produce a
             bootable entry. Otherwise, only global objects are merged.

  /d         Specifies that the existing default windows boot entry
             should be preserved.

  /f         Used with the /s command, specifies the firmware type of the
             target system partition. Options for <firmware> are 'UEFI',
             'BIOS', or 'ALL'.

  /t         Used with the /s and /f commands, specifies a target directory
             under the system partition where the boot environment files
             are to be copied. By default, the boot environment files are
             copied to the root of the target system partition.

  /addlast   Specifies that the windows boot manager firmware entry
             should be added last. The default behavior is to add it
             first.

  /bcdclean  Clean the BCD Store. By default, simply removes any duplicate
             entries in the BCD. Can be followed by 'full'. In this case,
             each entry is scanned. If the corresponding device for that entry
             does not exist, the entry is deleted.

  /p         Specifies that the windows boot manager firmware entry
             position should be preserved. If entry does not exist,
             new entry will be added in the first position.

  /c         Specifies that any existing objects described by the template
             should not be migrated.

  /imageroot Specifies an image root under from the boot files originate. The bcd store of this
             image needs to be constructed with paths relative to the root of the image.

Examples: bcdboot c:\windows /l en-us
          bcdboot c:\windows /s h:
          bcdboot c:\windows /s h: /f UEFI
          bcdboot c:\windows /s h: /f UEFI /t Configuration\Boot
          bcdboot c:\windows /m {d58d10c6-df53-11dc-878f-00064f4f4e08}
          bcdboot c:\windows /d /addlast
          bcdboot c:\windows /p
          bcdboot C:\Images\ImageRoot\Files\Windows /f UEFI /imageroot C:\Images\ImageRoot\Files

Bcdboot - BCD 启动文件创建和修复工具。

Bcdboot.exe 命令行工具用于将关键启动文件复制到系统分区,并创建新的系统 BCD 存储。

bcdboot <source> [/l <locale>] [/s <volume-letter> [/f <firmware>]] [/v]
[/vbcd] [/m [{OS Loader ID}]] [/addlast] [/p] [/c]

source     指定 Windows 系统根目录的位置。

/l         指定初始化 BCD 存储时要使用的可选区域设置参数。默认为美式英语。

/s         指定可选的卷标参数,用于指定要将启动环境文件复制到的目标系统分区。默认为由固件标识的系统分区。

/v         启用详细模式。

/vbcd      启用 BCD 日志记录。

/m         如果提供了 OS 加载器 GUID,则此选项将将给定的加载器对象与系统模板合并以生成可引导的条目。否则,只合并全局对象。

/d         指定应保留现有默认的 Windows 引导条目。

/f         与 /s 命令一起使用时,指定目标系统分区的固件类型。 <firmware> 的选项为 'UEFI'、'BIOS' 或 'ALL'。

/t         与 /s 和 /f 命令一起使用时,指定要将启动环境文件复制到的系统分区下的目标目录。默认情况下,启动环境文件将复制到目标系统分区的根目录。

/addlast   指定应将 Windows 引导管理器固件条目添加到最后。默认行为是将其添加到第一个位置。

/bcdclean  清理 BCD 存储。默认情况下,只删除 BCD 中的任何重复条目。可以跟随 'full'。在这种情况下,将扫描每个条目。如果该条目的相应设备不存在,则删除该条目。

/p         指定应保留 Windows 引导管理器固件条目位置。如果条目不存在,则将在第一个位置添加新条目。

/c         指定不迁移模板描述的任何现有对象。

/imageroot 指定启动文件源的图像根。此图像的 bcd 存储需要构造为相对于图像根的路径。

示例: bcdboot c:\windows /l en-us
bcdboot c:\windows /s h:
bcdboot c:\windows /s h: /f UEFI
bcdboot c:\windows /s h: /f UEFI /t Configuration\Boot
bcdboot c:\windows /m {d58d10c6-df53-11dc-878f-00064f4f4e08}
bcdboot c:\windows /d /addlast
bcdboot c:\windows /p
bcdboot C:\Images\ImageRoot\Files\Windows /f UEFI /imageroot C:\Images\ImageRoot\Files

bcdedit

Windows Boot Manager
--------------------
identifier              {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            {01cd325c-02a1-11ef-a54b-9a08560ca6a8}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \Windows\system32\winload.efi
description             Windows Server
locale                  zh-CN
inherit                 {bootloadersettings}
recoverysequence        {01cd325e-02a1-11ef-a54b-9a08560ca6a8}
displaymessageoverride  Recovery
recoveryenabled         Yes
isolatedcontext         Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \Windows
resumeobject            {01cd325c-02a1-11ef-a54b-9a08560ca6a8}
nx                      OptOut

bcdedit是Windows操作系统的一个命令行工具,它用于查看和修改启动配置数据(BCD)。这些是您提供的配置数据

Windows 启动管理器
标识符                    {bootmgr}
设备                      分区=\Device\HarddiskVolume1
路径                      \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
描述                      Windows 启动管理器
区域设置                  简体中文
继承                      {globalsettings}
关闭启动时的关机禁用        是
默认                      {current}
恢复对象                  {01cd325c-02a1-11ef-a54b-9a08560ca6a8}
显示顺序                  {current}
工具显示顺序              {memdiag}
超时                      30

Windows 启动加载器
标识符                    {current}
设备                      分区=C:
路径                      \Windows\system32\winload.efi
描述                      Windows 服务器
区域设置                  简体中文
继承                      {bootloadersettings}
恢复序列                  {01cd325e-02a1-11ef-a54b-9a08560ca6a8}
覆盖显示消息              恢复
恢复启用                  是
隔离上下文                是
允许内存设置              0x15000075
操作系统设备              分区=C:
系统根目录                \Windows
恢复对象                  {01cd325c-02a1-11ef-a54b-9a08560ca6a8}
nx                      选择退出(OptOut)

   

 

Bcdboot命令起源于Windows Vista,它是用于创建启动分区的引导文件的工具。这个命令可以将Windows映像文件中的引导文件复制到系统分区中,以确保系统能够正确引导。

Bcdboot命令的发展阶段主要反映在Windows操作系统的发展中,它的功能和用途在不同版本的Windows中有所变化和扩展。下面是Bcdboot命令在几个主要Windows版本中的发展阶段:

  1. Windows Vista:Bcdboot命令首次引入,用于创建引导文件,帮助系统在启动时找到操作系统。它主要用于初始化引导配置和修复引导问题。

  2. Windows 7:在这个版本中,Bcdboot命令的功能有所增强,支持从Windows安装介质或其他Windows映像创建和修复引导记录。这一阶段,Bcdboot主要用于恢复引导配置。

  3. Windows 8/8.1:在这些版本中,Bcdboot命令进一步发展,支持更多的引导配置选项。它也被用来在多引导系统中管理启动项,并帮助用户在不同的操作系统之间切换。

  4. Windows 10:Bcdboot命令在Windows 10中继续发展,增加了更多的功能和灵活性。除了修复引导问题外,它还支持在UEFI和BIOS系统中进行引导配置。此外,它还可以用于迁移引导配置到其他磁盘或分区。

  5. Windows 11:虽然Windows 11与Windows 10在引导配置方面有很多相似之处,但Bcdboot命令在这一版本中继续保持重要性。它主要用于修复引导问题、设置多引导系统以及处理引导相关的配置。

 Bcdboot命令在Windows系统中扮演着关键角色,它的功能随着操作系统的发展而不断增强,以确保系统的引导稳定性和灵活性。

Bcdboot命令可以按照其功能和用途进行分类,主要包括以下几个方面:

  1. 引导文件创建和修复:Bcdboot命令最基本的功能是创建和修复引导文件。它可以将Windows映像文件中的引导文件复制到系统分区中,以确保系统能够正确引导。这包括初始化引导配置、修复损坏的引导文件以及创建新的引导记录。

  2. 引导配置管理:Bcdboot命令也用于管理引导配置,包括设置启动项、修改引导顺序以及删除不需要的启动项。这使得用户可以在多引导系统中轻松切换操作系统,或者解决启动时出现的问题。

  3. UEFI和BIOS兼容性:随着计算机硬件的发展,UEFI取代了传统的BIOS成为主流引导方式。Bcdboot命令支持在UEFI和BIOS系统中进行引导配置,确保兼容不同类型的硬件平台。

  4. 多磁盘和多分区支持:Bcdboot命令可以在多磁盘和多分区的环境下工作,包括将引导文件复制到其他磁盘或分区,并设置多引导系统。这使得用户可以在不同的存储设备上安装和引导多个操作系统。

 Bcdboot命令的分类主要围绕其在引导文件创建、修复、管理和兼容性方面的功能展开,以满足用户在不同场景下的需求。

Bcdboot命令的底层原理涉及到Windows操作系统的引导过程和Boot Configuration Data(BCD)存储结构。以下是Bcdboot命令的底层原理概述:

  1. 引导文件复制:Bcdboot命令会从Windows映像文件(通常是安装介质或已安装的Windows操作系统)中提取引导文件,这些文件包括bootmgr、BCD配置文件以及相关的启动文件。然后,它会将这些文件复制到系统分区(通常是含有Windows操作系统的分区)的特定位置,以确保系统可以在引导时正确加载这些文件。

  2. BCD配置:Bcdboot命令会根据系统的配置和用户的选择更新或创建BCD存储结构。BCD是一个存储引导相关配置信息的数据库,包括操作系统的引导项、引导加载程序的位置、引导顺序等。Bcdboot命令会根据用户的选项更新或创建这些配置信息,以确保系统能够正确引导。

  3. 引导记录设置:在BIOS系统中,Bcdboot命令会在系统分区的主引导记录(MBR)或可启动分区记录(PBR)中写入引导加载程序(通常是NTLDR或BOOTMGR)。在UEFI系统中,Bcdboot命令会创建或更新EFI系统分区上的引导项,这些引导项包括指向引导加载程序的路径以及相关的引导参数。

  4. 可选参数:Bcdboot命令还支持一些可选参数,用于指定引导文件的位置、目标分区、创建的BCD存储的位置等。这些参数可以根据用户的需求来进行配置,以满足不同的引导场景和需求。

 Bcdboot命令的底层原理主要涉及到从Windows映像文件中提取引导文件、更新BCD配置、设置引导记录以及处理用户指定的参数,以确保系统在引导时能够正确加载和启动Windows操作系统。

Bcdboot命令依赖于以下几个方面:

  1. Windows映像文件:Bcdboot命令需要访问Windows操作系统的映像文件,通常是安装介质或已安装的Windows系统的文件。这些文件包括引导文件(如bootmgr)、BCD配置文件以及相关的启动文件。

  2. 系统分区:Bcdboot命令需要将引导文件和BCD配置文件复制到系统分区,通常是含有Windows操作系统的分区。这要求系统分区是可读写的,并且有足够的空间来存放这些文件。

  3. 操作权限:Bcdboot命令需要足够的操作权限来访问和修改系统分区上的文件,并且可能需要管理员权限才能执行一些操作。在Windows系统中,用户需要以管理员身份运行Bcdboot命令才能确保操作的成功。

  4. 系统硬件架构:Bcdboot命令的功能和行为可能会受到系统硬件架构的影响,包括BIOS和UEFI系统的区别。在不同的硬件架构下,Bcdboot命令可能需要执行不同的操作,以确保引导的兼容性和正确性。

 Bcdboot命令依赖于Windows映像文件、系统分区、操作权限以及系统硬件架构等因素,以确保在引导时能够正确加载和启动Windows操作系统。

Bcdboot命令在Windows操作系统中有多种应用场景,主要包括以下几个方面:

  1. 修复引导问题:当Windows操作系统无法引导或出现引导错误时,可以使用Bcdboot命令来修复引导问题。通过重新安装引导文件和更新BCD配置,Bcdboot可以帮助修复损坏的引导记录或配置,使系统能够正常引导。

  2. 安装新的Windows系统:在安装新的Windows系统时,Bcdboot命令可以用来安装引导加载程序和配置新的BCD存储。这对于从安装介质引导并安装Windows系统的场景特别有用。

  3. 创建多重引导:如果计算机上有多个操作系统,用户可能希望创建一个多重引导系统,以便在启动时选择不同的操作系统。Bcdboot命令可以帮助配置多个操作系统的引导项,并在BCD存储中管理这些引导项的启动顺序和参数。

  4. 迁移系统:在迁移Windows系统到新的硬盘或分区时,Bcdboot命令可以帮助重新安装引导加载程序和配置新的BCD存储,以确保迁移后的系统能够正常引导。

  5. 更新引导配置:有时候需要手动更新引导配置,例如添加新的引导项、修改引导参数或修复损坏的BCD配置。Bcdboot命令可以帮助进行这些操作,使引导配置保持最新和正确。

 Bcdboot命令在修复引导问题、安装新的Windows系统、创建多重引导、迁移系统以及更新引导配置等方面有广泛的应用场景,是管理和维护Windows引导的重要工具之一。

Bcdboot命令的一些实际应用示例:

  1. 修复引导问题

    Copy Code
    bcdboot C:\Windows /s D:

    这个命令将重新安装引导文件和更新BCD配置,将Windows操作系统文件从C盘复制到系统分区D盘,并使得D盘成为引导分区。

  2. 安装新的Windows系统

    Copy Code
    bcdboot F:\Windows /s C:

    这个命令将安装F盘上的Windows操作系统文件到C盘,并更新引导文件和BCD配置,使得新安装的Windows系统能够正常引导。

  3. 创建多重引导

    Copy Code
    bcdboot C:\Windows /s D: /addlast

    这个命令将在BCD存储中添加一个引导项,指向C盘上的Windows系统,同时保留已存在的引导项,实现多重引导的效果。

  4. 迁移系统

    Copy Code
    bcdboot C:\Windows /s E:

    这个命令将重新安装引导文件和更新BCD配置,将Windows操作系统文件从C盘复制到新的系统分区E盘,以完成系统的迁移。

  5. 更新引导配置

    Copy Code
    bcdboot C:\Windows /s C: /f BIOS

    这个命令将更新BCD配置,并确保引导方式为BIOS,适用于某些需要手动指定引导方式的情况。

  6. 修复引导错误

    Copy Code
    bcdboot C:\Windows /s C:

    如果系统分区的引导文件损坏或丢失,可以使用此命令重新安装引导文件,修复引导错误,确保系统能够正常引导。

  7. 安装Windows PE到引导环境

    Copy Code
    bcdboot D:\WinPE /s C:

    这个命令将Windows PE(预安装环境)文件从D盘复制到系统分区C盘,并将其设置为引导环境,用于诊断和修复系统问题。

  8. 配置引导加载程序路径

    Copy Code
    bcdboot C:\Windows /l zh-CN /s C:

    此命令将Windows引导加载程序配置为使用中文语言,适用于需要调整引导加载程序语言的情况。

  9. 安装UEFI引导文件

    Copy Code
    bcdboot C:\Windows /s C: /f UEFI

    如果系统支持UEFI引导方式,可以使用此命令将UEFI引导文件安装到系统分区C盘,以确保系统能够在UEFI模式下正常引导。

    1. 安装引导文件到其他分区
    Copy Code
    bcdboot C:\Windows /s D: /f ALL

    此命令将Windows引导文件安装到指定的分区D盘,并根据系统的硬件架构(BIOS或UEFI)安装相应的引导文件,适用于跨硬件架构的系统部署。

    1. 复制引导文件到网络共享
    Copy Code
    bcdboot C:\Windows /s \\Server\Share /f ALL

    这个命令将Windows引导文件复制到网络共享路径中,并配置引导项以指向该网络共享路径,适用于通过网络共享进行系统引导的场景。

    1. 安装引导文件到可移动设备
    Copy Code
    bcdboot C:\Windows /s E: /f ALL

    此命令将Windows引导文件安装到可移动设备(如USB闪存驱动器)的分区E盘,并根据需要安装适用于BIOS或UEFI的引导文件,以实现从可移动设备引导系统的功能。

  1. 创建引导备份
Copy Code
bcdboot C:\Windows /s C: /create {backup}

这个命令将创建一个名为“backup”的引导项备份,以便在需要时恢复引导配置。

  1. 删除引导项
Copy Code
bcdboot C:\Windows /s C: /delete {old}

此命令将删除名为“old”的引导项,可用于清理不需要的引导配置。

  1. 重建BCD存储
Copy Code
bcdboot C:\Windows /s C: /rebuildbcd

这个命令将重新构建BCD存储,扫描系统中的所有可用引导项,并重新创建BCD配置,以修复损坏的引导配置。

  1. 设置默认引导项
Copy Code
bcdboot C:\Windows /s C: /default {current}

此命令将名为“current”的引导项设置为默认引导项,以确保系统在启动时自动选择指定的引导项。

  1. 使用WinRE安装引导文件
Copy Code
bcdboot C:\Windows /s C: /winre

这个命令将Windows恢复环境(WinRE)文件复制到系统分区C盘,并将其配置为引导环境,以支持从WinRE启动并执行系统恢复操作。

  1. 设置引导超时时间
Copy Code
bcdedit /timeout 10

此命令将系统引导超时时间设置为10秒,可通过调整此值来控制启动时等待用户操作的时间长度。

  1. 显示当前BCD配置
Copy Code
bcdedit /enum

这个命令将显示当前系统的BCD(启动配置数据)存储内容,包括安装的引导项、引导加载程序设置等信息。

  1. 设置引导加载程序路径
Copy Code
bcdedit /set {bootmgr} path \EFI\Microsoft\Boot\bootmgfw.efi

此命令将引导加载程序(bootmgr)的路径设置为\EFI\Microsoft\Boot\bootmgfw.efi,适用于修复启动问题或更改引导加载程序路径的需求。

  1. 配置引导加载程序显示名称
Copy Code
bcdedit /set {bootmgr} displaybootmenu yes

这个命令将启用引导加载程序菜单,允许用户在系统启动时选择不同的引导项,显示引导菜单可以提供多重启动选项。

  1. 禁用引导加载程序菜单
Copy Code
bcdedit /set {bootmgr} displaybootmenu no

此命令将禁用引导加载程序菜单,系统将在启动时自动选择默认引导项,适用于单一操作系统环境。

  1. 配置引导项启动顺序
Copy Code
bcdedit /displayorder {current} {new}

这个命令将引导项“new”移动到引导顺序的顶部,使其成为默认启动项,而“current”将成为第二优先级。

  1. 设置引导加载程序超时时间
Copy Code
bcdedit /timeout 30

此命令将引导加载程序菜单的超时时间设置为30秒,在未选择引导项时将在屏幕上显示倒计时。

  1. 启用或禁用引导调试模式
Copy Code
bcdedit /debug {on|off}

通过将 {on}{off} 作为参数,可以启用或禁用引导调试模式。启用调试模式可用于诊断启动问题。

  1. 设置引导加载程序描述符
Copy Code
bcdedit /set {bootmgr} description "My Custom Boot Manager"

这个命令将引导加载程序的描述符设置为"My Custom Boot Manager",在引导菜单中显示自定义的加载程序名称。

  1. 启用或禁用强制恢复策略
Copy Code
bcdedit /set {default} recoveryenabled {yes|no}

通过设置 {yes}{no},可以启用或禁用引导时强制进行系统恢复的策略。

  1. 设置Windows启动选项
Copy Code
bcdedit /set {default} options "DISABLE_INTEGRITY_CHECKS"

这个命令为默认引导项设置Windows启动选项,如禁用驱动程序完整性检查。

  1. 添加引导加载程序项
Copy Code
bcdedit /create /d "Linux" /application BOOTSECTOR

这个命令创建一个新的引导加载程序项,名称为“Linux”,类型为BOOTSECTOR,通常用于引导到Linux操作系统。

  1. 设置引导加载程序项的设备和路径
Copy Code
bcdedit /set {guid} device partition=X:
bcdedit /set {guid} path \EFI\ubuntu\grubx64.efi

这个命令设置新创建的引导加载程序项的设备和路径,其中 {guid} 是创建的项的全局唯一标识符,X: 是Linux分区的盘符,\EFI\ubuntu\grubx64.efi 是Linux引导加载程序的路径。

  1. 启用或禁用引导加载程序项
Copy Code
bcdedit /set {guid} description "Ubuntu"
bcdedit /set {guid} description "Windows"

这个命令分别将引导加载程序项的描述设置为“Ubuntu”或“Windows”,在启动菜单中显示相应的操作系统名称。

  1. 删除引导加载程序项
Copy Code
bcdedit /delete {guid}

这个命令删除指定的引导加载程序项,其中 {guid} 是要删除的项的全局唯一标识符。

 

 

posted @ 2024-04-28 07:36  suv789  阅读(11)  评论(0编辑  收藏  举报