什么是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命令的通用選項
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
https://blog.csdn.net/Kair_Wu/article/details/48342093