VM 内で BIOS を更新できますか?

VM 内で BIOS を更新できますか?

私は Lenovo Y510P を持っており、Linux (Antergos) を実行しています。BIOS を更新するには Windows を実行する必要があると読みました。

サンドボックス環境なので、できないと思いますが、新しい OS をインストールするブート メニューで多くの問題が発生したため、確認したいのです。

答え1

技術的には、はい、可能です。ただし、実際に試したどの VM でも不可能です。

問題は、

  1. BIOS アップデータが書き込むハードウェア デバイスを把握します (NVRAM デバイスなど)。
  2. ホスト OS にそのハードウェアを認識させます (/dev/ にファイルとして配置するなど。ドライバーは、バスなど、接続されているデバイスにのみ必要です)。
  3. VM がこれらのデバイスをゲストに渡すようにします。

Linuxをホストとする場合、ハードウェアが独自のものや非常に特殊なものでなければ、ステップ1と2は実行できるはずです。(例えばNVRAMは簡単です。)問題は、私が知っているVMが通過できないことです。任意ハードウェア。USBやPCI、ドライブなどに対応しています。しかし、どんなハードウェアでも対応できるわけではありません。なぜなら、これが私の答えです。VMソフトウェアはまたクライアントに許可されている内容を監視しながら、実際に通過する方法を知っている一種の「ドライバー」が必要です。

したがって、実際には 2 つの選択肢があります。

  1. Linux が「通常の」ハードウェアとして認識できるハードウェア... たとえば、NVRAM は、通常のブロック デバイスとして認識される場合がありますdd。VM はまったく必要なく、Linux から直接更新できます。(ただし、元の BIOS アップデーターは通常、ハードウェアとの互換性など、いくつかの非常に重要なチェックを実行するので注意してください。そうしないと、ブリックになってしまう可能性があります。)
  2. それ以外の場合は、KVM/qemu に貢献し、特定のハードウェアにパススルーを追加する必要があります。

TL;DR: 十分な時間があれば、すべては可能です。ただし、それがあなたの事象の地平線の外側でない限りは。;)

あるいはもっと短く言うと、「いいえ」です。

関連情報