5

EFI のプログラミングを試してみたいので、virtualbox を使用して VM を作成し、「efi を有効にする」オプションをオンにして、CD を空のままにしました。efi シェルは本来の方法で起動しますが、FS0 の代わりに BLK0、BLK1 などしか表示されません。USB ディスク (FS として表示される) を挿入せずに FS を使用する方法はありますか?

編集:返信ありがとうございます。それでも VB を使用したい場合は、Windows CD を使用して DISKPART で VB ディスクをフォーマットすると問題が解決します。

4

1 に答える 1

8

コメントの@unixsmurfの回答は正しいです。イメージには、UEFI でサポートされているファイル システムが必要です。fsXコマンドの出力に表示されない場合はmap、接続されているブロック デバイス ( blkX) にサポートされているファイル システムが含まれていないことを意味します。ディスクに FAT32 パーティションを作成してください。そうすればfsXmap出力で確認できるようになります。ファイルシステムを切り替えるには、DOS のような構文コマンドを使用します。fs0:FS0 ファイル システムに切り替えます。

UEFI 仕様 2.5 セクション 12.3 によると:

EFI には、システム パーティション用の FAT32 の使用と、リムーバブル メディア用の FAT12 または FAT16 の使用が含まれます。

VirtualBox 経由ではなく、QEMU でOVMF (Open Virtual Machine Firmware) を直接使用することをお勧めします。なんで ?

  • OVMF をハックして内部でどのように動作するかを学習できるため、これにより理解が深まり、VirtualBox は内部を隠し、ファームウェアの交換が可能かどうかわかりません。
  • OVMF は当初 QEMU 用に開発され、他のさまざまな仮想マシンに適応されています。これは、VirtualBox の OVMF よりも QEMU での OVMF のサポートの方がはるかに多いためです。
  • QEMU を使用すると、ハードウェアをエミュレートし、それを使用する UEFI でドライバー/アプリケーションを作成することもできます

OVMFを使用した UEFI アプリケーション開発に必要な開発環境のセットアップに役立つ初心者用チュートリアルを作成しました。

OVMF の詳細。

于 2015-12-16T13:52:15.527 に答える