bcfg命令解析

bcfg命令解析

  • Bcfg概述

UEFI SHELL 下管理存储在NVRAM中的引导和驱动程序选项命令

  • 使用方法

bcfg driver|boot [dump [-v]]

bcfg driver|boot [add # file "desc"] [addp # file “desc”] [addh # handle “desc”]

bcfg driver|boot [rm #]

bcfg driver|boot [mv # #]

bcfg driver|boot [mod # “desc”] | [modf # file] | [modp # file] | [modh # handle]

bcfg driver|boot [-opt # [[filename]|[”data”]] | [KeyData <ScanCode UnicodeChar>*]]

  • 命令选项

Driver 显示/修改驱动程序选项列表

Boot 显示/修改启动选项列表

Dump 显示选项列表

- v 显示包含可选数据的附加信息的选项列表。

Add 添加一个选项。#是要在十六进制中添加的选项号。选项的UEFI应用程序/驱动程序的文件名。所引用的参数是正在添加的选项的描述。

Addh 添加一个引用句柄指定的驱动程序/设备的选项。#是要添加的选项号,以十六进制表示。句柄是驱动程序/设备句柄,以十六进制表示。该选项的设备路径从句柄中检索。所引用的参数是正在添加的选项的描述。

Addp 添加引用特定文件的选项。选项中只包含从硬盘驱动器分区开始的设备路径的一部分。#是要添加的选项号,以十六进制表示。所引用的参数是正在添加的选项的描述。

Rm 删除一个选项。参数#以十六进制列出要删除的选项号。

Mv 移动一个选项。第一个数值参数是移动进十六进制的选项。第二个数值参数是新选项号。

Mod 修改现有选项的描述。#是要用十六进制修改的选项号。所引用的参数是该选项的新描述。

Modf 使用文件名修改存储在现有选项中的设备路径。#是要用十六进制修改的选项号。该文件是要存储在选项中的UEFI应用程序/驱动程序的新文件名。

Modp 使用文件名修改存储在现有选项中的设备路径。#是要用十六进制修改的选项号。该文件是UEFI应用程序/驱动程序的新文件名,但是只有从硬盘驱动器分区开始的设备路径的一部分存储在选项中。

Modh 使用设备句柄修改存储在现有选项中的设备路径。#是要用十六进制修改的选项号。句柄是十六进制的设备句柄号,该句柄的设备路径存储在选项中。

- opt 修改与驱动程序或引导选项关联的可选数据。Followed 通过 文件 的 文件名 包含 二进制 数据 与 司机 或 启动 选项 可 选 data, 否则 quotedelimited 数据 会 与 司机 或 启动 选项 可 选 的 有悖于 相关

KeyData 与热键关联的已打包值。这是theEFI_BOOT_KEY_DATA。UEFI规范中的PackedValue。

ScanCode 这是EFI_INPUT_KEY结构的uefi定义的扫描代码部分。这个值与前面KeyData值直接相关,每个UEFI规范可能有1到4个条目。当该参数的一个实例具有非零值时,成对的UnicodeChar值将具有零值。

UnicodeChar 这是与前面的KeyData值关联的字符的Unicode值。每个UEFI规范可能有1到4个条目。当此参数的一个实例具有非零值时,成对的ScanCode值将具有从零开始的值。

  • 描述

管理存储在NVRAM中的引导和驱动程序选项。该命令可以使用dump选项显示Boot####或Driver####环境变量。add/addh/addp选项可用于添加新的boot####或驱动程序driver####环境变量。

rm选项可用于删除boot####或driver####环境变量。

mv选项可用于重新排序boot####和driver####环境变量。最后,mod/modf/modp/modh选项可用于修改现有的boot####或driver####环境变量。

add/addh/addp、rm和mv选项还会根据需要更新BootOrder或DriverOrder环境变量。

在使用文件或引号分隔的数据时,-opt选项可以更新driver####或boot####选项。当添加热键时,它们将被创建为key####,并且只支持引导(不支持驱动程序)。

  • 例子

显示驱动选项:

Shell> bcfg driver dump

显示启动选项:

Shell> bcfg boot dump

详细显示启动选项:

Shell> bcfg boot dump -v

添加一个驱动选项5

Shell> bcfg driver add 5 mydriver.efi "My Driver"

添加一个驱动选项3

Shell> bcfg boot add 3 osloader.efi "My OS"

移除一个驱动选项3

Shell> bcfg boot rm 3

将引导选项3移动到引导选项7

Shell> bcfg boot mv 3 7

为启动选项#3分配一个CTRL-B热键

Shell> bcfg boot –opt 3 0x40000200 0 0x42

要修改boot选项#2中的描述:

Shell> bcfg boot mod 2 “My UEFI App”

要将boot选项#8中的设备路径修改为与设备句柄26F关联的路径

Shell> bcfg boot modh 8 26f