問題タブ [uefi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2243 参照

linux - How to Boot Xen Hypervisor from Uefi using Gummiboot under Arch linux

I recently had the problem, that I wanted to boot a Xen Hypervisor from Uefi using Gummiboot.

Mostly for reasons of elegance I didn't want to fall back to Bios or use another (more clunky) boot manager. I didn't find a step-by-step guide, so I had to piece everything together from documentation. For Google to find, I'll answer my own question here.

I had previously posted it to the Arch forums, and after a few revisions I think I can post it here.

Regards,

RTT

0 投票する
1 に答える
5240 参照

c - Visual Studio を使用した UEFI ドライバーのビルド

Visual Studio 2012 プロジェクトを使用して EDK2 SDK で UEFI ドライバーをビルドする方法についてアドバイスを求めています。UefiLib.lib を静的にリンクしようとしていますが、惨めに失敗しています。リンカーの下の追加の依存関係にライブラリを追加しました。

エラーは

DUMPBIN を使用して Print がライブラリに存在することを確認しましたが、エクスポートまたはインポートとしてではなく、アーカイブメンバーとして存在します。それが問題かどうかはわかりません。

0 投票する
2 に答える
558 参照

filesystems - UEFI ファイル システムの GUID とファームウェア

UEFI 自体は FAT ファイル システムを認識します。Apple システムは、HFS+ のサポートを追加します。ファームウェアによって認識される GUID コードを登録するレジストラーはありますか?

0 投票する
2 に答える
1257 参照

c++ - UEFI コンパイル済みコードの STL コンテナー クラス

最近、UEFI (提案されている BIOS の代替品) について学びながら、EDK2 を使用してコーディングとコンパイルを試みました。アイデアは、UEFI シェルに入ったときに起動できる .EFI バイナリを生成することでした。私はそうすることができました。完璧に!

現在、私のコードには純粋な C スタイルが含まれています (基本的に、クラス、コンストラクター、バーチャル、STL コンテナー クラスなどの C++ 機能がありません)。STL コンテナー クラス (文字列、ベクター、ハッシュ マップなど) を使用して、UEFI 用に .EFI をコンパイルして実行できるかどうか疑問に思っていました。

少し調べたところ、落胆がたくさんありました!基本的に、私が集めたものは次のとおりです。

  1. UEFI は C と密接に結びついています。オープンソースの実装は C++ をサポートしていません。
  2. new および delete はサポートされていません。
  3. vtable の生成はコンパイラに依存するため、生成されたコードは移植性がありません

さらに、このサイトから学ぶべきことがたくさんありました: UEFI プログラミング

しかし、残念ながら私は混乱したままでした!

私の質問は、コードで STL クラス (std::string/std::vector/std::map) を使用し、UEFI 環境用の EDK2 を使用してコンパイルできるかということです。

誰かが探すべき解決策/方向性を教えていただければ幸いです。現在、私が取り組んでいる唯一のオプションは、ここにあるコンテナーの C 実装の 1 つです: UTHash 実装

回避策はありますか?

0 投票する
2 に答える
19202 参照

uefi - ブート時に EFI アプリケーションを自動的に実行する

UEFI 環境で EFI アプリケーションをビルドして手動で実行できます。しかし、起動時にアプリケーションを自動的に実行したいと考えています。

ブートローダーにこれを行うように指示する方法はありますか、それともアプリケーションを自動的に実行するためにドライバーに変換する必要がありますか? FDF、DEC、DSC、または INF ファイルに欠落しているエントリはありますか?

0 投票する
1 に答える
1869 参照

driver - efiシェルでAHCI経由でSATAドライブに直接アクセスしますか?

EFI シェルで AHCI 経由で SATA ドライブにアクセス (読み取り/書き込み) したい場合、この目的で使用される読み取り/書き込みインターフェイスはありますか?

つまり、EFI シェル アプリケーションはドライブにアクセスするために AHCI 仕様を実装する必要がありますか? (コマンドをビルドし、コマンドを発行し、コマンドの完了を処理します...)

または、アプリケーションが特定の「読み取り/書き込み」インターフェイス (Windows の SCSI_PATH_THROUGH など) を呼び出すだけで、「EFI ahci ドライバー」がこれらを低レベルのアクセス ルーチンに変換しますか?

0 投票する
1 に答える
639 参照

linux - 事前に割り当てられた ISO イメージを RAM にマウントする方法

ISO イメージ (ストック Ubuntu 13.10 DVD ISO イメージ) が OS の前にメモリにロードされており、このイメージから Linux のインストール プロセスを開始しようとしています。GRUB はイメージを CD として認識でき、インストールを開始できます (UEFI プラットフォームで実験しており、サポートされているファイル システムでイメージを有効なブロック デバイスとして認識できるように、GRUB の UEFI バージョンを使用しています)。

私の問題は、カーネルがインストール メディアを見つけられない (これは予想されることです) ため、早い段階でパニックが発生することです。カーネルがイメージを見つけられるように単純なブロックデバイスドライバーを作成できることはわかっていますが、移植性のために、特定の開始アドレスに tmpfs/ramfs をマウントする方法はありますか? または、特定のアドレスにファイル システムがあることをカーネルに伝える方法はありますか?

ありがとう

0 投票する
2 に答える
1959 参照

uefi - UEFI プログラムによるブート オプションの追加

プログラムで UEFI ドライバーから起動オプションを追加するコードを作成するにはどうすればよいですか? 1)「Boot0001」変数を追加しようとしました:

