UEFI shell 允许您访问和操作设备、文件和设置。 引导 直接从固件。
包括 comandos 对于磁盘管理、诊断、脚本和高级系统配置至关重要。
它主要与 FAT16/FAT32 文件系统兼容,并且其语法可能因制造商而异。
掌握 UEFI shell 是维护、定制和修理现代计算机的关键。
如今,越来越多的高级和专业用户需要与其设备的固件进行交互,尤其是在维护、故障排除或安装新设备期间。 操作系统。在此背景下, UEFI 外壳 (统一可扩展固件接口)是一种强大的工具,它可以直接灵活地访问一系列用于管理、配置和诊断计算机启动环境的基本命令和实用程序。
然而,尽管它具有相关性,但对于它的用途以及真正的价值仍然存在一些困惑。 UEFI shell 中的有用命令如果这个话题对你来说听起来很像中文,或者你已经有一些经验,并且想要更进一步,这里有一个 深奥的吉亚 它根据官方文献和最佳可用来源汇编最完整和最新的信息。
UEFI shell 到底是什么?
El UEFI 外壳 它充当与其他命令解释器类似的控制台(例如旧的 DOS 或 终端 de Linux),但位于主板的固件环境中。从这里你可以运行命令来 管理 EFI 分区、访问文件系统、加载驱动程序、启动 .efi 应用程序、编辑配置文件,甚至通过脚本自动执行序列。。除此之外,它还提供强大的诊断和修复选项,使其成为管理员和爱好者的基本资源。 硬件.
为什么要使用 UEFI shell?
访问 UEFI 外壳 当你需要时它可以成为你的生命线 修改启动顺序、安装自定义引导加载程序、诊断硬件、排除启动问题,或直接操作固件变量和文件。此外,在许多专业系统、服务器甚至黑苹果安装中,此控制台是执行某些高级配置的唯一方法。
UEFI shell 中的命令类型
在 UEFI 环境 有各种各样的产品可供选择 命令和实用程序根据用途,这些工具可以分为不同的类别。下面,我们将分析最常见、最有用的工具,并按使用领域进行细分:
如何阻止 Office 默认将文件保存到 OneDrive:重新获得控制权的完整指南探索和管理驱动器和文件的命令
FSX: 在不同的已识别分区之间切换,其中 X 代表分配的号码(例如: fs0: 访问第一个 FAT16 分区或 FAT32 识别)。它对于从 shell 在设备和文件系统之间导航至关重要。
cd: 允许您更改当前目录并在活动分区的文件结构内移动。
ls: 显示当前或指定目录中的文件和文件夹列表,对于探索 EFI 的内容非常有用。
cp 目标文件: 复制文件或文件夹(使用 -r 用于递归目录复制)。
MV: 移动或重命名文件和文件夹。
rm 文件/目录: 删除文件和目录。
mkdir 目录: 在指定路径中创建新目录。
文件类型: 以文本格式显示文件的内容。
编辑文件名: 打开一个简单的文本编辑器,直接从 shell 创建或修改文件。
设备映射和管理命令
地图: 列出 UEFI 可访问的所有设备和分区,并分配名称,例如 fs0: 对于文件系统或 黑体0: 用于块设备。这对于识别 EFI 磁盘和分区的位置至关重要。例如,您可能会看到如下输出:
fs0:VenHw(未知设备:00)/HD(Part1,Sig00000000)blk0:VenHw(未知设备:00)
FSX: 指的是可访问的 FAT16/FAT32 文件系统,而 黑色X: 识别固件检测到的块设备。
挂载BlkDevice: 如果需要,将块设备安装为具有别名的文件系统。
去黑: 执行块设备的十六进制转储,对于低级检查很有用。
开发树: 它显示了可用设备树,对于了解硬件拓扑非常有趣。
启动管理和 EFI 变量
bcfg: 此命令是管理 EFI NVRAM 中启动选项的关键。它允许您添加、删除或列出启动项和驱动程序项。例如,要添加自定义引导加载程序(例如 Clover),您可以使用:
bcfg boot add 0 fs1:\EFI\CLOVER\CLOVERX64.efi "Clover"
哪里 0 是优先事项, fs1: .efi 文件所在的分区,最后一个参数是启动菜单项的名称。要管理 EFI 变量,您还可以参考。
数据存储库: 转储 EFI 变量存储的内容,以便轻松查看或编辑当前值。
重置 : 执行系统冷重启,在修改关键设置后很有用。
驱动程序、协议和维护
连接句柄#: 将 EFI 驱动程序与设备关联并启动它。
断开设备句柄#]: 断开设备与控制器的连接,这在操作驱动程序或诊断不兼容性时很重要。
驱动程序 : 显示系统上加载的驱动程序。
drvcfg,drvdiag: 它们调用控制器的配置和诊断协议,对于在复杂环境中进行调试很有用。
loadpcirom,加载驱动程序名称: 它们加载 PCI 选项 ROM 或附加驱动程序,从而允许扩展固件功能。
启动维护: 启动引导维护管理器,这是一个用于在 shell 中修改引导选项的可视化实用程序。
内存管理和数据转储
dmem: 允许您显示内存位置的内容,非常适合高级调试。
内存: 转储分配的内存或 I/O。
内存映射: 显示系统内存映射,提供已用内存和可用内存的概览。
mm 地址: 允许您修改内存区域,无论是物理内存区域还是 MMIO 内存区域。通常由技术人员和开发人员使用。
与日期、时间和环境相关的命令
日期 : 显示或设置系统日期。
时间 : 检查或调整时间。
版本: 显示 UEFI shell 的当前版本。
cls: 清洁终端屏幕,非常适合在控制台上长时间工作时保持整洁。
模式: 设置或查询 shell 中的当前图形模式。
脚本和自动化命令
回声| ]: 在屏幕上显示文本并控制 .nsh 脚本中的命令回显。
if、else、endif、for、endfor、goto 标签、暂停: 自动化脚本的基本控制结构,有助于在 UEFI 环境中实现常规或复杂任务的自动化。
高级诊断和硬件测试
某些 UEFI 环境(例如 Oracle 实现的或企业平台上的 UEFI 环境)包含诊断 CLI,其中包含用于检查系统硬件的特定命令。最相关的命令包括:
cfgtbl: 显示所有已安装的 UEFI 表,对于理解固件结构至关重要。
cpu { cpuid | 信息 | 型号 | 速度 | simd | 顶部 | sysregs | idt | memcfg }: 运行测试并显示有关 CPU 的详细信息。
浮点运算单元(FPU): 运行浮点单元测试。
图形: 显示可用的图形模式或对其执行测试。
内存 { 测试 | 信息 }: 测试并显示有关 RAM 及其设置的信息。
网络: 查看以太网接口或运行连接测试。
实时时钟: 以 24 小时格式检查当前日期和时间。
存储 { 信息 | mst | rrt | srt | rwv }: 分析和测试设备 存储.
系统 { acpi | 信息 | 库存 | symbios | cpuestockets | pelink }: 显示一般系统信息,在服务器上非常有用。
TPM: 显示有关安全模块 (TPM) 和访问日志的详细信息。
USB: 列出有关 USB 设备和集线器的信息。
使用 UEFI shell 时需要注意的事项
在采取行动之前需要考虑的一些基本问题:
UEFI Shell 除特殊情况外,通常仅适用于 FAT16 或 FAT32 格式的分区。如果您磁盘的文件系统是 NTFS、exFAT 或任何其他格式, 此环境将无法访问它.
要查找您的 UEFI shell 版本中可用的所有命令,您可以使用命令 或 ,具体取决于语言和特定固件。
实际使用示例:添加自定义引导加载程序
使用 UEFI shell 最常见的原因之一是修改启动顺序以加载自定义引导加载程序(例如,Hackintosh 上的 Clover 或 OpenCore,或自定义 Linux 安装)。基本流程如下:
使用以下命令切换到适当的 EFI 分区 FSX:
检查内容 ls o DIR.
运行命令 bcfg 启动添加 ,例如:
bcfg boot add 0 fs1:\EFI\CLOVER\CLOVERX64.efi "Clover"
检查条目是否已正确创建,然后重新启动计算机以验证更改。
UEFI Shell 是一款功能极其强大且用途广泛的工具。掌握它的命令和实用程序不仅可以简化维护和故障排除任务,还能让您完全掌控系统的启动过程。在受控环境中进行实践和实验是熟悉其操作并充分利用其功能的最佳方法。
相关文章:如何使用 systemctl 和 systemd 从 Linux 访问和更新固件(BIOS/UEFI)设置
艾萨克对字节世界和一般技术充满热情的作家。我喜欢通过写作分享我的知识,这就是我在这个博客中要做的,向您展示有关小工具、软件、硬件、技术趋势等的所有最有趣的事情。我的目标是帮助您以简单而有趣的方式畅游数字世界。