UEFI shell 可讓您存取和操作設備、檔案和設定。 開機 直接從韌體。
它包括 命令 對於磁碟管理、診斷、腳本和進階系統配置至關重要。
它主要與 FAT16/FAT32 檔案系統相容,其語法可能因製造商而異。
掌握 UEFI shell 是維護、客製化和修理現代電腦的關鍵。
如今,越來越多的高級和專業用戶需要與其設備的韌體進行交互,尤其是在維護、故障排除或安裝新設備期間。 OS。在此背景下, UEFI 外殼 (統一可擴展韌體介面)是一種強大的工具,它可以直接靈活地存取一系列用於管理、配置和診斷電腦啟動環境的基本命令和實用程式。
然而,儘管它具有相關性,但對於它的用途以及真正的價值仍然存在一些困惑。 UEFI shell 中的有用指令如果這個主題對你來說聽起來很像中文,或者你已經有一些經驗,並且想要更進一步,這裡有一個 深入指南 它根據官方文獻和最佳可用來源彙編最完整和最新的資訊。
UEFI shell 到底是什麼?
El UEFI 外殼 它充當與其他命令解釋器類似的控制台(例如舊的 DOS 或 終端 de Linux),但位於主機板的韌體環境中。從這裡你可以運行命令來 管理 EFI 分區、存取文件系統、載入驅動程式、啟動 .efi 應用程式、編輯設定文件,甚至透過腳本自動執行序列。。除此之外,它還提供強大的診斷和修復選項,使其成為管理員和愛好者的基本資源。 硬件.
為什麼要使用 UEFI shell?
訪問 UEFI 外殼 當你需要時它可以成為你的生命線 修改啟動順序、安裝自訂開機載入程式、診斷硬體、排除啟動問題,或直接操作韌體變數和檔案。此外,在許多專業系統、伺服器甚至黑蘋果安裝中,此控制台是執行某些進階配置的唯一方法。
UEFI shell 中的指令類型
在 UEFI 環境 有各種各樣的產品可供選擇 命令和實用程式根據用途,這些工具可以分為不同的類別。下面,我們將分析最常見、最有用的工具,並按使用領域進行細分:
使用 XCOPY 或 Robocopy 在磁碟之間複製檔案:完整指南探索和管理驅動器和檔案的命令
FSX: 在不同的已識別分區之間切換,其中 X 代表分配的號碼(例如: fs0: 存取第一個 FAT16 分割區或 FAT32 識別)。它對於從 shell 在設備和檔案系統之間導航至關重要。
光碟 : 允許您變更目前目錄並在活動分割區的檔案結構內移動。
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)設置
艾薩克對字節世界和一般技術充滿熱情的作家。我喜歡透過寫作分享我的知識,這就是我在這個部落格中要做的,向您展示有關小工具、軟體、硬體、技術趨勢等的所有最有趣的事情。我的目標是幫助您以簡單有趣的方式暢遊數位世界。