2) 「BootOrder」変数にエントリを追加する必要があります。しかし、私は方法を理解できません。理想的には、サンプル efi アプリケーションからブート オプション boot を追加したいと考えています。

0 投票する
1 に答える
1900 参照

uefi - 新しい Win 8 マシンでは常にセキュア ブートを無効にする必要がありますか?

Windows 8 が付属する最初の新しい PC を注文したところです。Win 7 にダウングレードする天気が決まるまで待ちます。パソコン。

セキュア ブートはシステムを保護するはずですが、何か問題が発生して一部のハードウェアまたはハード ドライブに障害が発生した場合、システムは完全に役に立たない状態になると私は考えています。リカバリ ディスクを作成しても、セキュア ブートは焼き付けられたメディアの使用をブロックするため、失敗する可能性が高く、トラブルシューティングに Linux ブート ディスクを使用することはできません。

私が読んだすべてのことから、完全に機能しない PC の脅威が常に存在することに比べれば、セキュア ブートの想定されるセキュリティ上の利点は取るに足らないものです。そのことから、最初にすべきことはセキュアブートを無効にしてその可能性を排除することだと思います。私がすべきではない本当の理由はありますか?

0 投票する
1 に答える
2015 参照

powershell - この「Set-SecureBootUEFI : 認証データが正しくありません: 0xC0000022」エラーを修正するにはどうすればよいですか?

ここにあるチュートリアルと UefiSecureBootManualTests.zip (EnableSecureBoot.ps1 および append_LostCA_db.ps1) の PowerShell スクリプトを使用して、.efi ファイルに署名し、SecureBoot を有効にして、システムが起動するかどうかを確認しました (すべて正常に機能しました)。

今、system32 から winload ファイルを取得し、同じスクリプトを使用して署名し、キーを上書きして、SecureBoot が署名した winload でのみ起動できるかどうかを確認しようとしています。今回は同じスクリプトを使用していますが、append_LostCA_db.ps1 の Set-SecureBootUEFI コマンドを変更して、-AppendWrite パラメータを削除して上書きできるようにしました。

しかし、今私はエラーを受け取っています:

どうすればこれを修正できますか?

Win8.1 x64 の HP デスクトップを使用しています

後で編集: 誰かが 8.1 x64 用の署名されていない winload をくれれば、本当に助かります。