ここには多くの貴重な回答がありますが、私はいくつかの UEFI アプリケーションを自分で作成したため、2 セントを追加しようとします。まず、私たちが話していることを根拠づけるための UEFI アプリケーションとは何ですか。
UEFI 仕様 v2.5:
セクション 2.1.1
イメージ タイプ間の主な違いは、ファームウェアがイメージをロードするメモリ タイプと、イメージのエントリ ポイントが終了または復帰するときに実行されるアクションです。アプリケーション イメージは、イメージのエントリ ポイントから制御が返されると、常にアンロードされます。
セクション 2.1.2
アプリケーションがエントリ ポイントから戻るとき、またはブート サービス EFI_BOOT_SERVICES.Exit() を呼び出すときに、アプリケーションはメモリからアンロードされ、アプリケーションをロードした UEFI コンポーネントに制御が返されます。
UEFI で意味のあるアプリケーションのグループ:
- 構成ツール- オプション ROM (つまり、ストレージ コントローラー用) の構成インターフェイス、帯域外管理 (つまり、AMT 構成ツール)、メーカーのパフォーマンス調整ツール
- Provisioning tools - used by administrators to preload specific BIOS setting, manually setting all options in BIOS setup would be inefficient
- Diagnostics tools - mostly for tests that cannot be performed in OS (DRAM tests, full storage scan, storage R/W tests, etc.). In some districts specific diagnostics tools are required in UEFI BIOS, so those can be sold to government.
- Security applications - HDD encryption/decryption, antivirus scanner and anti thief applications
- BIOS capability enhancement - Power Over Ethernet extensions, DRAM discovery, patching and modification of system tables (SMBIOS, ACPI)
- Display tools - for displaying complex animations while running, splash screen displaying
- Bootloaders - this is special type of application, which can call
EFI_BOOT_SERVICES.ExitBootServices()
causing termination of all memory management and passing control to Operating System.
Note that very important feature of UEFI application is that it can be added to boot order and be executed each boot time. Also UEFI application do not have to be delivered with BIOS image it can be stored in connected device memory, which is common for Option ROM configuration tools.