今日では、特にメンテナンス、トラブルシューティング、または新しいデバイスのインストール中に、デバイスのファームウェアを操作する上級ユーザーやプロフェッショナルユーザーがますます増えています。 OSの。この文脈では、 UEFIシェル (Unified Extensible Firmware Interface) は、コンピューターのブート環境を管理、構成、診断するための一連の重要なコマンドとユーティリティに直接かつ柔軟にアクセスできる強力なツールとして際立っています。
しかし、その関連性にもかかわらず、その使用法と実際の価値については混乱が生じています。 UEFIシェルの便利なコマンドこのトピックが中国語のように聞こえる場合、またはすでにある程度の経験があり、さらに詳しく知りたい場合は、 詳細ガイド 公式文書と入手可能な最良の情報源に基づいて、最も完全かつ最新の情報をまとめたものです。
UEFI シェルとは何でしょうか?
El UEFIシェル これは、他のコマンドインタープリタ(古いDOSや ターミナル de Linux)ですが、マザーボードのファームウェア環境内にあります。ここからコマンドを実行して EFI パーティションの管理、ファイル システムへのアクセス、ドライバーの読み込み、.efi アプリケーションの起動、構成ファイルの編集、さらにはスクリプトによるシーケンスの自動化も行えます。これらに加えて、強力な診断および修復オプションも提供しており、管理者や愛好家にとって基本的なリソースとなっています。 ハードウェア.
UEFI シェルを使用する理由は何ですか?
アクセス UEFI シェル 必要なときに命綱となる ブートシーケンスを変更するカスタムブートローダーのインストール、ハードウェアの診断、起動時のトラブルシューティング、ファームウェアの変数やファイルの直接操作などが可能です。さらに、多くのプロフェッショナルシステム、サーバー、さらにはHackintoshのインストールでは、このコンソールが特定の高度な設定を行う唯一の手段となっています。
UEFIシェルのコマンドの種類
で UEFI環境 多種多様な コマンドとユーティリティこれらは用途に応じて様々なカテゴリーに分類できます。以下では、最も一般的で便利なものを用途別に分析します。
ドライブとファイルを探索および管理するためのコマンド
- fsX: 認識された異なるパーティション間を切り替えます。 X 割り当てられた番号を表します(例: fs0: 最初のFAT16パーティションにアクセスするか FAT32 認識されます)。これは、シェルからデバイスとファイルシステム間を移動するために不可欠です。
- cd: 現在のディレクトリを変更し、アクティブ パーティションのファイル構造内を移動できます。
- ls: 現在のディレクトリまたは指定されたディレクトリ内のファイルとフォルダのリストを表示します。これは、EFI の内容を調べるのに非常に便利です。
- cp 宛先ファイル: ファイルまたはフォルダをコピーする( -r 再帰的なディレクトリコピー用)。
- 動画: ファイルやフォルダを移動したり名前を変更したりします。
- rm ファイル/ディレクトリ: ファイルとディレクトリを削除します。
- mkdir ディレクトリ: 指定されたパスに新しいディレクトリを作成します。
- ファイルタイプ: ファイルの内容をテキスト形式で表示します。
- ファイル名を編集: シンプルなテキスト エディターを開き、シェルから直接ファイルを作成または変更します。
デバイスのマッピングと管理コマンド
- 地図: UEFIでアクセス可能なすべてのデバイスとパーティションを一覧表示し、次のような名前を割り当てます。 fs0: ファイルシステムまたは ブロック0: ブロックデバイスの場合。これはEFIディスクとパーティションの場所を特定するために不可欠です。例えば、次のような出力が表示されることがあります。
fs0 : VenHw(不明デバイス:00)/HD(Part1,Sig00000000) blk0 : VenHw(不明デバイス:00)
fsX: アクセス可能なFAT16/FAT32ファイルシステムを指しますが、 ブロックX: ファームウェアによって検出されたブロック デバイスを識別します。
- BlkDeviceをマウントします: 必要に応じて、ブロック デバイスをエイリアス付きのファイル システムとしてマウントします。
- デブロック: ブロック デバイスの 16 進ダンプを実行します。これは低レベルの検査に役立ちます。
- 開発ツリー: 利用可能なデバイスのツリーが表示され、ハードウェア トポロジを理解するのに非常に役立ちます。
ブート管理とEFI変数
- bcfg: このコマンドは、EFI NVRAM内のブートオプションを管理する上で重要な役割を果たします。ブートおよびドライバのエントリを追加、削除、または一覧表示できます。例えば、カスタムブートローダー(Cloverなど)を追加するには、次のようにします。
bcfg ブート 0 fs1:\EFI\CLOVER\CLOVERX64.efi "Clover" を追加します
どこ 0 優先事項は、 fs1: .efiファイルが配置されているパーティション、そして最後の引数はブートメニューエントリの名前です。EFI変数を管理するには、 も参照してください。
- dmpストア: EFI 変数ストアの内容をダンプし、現在の値を簡単に確認または編集できるようにします。
- リセット : システムのコールド リブートを実行します。重要な設定を変更した後に役立ちます。
ドライバー、プロトコル、メンテナンス
- 接続ハンドル番号: EFI ドライバーをデバイスに関連付けて起動します。
- デバイスハンドル#を切断します]: デバイスをコントローラーから切断します。これは、ドライバーを操作したり、非互換性を診断したりするときに重要です。
- ドライバー : システムにロードされているドライバーを表示します。
- drvcfg、drvdiag: これらは、複雑な環境でのデバッグに役立つ、コントローラーの構成および診断プロトコルを呼び出します。
- loadpcirom、ロードドライバー名: PCI オプション ROM または追加のドライバーをロードして、ファームウェアの機能を拡張できます。
- ブートメンテナンス: シェル内でブート オプションを変更するためのビジュアル ユーティリティであるブート メンテナンス マネージャーを起動します。
メモリ管理とデータダンプ
- dmem : メモリ位置の内容を表示できるため、高度なデバッグに最適です。
- メモリ: 割り当てられたメモリまたは I/O をダンプします。
- メモリマップ: システム メモリ マップを表示し、使用済みメモリと空きメモリの概要を示します。
- mm アドレス: 物理メモリまたはMMIOメモリ領域を変更できます。主に技術者や開発者によって使用されます。
日付、時刻、環境に関連するコマンド
- 日付 : システムの日付を表示または設定します。
- 時間 : 時間を確認または調整します。
- 見る: UEFI シェルの現在のバージョンを表示します。
- クラス: ターミナル画面をクリーンアップします。コンソールで長時間作業するときに整理整頓を保つのに最適です。
- モード: シェルの現在のグラフィック モードを設定または照会します。
スクリプトと自動化コマンド
- エコー | ]: 画面にテキストを表示し、.nsh スクリプト内のコマンドのエコーを制御します。
- if、else、endif、for、endfor、goto tag、pause: 自動化されたスクリプトの基本的な制御構造。UEFI 環境での日常的なタスクや複雑なタスクの自動化を容易にします。
高度な診断とハードウェアテスト
Oracleやエンタープライズプラットフォームなどで実装されているUEFI環境の中には、システムのハードウェアをチェックするための専用コマンドを備えた診断用CLIが組み込まれているものもあります。最も関連性の高いものは以下のとおりです。
- cfgtbl: ファームウェア構造を理解するために不可欠な、インストールされているすべての UEFI テーブルを表示します。
- cpu { cpuid | 情報 | モデル | 速度 | simd | トップ | sysregs | idt | memcfg }: テストを実行し、CPU に関する詳細情報を表示します。
- fpu: 浮動小数点ユニットテストを実行します。
- グラフィック: 使用可能なグラフィック モードを表示したり、それらのテストを実行したりします。
- メモリ { テスト | 情報 }: RAM とその設定に関する情報をテストして表示します。
- ネットワーク: イーサネット インターフェイスを表示したり、接続テストを実行したりします。
- rtc: 現在の日付と時刻を 24 時間形式で確認します。
- ストレージ { info | mst | rrt | srt | rwv }: デバイスを分析およびテストする ストレージ.
- システム { acpi | 情報 | インベントリ | symbios | cpuestockets | pelink }: 一般的なシステム情報を表示します。サーバー上で非常に役立ちます。
- TPM: セキュリティ モジュール (TPM) とアクセス ログの詳細を表示します。
- USB: USB デバイスとハブに関する情報を一覧表示します。
UEFIシェルを使用する際に留意すべき点
思い切って行動する前に検討すべき基本的な質問をいくつか挙げます。
- UEFIシェルは、特別な場合を除き、通常はFAT16またはFAT32でフォーマットされたパーティションでのみ動作します。ディスクのファイルシステムが NTFSexFATまたはその他の この環境からはアクセスできません.
- UEFI シェルのバージョンで使用できるすべてのコマンドを確認するには、言語と特定のファームウェアに応じて、 コマンドまたは コマンドを使用できます。
実際の使用例:カスタムブートローダーの追加
UEFIシェルを使用する最も一般的な理由の一つは、ブートシーケンスを変更してカスタムブートローダー(HackintoshのCloverやOpenCore、またはカスタムLinuxインストールなど)をロードすることです。基本的なプロセスは以下のとおりです。
- 適切なEFIパーティションに切り替えるには、 fsX:
- 内容を確認する ls o DIR.
- コマンドを実行 bcfg ブート追加 たとえば、次のようになり
bcfg boot add 0 fs1:\EFI\CLOVER\CLOVERX64.efi "Clover" - エントリが正しく作成されたことを確認し、コンピューターを再起動して変更を確認します。
UEFIシェルは非常に多用途で強力なツールです。コマンドとユーティリティを習得すれば、メンテナンスやトラブルシューティングが容易になるだけでなく、システムの起動プロセスを完全に制御できるようになります。制御された環境で練習と実験を行うことが、UEFIシェルの操作に慣れ、その機能を最大限に活用するための最良の方法です。
バイトの世界とテクノロジー全般についての情熱的なライター。私は執筆を通じて自分の知識を共有するのが大好きです。このブログでは、ガジェット、ソフトウェア、ハードウェア、技術トレンドなどについて最も興味深いことをすべて紹介します。私の目標は、シンプルで楽しい方法でデジタル世界をナビゲートできるよう支援することです。
