UEFI Shell编程和使用

作者

QQ群:852283276
微信:arm80x86
微信公众号:青儿创客基地
B站:主页 https://space.bilibili.com/208826118

参考

shell - 在 UEFI shell 映射中,FS0和BLK0之間的區別是什麼?
UEFI shell 命令
干货分享|UEFI启动流程介绍

UEFI Shell

进入UEFI Shell

在UEFI的Front Page,选择Boot Manager,进入Shell,输入help命令可以得到命令列表。

MAP命令

这是一个“定义用户名和设备handle映射关系”的命令。最常见的用途就是给支持文件protocol的设备分配一个盘符,比如 fs0:,最常见的用法是当你进入shell之后发现忘记插入U盘,插入之后U盘的盘符不会马上可以使用,这时候可以使用map -r一下,让他识别

Mapping table
 FS0: Alias(s):HD21a0e0b:;BLK1:
 PciRoot(0x0)/Pci(0x1D,0x0)/USB(0x0,0x0)/USB(0x4,0x0)/HD(1,MBR,0x0003B)
 FS1: Alias(s):HD23a0a1:;BLK4:
 PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0x0,0x0)/HD(1,MBR,0x00000000,0x3F)
 BLK3: Alias(s):
 PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0x0,0x0)
 BLK0: Alias(s):
 PciRoot(0x0)/Pci(0x1D,0x0)/USB(0x0,0x0)/USB(0x4,0x0)
 BLK2: Alias(s):
 PciRoot(0x0)/Pci(0x1D,0x0)/USB(0x0,0x0)/USB(0x4,0x0)/HD(2,MBR,0x0003B)

Shell如何使用

Shell提供的函数声明在ShellLib.h,实现在UefiShellLib.c,例如,

  • ShellInitialize初始化Shell
  • ShellOpenFileByName根据文件名打开/创建文件

字符串操作

字符串操作函数在MdePkg\Include\Library\BaseLib.h

INTN
EFIAPI
StrCmp (
  IN      CONST CHAR16              *FirstString,
  IN      CONST CHAR16              *SecondString
  );
CHAR16 *
EFIAPI
StrCpy (
  OUT     CHAR16                    *Destination,
  IN      CONST CHAR16              *Source
  );
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值