UEFI Shell编程和使用
参考shell - 在 UEFI shell 映射中,FS0和BLK0之間的區別是什麼?UEFI Shell进入UEFI Shell在UEFI的Front Page,选择Boot Manager,进入Shell,输入help命令可以得到命令列表。mapping tableMapping tableFS0: Alias(s):HD21a0e0b:;BLK1:PciRoot(0...
作者
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
初始化ShellShellOpenFileByName
根据文件名打开/创建文件
字符串操作
字符串操作函数在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
);
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)