UEFI Shell命令大全
什么是UEFI Shell
UEFI Shell是一种特殊对待UEFI_APPLICATION。提供用户和UEFI系统之间的一个接口。它有很强大的功能,但是正常启动计算机系统时,不会用到UEFI Shell,只有当系统启动出现问题,或者用户就是喜欢UEFI Shell(就像博主我一样,深深的爱着UEFI),主动进入UEFI Shell来对计算机系统进行配置,那么就到了UEFI Shell 大显身手,炫酷吊炸天的时候来了。
玩儿转UEFI Shell
Shell提供了丰富的内部命令。可以分为几大类:调试(Debug1),驱动(Driver1),网路(NetWork1),安装(Install1),Level1,Level2,Level3。没错,万能的help指令,在这里也是适用的,哪里不懂,就在哪里help一下就行了,比如指令:help ifconfig,就可以查看ifconfig的帮助信息,单独的help,就会输出所有的显示指令。另外,若不特殊说明,Shell内置命令的命令行参数中的数值使用十六进制,Shell命令和Linux指令不同,不区分大小写。
Shell命令的通用选项
命令行参数 |
意思 |
命令行参数 |
意义 |
-b,-break |
输出信息分屏显示 |
-t,-terse |
用简洁格式输出信息 |
-q,-quit |
不输出任何信息 |
-v,-verbose |
输出辅助信息 |
-sfo |
用标准格式输出 |
–? |
输出帮助信息 |
1.调试设备的相关命令
调试设备的相关指令主要用于查询,读取或写设备。
Dmem命令用于查看内存或设备内存,指令如下:
Dmem [-b] [adress] [size] [-MMIO](说明:[]中的内容可以又或者没有的参数。)
其中address,size都是十六进制,-MMIO指定地址为设备内存。
不带参数的dmem将会输出EFI系统表。
Mm命令用于查看或修改MEM(系统内存),MMIO(设备内存),IO(寄存器),PCI(PCI配置空间)和PCIE(PCIE配置空间)
命令如下:
Mm address [value] [-w 1|2|4|8] [-MEM| -MMIO | -IO|-PCI|-PCIE] [-n]
在上面的代码中,address为地址,value为要写入的值,-w后跟访问宽度,-n表示非交互式模式,如果不指定-n,则该命令进入交互模式。
2.驱动相关的命令
驱动类命令主要用于加载,卸载,查询驱动和驱动设备控制器。
Dh命令用于列出系统中所有设备的信息,或某个设备的相关信息。格式如下:
Dh [-l<lang>] [handle | -p <prot_id>] [-d] [-v]
说明:
[-l<lang>] 表示指定的语言显示
handle 是指UEFI Handle在系统中的编号。若没有指明handle,dh命令将列出所有设备的信息
-p <prot_id>列出所有安装了Protocol prot_id的设备信息
-d用于列出驱动相关的信息
-v用于输出verbose的信息
Device命令用于显示所有被驱动的设备信息。
Driver命令用于列出系统中的driver。
Connect用于加载驱动到设备上并启动加载的驱动。该命令的格式:
Connect [[DeviceHandle] [DriverHandle] | [-c] | [-r]]
-c用于连接控制台设备
-r用于递归扫描所有handle,发现匹配的设备和驱动就加进来,没有-r,新产生的设备将不会被连接。
Disconnect用于将驱动从设备上卸载下来。命令格式如下:
Disconnect DeviceHandle [DriverHandle [ChildHandle]] [-r]
Load命令御用加载驱动
Unload用于将驱动从内存清楚
3.网络相关命令
Ifconfig用于配置网络设备,该命令的格式如下:
Ifconfig [-?] [-c [Name]] [-l [Name]] [-s <Name> dhcp | <static <IP><MASK><Geteway>> [permanent]]
Name是网络适配器的名字,如etho0等
-c用于清除网络适配器的配置
-l用于列出网络适配器的配置
-s用于设备网络适配器的IP地址
Ping命令用于ping目标及其。格式如下:
Ping [ -n number] [-l size] TargetIP
-l size用于发送size字节的数据
-n number表示发送数据的次数。
Shell内置命令表
Shell命令 |
功能 |
Shell命令 |
功能 |
Alias |
显示,创建,删除别名 |
Dh |
显示设备句柄 |
Attrib |
显示,更改文件或目录属性 |
Discount |
从指定设备卸载驱动 |
Bcfg |
管理启动项 |
Dmem |
显示系统或设备内存的内容 |
Cd |
更改当前目录 |
Dmpstore |
管理UEFI NVRAM变量 |
Cls |
清空标准输出;更爱背景颜色 |
Drivers |
显示设备驱动 |
Comp |
比较两个文件 |
Drvcfg |
配置驱动 |
Connect |
将driver绑定到指定的设备并启动driver |
Drvdiag |
调动Driver Disgnostis Protocol |
Cp |
将文件或文件夹复制到另一个位置 |
Echo |
回显 |
Date |
显示或设置日期 |
Edit |
编辑ASCII或UCS-2文件 |
Dblk |
显示块设备里的块 |
Eficopress |
压缩文件 |
Devices |
列出所有设备 |
Efidecompre |
解压文件 |
Devtree |
显示设备树 |
Exit |
退出Shell或脚本 |
Help |
显示帮助 |
Reconnect |
重新连接驱动与设备 |
Hexedit |
二进制编辑器,可编辑文件,块设备或内存 |
Reset |
重启系统 |
Ifconfig |
配置IP地址 |
Rm |
删除文件或目录 |
Load |
加载UEFI驱动 |
Setmode |
设置串口属性 |
Loadpcirom |
加载PCI ROM |
Set |
显示或修改Shell中的环境变量 |
Ls |
列出目录内容或文件信息 |
Setzize |
调整文件大小 |
Map |
显示Mapping |
Setvar |
设置UEFI变量 |
Memmap |
显示目录映射 |
Smbiosview |
显示SMBIOS信息 |
Mkdir |
创建目录 |
Stall |
在指定的时间内暂停执行 |
Mm |
列出或修改MEM/MMIO/IO/PCI/PCIE地址空间 |
Time |
显示/设置时区 |
Mode |
列出或修改输出设备的模式 |
Timezone |
显示/设置时区 |
Mv |
移动文件或目录 |
Touch |
更新文件时间设置 |
Openinfo |
显示ProtocolS打开信息 |
Type |
显示文件类型 |
Pause |
暂停执行脚本,等待用户输入 |
Unload |
卸载驱动 |
PCI |
显示PCI设备 |
Vol |
显示/设置卷标 |
Ping |
ping |
|
|