Nie można uruchomić KVM VM, ponieważ brakuje BIOS-u

11

Ilekroć próbuję uruchomić maszynę wirtualną KVM na Ubuntu 14.04 za pomocą polecenia „kvm”, pojawia się następujący błąd:

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

Szukałem tego pliku i znalazłem go w katalogu / usr / share / qemu jako dowiązanie symboliczne do „../seabios/bios-256k.bin”. Kiedy próbuję wyświetlić zawartość tego katalogu za pomocą ls, system mówi, że nie ma takiego pliku lub katalogu. Jednak mogę cd do tego katalogu i wyświetlić plik BIOS. Kiedy piszę „ls ..” z katalogu qemu, zwracany jest tylko element „qemu”. Jestem zalogowany jako root, więc powinienem widzieć wszystkie foldery w / usr / share. Czy ktoś wie, co się tutaj dzieje?

Eric
źródło
Może spróbuj ponownie zainstalować? launchpad.net/ubuntu/+source/seabios
mikeserv
Apt-get purge'd i ponownie zainstalowałem wszystkie pakiety i nadal pojawia się ten sam błąd. Myślę, że może to być błąd uprawnień? Nie wiem jednak, jak to możliwe, ponieważ jestem rootem.
Eric
2
Myślę, że mogłem to naprawić! Jednak rozwiązanie jest naprawdę dziwne. To, co zrobiłem, to usunięcie starego dowiązania symbolicznego i utworzenie nowego z absolutną zamiast względnej ścieżki. Musiałem to zrobić również dla kilku innych plików.
Eric
Cóż, to dobrze - i źle. Pobaw się ls -lw tym obszarze. Jeśli twoje kolory są ustawione jak moje, złe linki będą wyróżniać się na czerwono.
mikeserv
Chciałbym użyć virshi zatrzymać / uruchomić twoje wystąpienia KVM z tym.
slm

Odpowiedzi:

6
yum install seabios

pracował dla mnie

użytkownik177555
źródło
2
Na CentOS jest to „yum install seabios-bin” dla tego samego problemu. Z jakiegoś powodu pakiety qemu tworzą dowiązania symboliczne do plików zainstalowanych przez seabios-bin RPM, ale nie deklarują zależności
Akom
4

Uwzględnienie -L /path/to/biosw argumentach (jak podano poniżej. Jednak nie będziesz potrzebować pierwszego kroku) sprawi, że Qemu będzie szukać w określonym katalogu bios.

Tak by było: qemu-system-x86_64 -L /usr/share/qemu/wraz z resztą argumentów. Oznacza to, że nie będziesz musiał zmieniać dowiązania symbolicznego.

Źródło

MrFregg
źródło
0

W przypadku Centos 7 brakowało samego pliku (z uszkodzonymi dowiązaniami symbolicznymi) seabios. Okazało się, że xen-runtimepod warunkiem, bios-256k.binze yum whatprovides '*/bios-256k.bin' jednak opakowanie było sprzeczne z plików (nieistotnych) plików qemu. Aby wykonać qemu, potrzebne są następujące kroki:

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>
Bryce Guinta
źródło
-1
sudo ln -sf /usr/share/qemu/bios.bin /usr/share/qemu/bios-256k.bin

I użyć

-L /usr/share/qemu/

w qemurazie potrzeby w wierszu poleceń.

Neil McGill
źródło