virt-manager is a Free Software virtualization solution for Linux. virt-manager has a more complex interface than VirtualBox or GNOME Boxes but it also has a more complete set of features.

Running Tails inside a virtual machine has various security implications. Depending on the host operating system and your security needs, running Tails in a virtual machine might be dangerous.

virt-manager is the only virtualization solution that allows to use a Persistent Storage. See running Tails from a USB image.

The following instructions have been tested on Debian 12 (Bookworm).

Terminology

virt-manager is based on a set of lower level virtualization tools, going from the user interface to the hardware interactions with the processor. This terminology is a bit confusing and other documentation might mention the following tools:

  • KVM è il modulo del kernel Linux che interagisce con le funzioni di virtualizzazione del processore.

  • QEMU è il software di virtualizzazione che emula processori virtuali e periferiche e che avvia e spegne macchine virtuali basato su KVM .

  • libvirt è una libreria che consente a virt-manager di interagire con le capacità di virtualizzazione fornite da QEMU.

  • SPICE è un protocollo che permette di visualizzare il desktop delle macchine virtuali.

  • virt-manager è l'interfaccia grafica che consente di creare, configurare ed avviare macchine virtuali.

Installazione

Per installare virt-manager in Debian, esegui il seguente comando:

sudo apt install virt-manager libvirt-daemon-system

Per installare virt-manager su Ubuntu, esegui il seguente comando:

sudo apt install virt-manager libvirt-bin qemu-kvm

Avvia Tails da un'immagine ISO

  1. Download Tails as an ISO image, instead of a USB image.

  2. Avvia virt-manager.

  3. Double-click on QEMU/KVM - Not Connected to connect to the QEMU system of your host.

  4. To create a new virtual machine, choose File ▸ New Virtual Machine.

  5. In step 1, choose Local install media (ISO image or CDROM).

  6. In step 2:

    1. Choose ISO image, then Browse..., and Browse Local to browse for the ISO image that you want to start from.

    2. Unselect Automatically detected from the installation media / source.

    3. Specify Debian 11 in the field Choose the operating system you are installing.

  7. In step 3, allocate at least 2048 MB of RAM.

  8. In step 4, unselect Enable storage for this virtual machine.

  9. In step 5:

    • Type a name of your choice for the new virtual machine.

    • Click Finish to start the virtual machine.

If you get the error message "Error starting domain: Requested operation is not valid: network 'default' is not active", then try to start the default virtual network:
  1. Click on QEMU/KVM - Not Connected.
  2. Choose Edit ▸ Connection details to administer the connection to your local QEMU system.
  3. Click on Virtual Networks tab, then select the default virtual network in the left pane.
  4. Click on the Start Network icon on the bottom of the left pane to start the default virtual network.

Running Tails from a USB image

Running Tails from a USB image is the only virtualization software that allows you to use a Persistent Storage in a virtual machine.

  1. Download Tails as a USB image, instead of an ISO image.

  2. Increase the size of the USB image to be at least 8 GB. This creates space for automatic upgrades and the Persistent Storage.

    truncate -s size tails.img

    • size has to be at least 7200M.

    • tails.img is the file name of the USB image that you want to resize.

  3. Avvia virt-manager.

  4. Double-click on QEMU/KVM - Not Connected to connect to the QEMU system of your host.

  5. To create a new virtual machine, choose File ▸ New Virtual Machine.

  6. In step 1, choose Import existing disk image.

  7. In step 2:

    1. Choose Browse..., and Browse Local to browse for the USB image that you want to start from.

    2. Specify Debian 11 in the field Choose the operating system you are installing.

  8. In step 3, allocate at least 2048 MB of RAM.

  9. In step 4:

    1. Type a name of your choice for the new virtual machine.

    2. Choose Customize configuration before install.

    3. Click Finish to open the configuration view.

  10. In the configuration view, choose VirtIO Disk 1 or IDE Disk 1

    1. Set Disk bus to USB.

    2. Click Apply.

    3. Expand the Advanced options.

    4. Enable Removable.

    5. Click Apply again.

    6. Click Begin Installation in the top left corner to start the virtual machine.

After you start on the USB image, you can create a Persistent Storage on it.

Running Tails from a USB stick

To run Tails from a USB stick using virt-manager, first create a virtual machine running from an ISO image as described above.

Then do the following:

  1. From the virtual machine window, choose Virtual Machine ▸ Shut Down ▸ Force Off to shut down the virtual machine.

  2. Inserite la chiavetta USB su cui volete avviare Tails.

  3. Choose View ▸ Details to edit the configuration of the virtual machine.

  4. Click on the Add Hardware button on the bottom of the left pane.

  5. Selezionate USB Host Device nel riquadro a sinistra.

  6. Nel riquadro a destra, clicca sul dispositivo da cui vuoi avviare Tails e clicca su Finish.

You can keep the original ISO image connected as a virtual DVD to install Tails onto the USB stick if needed.

You can also disconnect the original ISO image and start directly from the USB stick once Tails is already installed on it. To do so:

  1. Spegni la macchina virtuale.

  2. In the configuration of the virtual machine, click on SATA CDROM 1 in the left pane.

  3. Click on the Disconnect button in the right pane.

  4. To enable the USB stick as a boot option:

    1. Click on Boot Options in the left pane.

    2. Select the USB boot option corresponding to your USB device.

    3. Click Apply.

  5. To start the virtual machine choose View ▸ Console and then Virtual Machine ▸ Run.

After you start on the USB device, you can create a Persistent Storage on it.

Risoluzione di problemi

Graphics issues

Issues with graphics support in Tails running inside a virtual machine with virt-manager are common. The best solution can vary depending on the version of the virtualization software and on the virtual machine configuration. For example:

  • La funzione Auto resize VM with window non funziona con tutte le configurazioni.

  • The video device that provides optimal graphics performance can be different depending on the version of the host operating system.

To troubleshoot such issues:

  1. Ensure the virtual machine has a Spice display and a Spice channel configured, as opposed to VNC ones.

  2. Try various virtual video device models.

    Start with Virtio and QXL video devices: they generally give the best results. If they don't perform well for you, try every other video device model.

  3. Try enabling or disabling the OpenGL and 3D acceleration options of the display and video device.