No bootable device

I believe I followed the instructions at wiki/KVM. Virtual machines start but no bootable device. I:
verified the download
extracted from the archive
navigated to the extracted folder
executed: touch WHONIX_BINARY_LICENSE_AGREEMENT_accepted
executed: sudo virsh -c qemu:///system net-define Whonix_external*.xml
executed: sudo virsh -c qemu:///system net-define Whonix_internal*.xml
executed: sudo virsh -c qemu:///system net-autostart Whonix-External
executed: sudo virsh -c qemu:///system net-start Whonix-External
executed: sudo virsh -c qemu:///system net-autostart Whonix-Internal
executed: sudo virsh -c qemu:///system net-start Whonix-Internal
executed: sudo virsh -c qemu:///system define Whonix-Gateway*.xml
executed: sudo virsh -c qemu:///system define Whonix-Workstation*.xml
executed: sudo mv Whonix-Gateway*.qcow2 /var/lib/libvirt/images/Whonix-Gateway.qcow2
executed: sudo mv Whonix-Workstation*.qcow2 /var/lib/libvirt/images/Whonix-Workstation.qcow2

The only problem that I consider might exist would be permissions for the VM path:

  • /var/lib/libvirt/images/* owned by user:root 644
  • /var/lib/libvirt/images owned by user:root 711

What are things to check or redo to attempt to get this to work? Clueless how to do this properly.

P.S. I found the instructions to lack some specific paths which may have thrown me off. There are other topics related but they don’t appear to be relevant.

I don’t maintain KVM… But some ideas…

Most likely wrong. I don’t think user user should be owning any files in /var/lib/libvirt/images?

FYI:

This might help:

chmod --verbose --recursive ug+rw /var/lib/libvirt/images
  • Owner Rights (u)
  • Group Rights (g)
  • r - read
  • w - write

Which linux user account and which linux group should own files inside folder /var/lib/libvirt/images? @HulaHoop

Generic Bug Reproduction always useful. I.e. using a Debian VM first. This permits to widen your search. I.e. →

I’ve updated the release version a few hours ago. Which one are you using?

user: libvirt-qemu

1 Like

Using Whonix XFCE 16.0.1.7.

Edit: I actually did chown, not chmod. Typo on my part.

sudo chown user:libvirt-qemu /var/lib/libvirt/images
sudo chown user:libvirt-qemu /var/lib/libvirt/images/*
Doesn’t fix anything.

chmod user

As mentioned above, user probably wrong.

* cannot expand to file file names if run under user user. * is a shell function evaluated before running the command.

It’s not chmod, it’s chown. Untested as I don’t maintain KVM:

sudo chown --recursive libvirt-qemu:kvm /var/lib/libvirt/images

I don’t know if it’s user libvirt-qemu and group kvm. Could even be root:root and all of this being a dead end.

Host: Debian Bullseye, 64 bit
virt-manager: version 1:3.2.0-3
Whonix: KVM version XFCE 16.0.1.7

Affected component(s) or functionality: Initial loading/booting
Steps to reproduce the behavior:

  1. navigated to the extracted folder
  2. $ sudo virsh -c qemu:///system net-define Whonix_external*.xml
  3. $ sudo virsh -c qemu:///system net-define Whonix_internal*.xml
  4. $ sudo virsh -c qemu:///system net-autostart Whonix-External
  5. $ sudo virsh -c qemu:///system net-start Whonix-External
  6. $ sudo virsh -c qemu:///system net-autostart Whonix-Internal
  7. $ sudo virsh -c qemu:///system net-start Whonix-Internal
  8. $ sudo virsh -c qemu:///system define Whonix-Gateway*.xml
  9. $ sudo virsh -c qemu:///system define Whonix-Workstation*.xml
  10. $ sudo mv Whonix-Gateway*.qcow2 /var/lib/libvirt/images/Whonix-Gateway.qcow2
  11. $ sudo mv Whonix-Workstation*.qcow2 /var/lib/libvirt/images/Whonix-Workstation.qcow2
  12. start Whonix-Gateway in virt-manager

Expected behavior: Whonix-Gateway should start, boot and successfully load.
Actual behavior: Whonix-Gateway fails to boot with “Booting from Hard Disk…” “Boot failed: not a bootable disk” “No bootable device.”

Context: Basic setup of Whonix for KVM

Relevant documentation: wiki/KVM

Making the qcow2 files world readable and executable doesn’t help.

/var/log/libvirt/qemu reads:
2021-09-12 18:40:34.542+0000: starting up libvirt version: 7.0.0, package: 3 (Andrea Bolognani eof@kiyuko.org Fri, 26 Feb 2021 16:46:34 +0100), qemu version: 5.2.0Debian 1:5.2+dfsg-11, kernel: 5.10.0-8-amd64, hostname: host
LC_ALL=C
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOME=/var/lib/libvirt/qemu/domain-8-Whonix-Gateway
XDG_DATA_HOME=/var/lib/libvirt/qemu/domain-8-Whonix-Gateway/.local/share
XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain-8-Whonix-Gateway/.cache
XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain-8-Whonix-Gateway/.config
QEMU_AUDIO_DRV=spice
/usr/bin/qemu-system-x86_64
-name guest=Whonix-Gateway,debug-threads=on
-S
-object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-8-Whonix-Gateway/master-key.aes
-machine pc-i440fx-5.2,accel=kvm,usb=off,vmport=off,dump-guest-core=off,mem-merge=off,memory-backend=pc.ram
-cpu host,migratable=on,kvmclock=on,kvm-pv-unhalt=on,pmu=off
-m 512
-object memory-backend-ram,id=pc.ram,size=536870912
-overcommit mem-lock=off
-smp 1,sockets=1,cores=1,threads=1
-uuid e92f309e-e5b3-40dc-968a-2f4ee5ba4a3b
-device vmgenid,guid=ff041a88-e834-42b0-9fae-43420936412d,id=vmgenid0
-no-user-config
-nodefaults
-chardev socket,id=charmonitor,fd=34,server,nowait
-mon chardev=charmonitor,id=monitor,mode=control
-rtc base=utc,clock=vm,driftfix=slew
-global kvm-pit.lost_tick_policy=delay
-no-hpet
-no-shutdown
-global PIIX4_PM.disable_s3=1
-global PIIX4_PM.disable_s4=1
-boot menu=on,strict=on
-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2
-device ahci,id=sata0,bus=pci.0,addr=0x8
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5
-blockdev ‘{“driver”:“file”,“filename”:“/var/lib/libvirt/images/Whonix-Gateway.qcow2”,“node-name”:“libvirt-1-storage”,“auto-read-only”:true,“discard”:“unmap”}’
-blockdev ‘{“node-name”:“libvirt-1-format”,“read-only”:false,“driver”:“qcow2”,“file”:“libvirt-1-storage”,“backing”:null}’
-device virtio-blk-pci,bus=pci.0,addr=0x6,drive=libvirt-1-format,id=virtio-disk0,bootindex=1
-netdev tap,fd=36,id=hostnet0
-device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:c1:95:dd,bus=pci.0,addr=0x3
-netdev tap,fd=37,id=hostnet1
-device virtio-net-pci,netdev=hostnet1,id=net1,mac=52:54:00:41:51:b9,bus=pci.0,addr=0x4
-chardev pty,id=charserial0
-device isa-serial,chardev=charserial0,id=serial0
-chardev spicevmc,id=charchannel0,name=vdagent
-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0
-spice port=5900,addr=127.0.0.1,disable-ticketing,disable-agent-file-xfer,seamless-migration=on
-device virtio-vga,id=video0,max_outputs=1,bus=pci.0,addr=0x2
-object rng-random,id=objrng0,filename=/dev/urandom
-device virtio-rng-pci,rng=objrng0,id=rng0,bus=pci.0,addr=0x7
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny
-msg timestamp=on
char device redirected to /dev/pts/1 (label charserial0)
2021-09-12T18:40:47.836703Z qemu-system-x86_64: terminating on signal 15 from pid 824 (/usr/sbin/libvirtd)
2021-09-12 18:40:48.037+0000: shutting down, reason=destroyed

Download the latest version then report back.

Same result. My steps:
in virt-manager I deleted the old version then

user@host:~/Whonix-XFCE-16.0.2.7.Intel_AMD64.qcow2.libvirt$ touch WHONIX_BINARY_LICENSE_AGREEMENT_accepted
user@host:~/Whonix-XFCE-16.0.2.7.Intel_AMD64.qcow2.libvirt$ sudo virsh -c qemu:///system net-define Whonix_external*.xml
error: Failed to define network from Whonix_external_network-16.0.2.7.xml
error: operation failed: network ‘Whonix-External’ already exists with uuid 05255121-a92c-46d3-8f44-e91770fe5d7c
user@host:~/Whonix-XFCE-16.0.2.7.Intel_AMD64.qcow2.libvirt$ sudo virsh -c qemu:///system net-define Whonix_internal*.xml
error: Failed to define network from Whonix_internal_network-16.0.2.7.xml
error: operation failed: network ‘Whonix-Internal’ already exists with uuid 1c0c23e8-4597-4373-87a2-aa5feb50c5a2
user@host:~/Whonix-XFCE-16.0.2.7.Intel_AMD64.qcow2.libvirt$ sudo virsh -c qemu:///system net-autostart Whonix-External
Network Whonix-External marked as autostarted
user@host:~/Whonix-XFCE-16.0.2.7.Intel_AMD64.qcow2.libvirt$ sudo virsh -c qemu:///system net-start Whonix-External
error: Failed to start network Whonix-External
error: Requested operation is not valid: network is already active
user@host:~/Whonix-XFCE-16.0.2.7.Intel_AMD64.qcow2.libvirt$ sudo virsh -c qemu:///system net-autostart Whonix-Internal
Network Whonix-Internal marked as autostarted
user@host:~/Whonix-XFCE-16.0.2.7.Intel_AMD64.qcow2.libvirt$ sudo virsh -c qemu:///system net-start Whonix-Internal
error: Failed to start network Whonix-Internal
error: Requested operation is not valid: network is already active
user@host:~/Whonix-XFCE-16.0.2.7.Intel_AMD64.qcow2.libvirt$ sudo virsh -c qemu:///system define Whonix-Gateway*.xml
Domain ‘Whonix-Gateway’ defined from Whonix-Gateway-XFCE-16.0.2.7.xml
user@host:~/Whonix-XFCE-16.0.2.7.Intel_AMD64.qcow2.libvirt$ sudo virsh -c qemu:///system define Whonix-Workstation*.xml
Domain ‘Whonix-Workstation’ defined from Whonix-Workstation-XFCE-16.0.2.7.xml
user@host:~/Whonix-XFCE-16.0.2.7.Intel_AMD64.qcow2.libvirt$ sudo mv Whonix-Gateway*.qcow2 /var/lib/libvirt/images/Whonix-Gateway.qcow2
user@host:~/Whonix-XFCE-16.0.2.7.Intel_AMD64.qcow2.libvirt$ sudo mv Whonix-Workstation*.qcow2 /var/lib/libvirt/images/Whonix-Workstation.qcow2

Emulated OS says “No bootable device”

/var/log/libvirt/qemu says:

2021-09-14 17:54:29.417+0000: starting up libvirt version: 7.0.0, package: 3 (Andrea Bolognani eof@kiyuko.org Fri, 26 Feb 2021 16:46:34 +0100), qemu version: 5.2.0Debian 1:5.2+dfsg-11, kernel: 5.10.0-8-amd64, hostname: host
LC_ALL=C
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOME=/var/lib/libvirt/qemu/domain-9-Whonix-Gateway
XDG_DATA_HOME=/var/lib/libvirt/qemu/domain-9-Whonix-Gateway/.local/share
XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain-9-Whonix-Gateway/.cache
XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain-9-Whonix-Gateway/.config
QEMU_AUDIO_DRV=spice
/usr/bin/qemu-system-x86_64
-name guest=Whonix-Gateway,debug-threads=on
-S
-object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-9-Whonix-Gateway/master-key.aes
-machine pc-i440fx-5.2,accel=kvm,usb=off,vmport=off,dump-guest-core=off,mem-merge=off,memory-backend=pc.ram
-cpu host,migratable=on,kvmclock=on,kvm-pv-unhalt=on,pmu=off
-m 512
-object memory-backend-ram,id=pc.ram,size=536870912
-overcommit mem-lock=off
-smp 1,sockets=1,cores=1,threads=1
-uuid e92f309e-e5b3-40dc-968a-2f4ee5ba4a3b
-device vmgenid,guid=ff041a88-e834-42b0-9fae-43420936412d,id=vmgenid0
-no-user-config
-nodefaults
-chardev socket,id=charmonitor,fd=34,server,nowait
-mon chardev=charmonitor,id=monitor,mode=control
-rtc base=utc,clock=vm,driftfix=slew
-global kvm-pit.lost_tick_policy=delay
-no-hpet
-no-shutdown
-global PIIX4_PM.disable_s3=1
-global PIIX4_PM.disable_s4=1
-boot menu=on,strict=on
-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2
-device ahci,id=sata0,bus=pci.0,addr=0x8
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5
-blockdev ‘{“driver”:“file”,“filename”:“/var/lib/libvirt/images/Whonix-Gateway.qcow2”,“node-name”:“libvirt-1-storage”,“auto-read-only”:true,“discard”:“unmap”}’
-blockdev ‘{“node-name”:“libvirt-1-format”,“read-only”:false,“driver”:“qcow2”,“file”:“libvirt-1-storage”,“backing”:null}’
-device virtio-blk-pci,bus=pci.0,addr=0x6,drive=libvirt-1-format,id=virtio-disk0,bootindex=1
-netdev tap,fd=36,id=hostnet0
-device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:c1:95:dd,bus=pci.0,addr=0x3
-netdev tap,fd=37,id=hostnet1
-device virtio-net-pci,netdev=hostnet1,id=net1,mac=52:54:00:41:51:b9,bus=pci.0,addr=0x4
-chardev pty,id=charserial0
-device isa-serial,chardev=charserial0,id=serial0
-chardev spicevmc,id=charchannel0,name=vdagent
-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0
-spice port=5900,addr=127.0.0.1,disable-ticketing,disable-agent-file-xfer,seamless-migration=on
-device virtio-vga,id=video0,max_outputs=1,bus=pci.0,addr=0x2
-object rng-random,id=objrng0,filename=/dev/urandom
-device virtio-rng-pci,rng=objrng0,id=rng0,bus=pci.0,addr=0x7
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny
-msg timestamp=on
char device redirected to /dev/pts/1 (label charserial0)
2021-09-14T17:55:50.018667Z qemu-system-x86_64: terminating on signal 15 from pid 824 (/usr/sbin/libvirtd)
2021-09-14 17:55:50.219+0000: shutting down, reason=destroyed
2021-09-14 18:05:34.775+0000: starting up libvirt version: 7.0.0, package: 3 (Andrea Bolognani eof@kiyuko.org Fri, 26 Feb 2021 16:46:34 +0100), qemu version: 5.2.0Debian 1:5.2+dfsg-11, kernel: 5.10.0-8-amd64, hostname: host
LC_ALL=C
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOME=/var/lib/libvirt/qemu/domain-10-Whonix-Gateway
XDG_DATA_HOME=/var/lib/libvirt/qemu/domain-10-Whonix-Gateway/.local/share
XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain-10-Whonix-Gateway/.cache
XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain-10-Whonix-Gateway/.config
QEMU_AUDIO_DRV=spice
/usr/bin/qemu-system-x86_64
-name guest=Whonix-Gateway,debug-threads=on
-S
-object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-10-Whonix-Gateway/master-key.aes
-machine pc-i440fx-5.2,accel=kvm,usb=off,vmport=off,dump-guest-core=off,mem-merge=off,memory-backend=pc.ram
-cpu host,migratable=on,kvmclock=on,kvm-pv-unhalt=on,pmu=off
-m 512
-object memory-backend-ram,id=pc.ram,size=536870912
-overcommit mem-lock=off
-smp 1,sockets=1,cores=1,threads=1
-uuid c3f9f8d9-ce41-40ff-9a4c-70be7910bb55
-device vmgenid,guid=aedb8246-eb15-481c-865d-03d68a95918b,id=vmgenid0
-no-user-config
-nodefaults
-chardev socket,id=charmonitor,fd=34,server,nowait
-mon chardev=charmonitor,id=monitor,mode=control
-rtc base=utc,clock=vm,driftfix=slew
-global kvm-pit.lost_tick_policy=delay
-no-hpet
-no-shutdown
-global PIIX4_PM.disable_s3=1
-global PIIX4_PM.disable_s4=1
-boot strict=on
-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5
-blockdev ‘{“driver”:“file”,“filename”:“/var/lib/libvirt/images/Whonix-Gateway.qcow2”,“node-name”:“libvirt-1-storage”,“auto-read-only”:true,“discard”:“unmap”}’
-blockdev ‘{“node-name”:“libvirt-1-format”,“read-only”:false,“driver”:“qcow2”,“file”:“libvirt-1-storage”,“backing”:null}’
-device virtio-blk-pci,bus=pci.0,addr=0x6,drive=libvirt-1-format,id=virtio-disk0,bootindex=1
-netdev tap,fd=36,id=hostnet0
-device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:47:88:9b,bus=pci.0,addr=0x3
-netdev tap,fd=37,id=hostnet1
-device virtio-net-pci,netdev=hostnet1,id=net1,mac=52:54:00:cd:16:28,bus=pci.0,addr=0x4
-chardev pty,id=charserial0
-device isa-serial,chardev=charserial0,id=serial0
-chardev spicevmc,id=charchannel0,name=vdagent
-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0
-spice port=5900,addr=127.0.0.1,disable-ticketing,disable-agent-file-xfer,seamless-migration=on
-device virtio-vga,id=video0,max_outputs=1,bus=pci.0,addr=0x2
-object rng-random,id=objrng0,filename=/dev/urandom
-device virtio-rng-pci,rng=objrng0,id=rng0,bus=pci.0,addr=0x7
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny
-msg timestamp=on
char device redirected to /dev/pts/1 (label charserial0)
2021-09-14T18:05:53.329859Z qemu-system-x86_64: terminating on signal 15 from pid 824 (/usr/sbin/libvirtd)
2021-09-14 18:05:53.737+0000: shutting down, reason=destroyed