BIOSがないためKVM VMを起動できません


11

Ubuntu 14.04で「kvm」コマンドを使用してKVM VMを起動しようとすると、次のエラーが発生します。

qemu: could not load PC BIOS 'bios-256k.bin'

このファイルを検索したところ、「../ seabios / bios-256k.bin」へのシンボリックリンクとして/ usr / share / qemuディレクトリに存在することがわかりました。そのディレクトリの内容をlsで表示しようとすると、そのようなファイルやディレクトリは存在しないとシステムから言われます。ただし、そのディレクトリにcdしてBIOSファイルを表示できます。qemuディレクトリから「ls ..」と入力すると、返される項目は「qemu」だけです。rootとしてログインしているので、/ usr / share内のすべてのフォルダーを表示できます。ここで何が起こっているのか誰か知っていますか?


再インストールしてみませんか?launchpad.net/ubuntu/+source/seabios
mikeserv

すべてのパッケージをapt-getパージして再インストールしましたが、それでも同じエラーが発生します。権限エラーの可能性があると思いますか?私はrootですが、それがどのように可能かはわかりません。
Eric

2
直したと思う!しかし、解決策は本当に奇妙です。私がしたことは、古いシンボリックリンクを削除し、相対パスではなく絶対パスで新しいシンボリックリンクを作成することでした。他のいくつかのファイルでもこれを行う必要がありました。
Eric

まあ、それは良いことだし、悪いことだ。ls -lそのエリアで遊んでみてください。あなたの色が私のように設定されている場合、悪いリンクは赤で目立ちます。
mikeserv 2014

それを使用virshしてKVMインスタンスを使用/停止/開始します。
slm

回答:


6
yum install seabios

私のために働いた


2
CentOSでは、同じ問題の「yum install seabios-bin」です。何らかの理由でqemuパッケージはseabios-bin RPMによってインストールされたファイルへのシンボリックリンクを作成しますが、依存関係を宣言しません
Akom

4

-L /path/to/bios引数に含めると(以下で説明します。ただし、最初のステップは必要ありません)、Qemuが指定されたディレクトリでbiosを検索します。

ですからqemu-system-x86_64 -L /usr/share/qemu/、残りの議論とともに。つまり、シンボリックリンクを変更する必要はありません。

ソース


0

Centos 7の場合、ファイル自体が(壊れたシンボリックリンクとともに)欠落していましたseabiosxen-runtime提供さbios-256k.binyum whatprovides '*/bios-256k.bin' たパッケージに、(重要でない)qemuファイルと競合するファイルがあることがわかりました。これらは、qemuを機能させるために必要な次の手順です。

yum install --downloadonly xen-runtime --downloaddir=.
rpm -i --replacefiles xen-hypervisor* xen-runtime*
qemu-system-x86_64 -L /usr/share/qemu-xen/qemu <your args>

-1
sudo ln -sf /usr/share/qemu/bios.bin /usr/share/qemu/bios-256k.bin

そして使う

-L /usr/share/qemu/

qemu必要に応じてコマンドラインで。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.