GNU/Linux >> Tutoriels Linux >  >> Linux

Accéder et modifier des images de disque de machine virtuelle avec Libguestfs

Les libguestfs est une bibliothèque C et une collection d'outils sur cette bibliothèque pour créer, afficher, accéder et modifier des images de disque de machine virtuelle sous Linux. Vous pouvez regarder à l'intérieur des images de disque, modifier les fichiers qu'elles contiennent, les créer à partir de zéro, les redimensionner et bien plus encore. Il ne nécessite pas libvirt ou KVM et ne nécessite pas non plus de privilèges root. Red Hat sponsorise le développement de libguestfs. Il prend en charge de nombreuses distributions Linux et variantes Unix comme Mac OS.

Libguestfs fonctionne avec presque tous les systèmes de fichiers Linux (ext2/3/4, XFS, btrfs, etc.), les systèmes de fichiers Windows (vfat et ntfs), les systèmes de fichiers Mac OS et BSD, les volumes LVM2, les partitions de disque MBR et GPT, les disques RAW , QCOW2, VirtualBox VDI, VMWare VMDK et Hyper-V VHD/VHDX. Il peut même accéder aux fichiers locaux et aux périphériques locaux tels que les ISO de CD et de DVD, les cartes SD ou à distance via FTP, HTTP, SSH, iSCSI, NBD, GlusterFS, Ceph, Sheepdog et bien plus encore.

Fonctionnalités de Libguestfs

En utilisant les outils libguest, nous pouvons effectuer un grand nombre de tâches répertoriées ci-dessous :

  • Créer des machines virtuelles invitées,
  • Cloner des machines virtuelles,
  • Créer des VM,
  • Personnaliser les VM,
  • Scripter les modifications apportées aux VM,
  • Inspecter les images de MV,
  • Afficher et modifier des fichiers à l'intérieur des machines invitées
  • Copier des fichiers et des répertoires vers et depuis des machines virtuelles,
  • Afficher des informations sur les systèmes de fichiers, les périphériques, LVM,
  • Archive, importe et télécharge des fichiers,
  • Surveiller les statistiques de disque utilisé/libre,
  • Formater les disques virtuels,
  • Redimensionner les disques virtuels,
  • Effectuer des sauvegardes,
  • Monter et démonter le système de fichiers invité dans le système hôte,
  • P2V (convertir une machine physique pour une exécution virtualisée sur KVM, OpenStack, oVirt, Red Hat Virtualization),
  • V2V (convertir une machine invitée à partir d'un hyperviseur étranger pour qu'elle s'exécute sur KVM),
  • Afficher les fichiers journaux,
  • Fusionner les modifications dans le registre Windows dans les invités Windows,
  • et bien plus encore.

Vous pouvez effectuer toutes ces tâches via un shell scriptable appelé guestfish , ou un shell de secours interactif virt-rescue .

Installer libguestfs sur Linux

Exécutez la commande suivante pour installer libguestfs sur Debian, Ubuntu :

$ sudo apt install libguestfs-tools

Sur CentOS, RHEL :

$ sudo dnf install libguestfs-tools

Une fois installé, vérifiez la version de guestfish à l'aide de la commande :

$ guestfish --version
guestfish 1.40.2

Accéder et modifier des images de disque de machine virtuelle avec Libguestfs

Assurez-vous que les machines invitées sont hors tension. Vous ne devez en aucun cas modifier les images en direct. Cela peut entraîner une corruption permanente du disque et une perte de données. Sauvegardez toujours les images de disque avant d'y apporter des modifications.

1. Coquille de poisson invité

Guestfish, abréviation de shell de système de fichiers invité, est un shell interactif permettant de modifier les systèmes de fichiers et les images de disque des machines virtuelles.

1.1. Accéder aux images de disque existantes et monter manuellement les systèmes de fichiers invités

Tout d'abord, chargeons une image disque existante à inspecter.

Exécutez la commande suivante depuis pour entrer dans le shell interactif guestfish :

$ guestfish

Exemple de résultat :

Welcome to guestfish, the guest filesystem shell for
editing virtual machine filesystems and disk images.

Type: ‘help’ for help on commands
      ‘man’ to read the manual
      ‘quit’ to quit the shell

><fs>

Ici, > indique l'invite guestfish.

..puis ajoutez les images disque à l'aide de la commande :

><fs> add ~/CentOS_8_Server.img

Ensuite, exécutez la commande suivante pour lancer la bibliothèque et attacher (lancer) l'image disque :

><fs> run

Cela prendra quelques secondes dans un premier temps. Les démarrages suivants se termineront beaucoup plus rapidement.

Vous devez maintenant répertorier et monter manuellement les systèmes de fichiers invités.

Pour afficher la liste des systèmes de fichiers du disque, exécutez cette commande à partir de l'invite guestfish :

><fs> list-filesystems

Exemple de résultat :

/dev/sda1: ext4
/dev/cl/root: xfs
/dev/cl/swap: swap

Monter un système de fichiers :

><fs> mount /dev/cl/root /

Afficher les points de montage :

><fs> mountpoints 
/dev/cl/root: /

De même, montez les autres systèmes de fichiers.

1.2. Accéder aux images de disque existantes et monter automatiquement les systèmes de fichiers invités

Au lieu de lister et de monter manuellement les systèmes de fichiers invités, vous pouvez laisser le guestfish inspecter automatiquement les images et monter les systèmes de fichiers en utilisant -i drapeau comme ci-dessous.

$ guestfish -a CentOS_8_Server.img -i

Ici,

  • -a (--add) détectera automatiquement le format de l'image disque. Pour remplacer cela et spécifier un format particulier, utilisez le --format option.
  • -i (--inspector) - Inspecte les disques et monte les systèmes de fichiers.
  • CentOS_8_Server.img - nom de l'image disque. J'ai cette image dans mon répertoire actuel.

Cette commande chargera l'image donnée, montera les systèmes de fichiers invités et vous amènera à l'intérieur du shell guestfish.

Welcome to guestfish, the guest filesystem shell for
editing virtual machine filesystems and disk images.

Type: ‘help’ for help on commands
      ‘man’ to read the manual
      ‘quit’ to quit the shell

Operating system: CentOS Linux release 8.2.2004 (Core) 
/dev/cl/root mounted on /
/dev/sda1 mounted on /boot

><fs>

Si vous avez utilisé le "-i" paramètre, vous n'avez pas besoin de lister et de monter manuellement les systèmes de fichiers invités. Les systèmes de fichiers seront automatiquement montés. De plus, vous n'avez pas besoin d'initier la bibliothèque et de joindre l'image disque par vous-même. Guestfish s'en chargera lui-même.

1.3. Accéder aux machines virtuelles plutôt qu'aux images de disque

Guestfish a une option pour accéder aux machines virtuelles (domaines) au lieu des images de disque.

Tout d'abord, obtenez le nom des machines virtuelles à l'aide de la commande :

$ virsh list --all
 Id   Name            State
--------------------------------
 -    centos8-uefi    shut off
 -    nginx_centos8   shut off

Pour accéder à la VM nommée "centos8-uefi", utilisez l'option -d ou --domain comme ci-dessous.

$ guestfish -d centos8-uefi -i
1.4. Affichage et modification du contenu des images de disque

Guestfish prend en charge des centaines de commandes pour afficher et modifier les images de disque à votre guise. Vous serez submergé si vous examinez toute la page de manuel. Il est donc préférable de savoir d'abord comment obtenir de l'aide.

Répertorier toutes les commandes

Si vous ne savez pas par où commencer, affichez simplement la section d'aide à l'aide de la commande :

><fs> help

Pour répertorier toutes les commandes disponibles avec une brève description, exécutez :

><fs> help -l

Obtenir de l'aide sur une commande spécifique

Pour obtenir de l'aide sur n'importe quelle commande, par exemple mkdir, exécutez :

<fs> help mkdir

Voyons maintenant quelques exemples.

Répertorier les appareils bloqués

Pour répertorier tous les périphériques de bloc dans l'image, exécutez :

><fs> list-devices 
/dev/sda

Répertorier les partitions

Pour répertorier toutes les partitions détectées sur tous les périphériques de bloc, exécutez :

><fs> list-partitions 
/dev/sda1
/dev/sda2

Répertorier le contenu du répertoire

Pour lister les fichiers d'un répertoire donné, exécutez :

><fs> ls /root
.bash_history
.bash_logout
.bash_profile
.bashrc
.cshrc
.tcshrc

Afficher le contenu du fichier

Pour afficher le contenu d'un fichier, exécutez :

><fs> cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Thu Feb  6 06:43:28 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/cl-root     /                       xfs     defaults        0 0
UUID=5e675dd6-7f64-46cd-8535-3617f3cf870b /boot                   ext4    defaults        1 2
/dev/mapper/cl-swap     swap                    swap    defaults        0 0

Créer des répertoires

La commande suivante créera un répertoire nommé "ostechnix" sous le répertoire /root dans le système invité.

><fs> mkdir /root/ostechnix

Créer des fichiers vides

Pour créer un fichier vide dans la machine invitée, faites :

><fs> touch /root/ostechnix/file.txt

Vérifiez si le fichier a été créé :

><fs> ls /root/ostechnix/
file.txt

Créer des fichiers avec du contenu

Pour créer un fichier avec du contenu, utilisez write commande :

><fs> write /root/ostechnix/file2.txt https://ostechnix.com

La commande ci-dessus créera file2.txt dans le répertoire /root/ostechnix/ et y écrira "https://ostechnix.com".

Vous pouvez le vérifier en utilisant la commande "cat":

><fs> cat /root/ostechnix/file2.txt 
https://ostechnix.com

Ajouter du contenu aux fichiers existants

Pour ajouter un nouveau contenu à la fin d'un fichier déjà créé, utilisez la commande "write-append" :

<fs> write-append /root/ostechnix/file2.txt /about

La commande ci-dessus ajoutera le mot "/about" à la fin du contenu du fichier1.txt.

Vérifiez si la ligne est ajoutée, utilisez la commande cat :

><fs> cat /root/ostechnix/file2.txt 
https:/ostechnix.com/about

Modifier des fichiers

Pour modifier un fichier sur la machine invitée, utilisez la commande "edit" :

><fs> edit /root/ostechnix/file.txt

Le fichier donné s'ouvrira dans l'éditeur par défaut.

Supprimer des fichiers et des répertoires

Pour supprimer un fichier de la machine invitée :

><fs> rm /root/ostechnix/file2.txt 
><fs> rm /root/ostechnix/file.txt

Pour supprimer un répertoire, utilisez la commande "rmdir" :

><fs> rmdir /root/ostechnix/

Copier les fichiers ou répertoires locaux dans l'image disque

La commande "copy-in" copie les fichiers ou répertoires locaux de manière récursive dans l'image disque.

La commande suivante copiera le fichier ostechnix.txt du système local vers /root/ostechnix/ dans l'image disque.

<fs> copy-in ostechnix.txt /root/ostechnix/

Vérifiez-le en utilisant ls commande :

<fs> ls /root/ostechnix/
file.txt
ostechnix.txt

Copier des fichiers ou des répertoires de l'image disque vers le système hôte

De même, nous pouvons copier les fichiers ou répertoires d'une image disque vers le système hôte local à l'aide de la commande "copy-out" comme ci-dessous.

<fs> copy-out /root/ostechnix/ /home/sk/Downloads/

Dans l'exemple ci-dessus, je copie le répertoire /root/ostechnix/ dans le répertoire Téléchargements du système hôte.

Télécharger des fichiers sur le système hôte

C'est la même chose que la commande de copie.

Guestfish vous permet de télécharger et de télécharger du contenu d'une machine invitée à une machine hôte et vice versa.

La syntaxe générale pour télécharger des fichiers :

download <guest_file_location> <host_file_location>

La commande suivante téléchargera le fichier "/etc/fstab" de la machine invitée vers le répertoire /home/sk/Downloads/ du système hôte KVM.

<fs> download /etc/fstab /home/sk/Downloads/fstab

Télécharger des fichiers du système hôte vers le système invité

C'est la même chose que la commande de copie.

Pour télécharger un fichier de votre système hôte vers la machine invitée, exécutez :

><fs> upload /home/sk/Downloads/fstab /etc/fstab

Ici, je télécharge /home/sk/Downloads/fstab fichier de mon système local vers /etc/fstab dans la machine invitée.

Afficher la page de manuel de guestfish

Pour afficher les pages de manuel de guestfish :

><fs> man

Quitter le poisson invité

Pour quitter le shell guestfish, exécutez :

><fs> exit

Ce que nous avons vu jusqu'à présent, c'est que nous avons accédé, monté, inspecté et modifié des images de disque existantes. Guestfish peut également vous aider à créer instantanément de nouvelles images de disque.

1.5. Création de nouvelles images de disque

Les commandes suivantes doivent être exécutées en dehors du shell guestfish. En d'autres termes, ils doivent être exécutés dans votre terminal hôte.

Rappelez-vous que nous avons ajouté les images existantes en utilisant le paramètre -a ? Oui. Pour créer une nouvelle image disque, nous allons -N (--nouveau) paramètre.

Pour créer une nouvelle image disque et la lancer automatiquement, exécutez la commande suivante depuis le terminal hôte (pas dans l'invite guestfish) :

$ guestfish -N fs

Cette commande créera un nouveau disque nommé "test1.img" dans le répertoire courant et vous amène à l'intérieur de l'invite guestfish. Ce disque contiendra une seule partition, avec un système de fichiers vide. Par défaut, la taille du disque sera de 1 Go . Si vous exécutez la même commande la prochaine fois, elle créera un nouveau disque nommé "test2.img" avec une taille de 1G et ainsi de suite.

Au lieu de créer un disque 1G de taille fixe, il est également possible de créer une image disque de taille personnalisée.

Pour créer un disque vierge de 500 Mo , exécutez :

$ guestfish -N disk:500M

Vous pouvez également créer une image disque formatée avec un système de fichiers spécifique. Par exemple, la commande suivante créera un disque 1G avec un ext4 -partition formatée, appelée test1.img dans le répertoire courant :

$ guestfish -N fs:ext4

Créez un disque de 500 Mo avec un VFAT -partition formatée et montez-la :

$ guestfish -N fs:vfat:500M -m /dev/sda1

Créez un disque vierge de 500 Mo appelé blankdisk.img (au lieu du nom par défaut test1.img) :

$ guestfish -N blankdisk.img=disk:500M
1.6. Ajout d'images de disque distant

En plus des images de disque local, nous pouvons également ajouter des disques situés sur un serveur distant SSH, FTP, HTTP ou TFTP.

Ajoutez un disque situé sur un serveur SSH distant :

$ guestfish -a ssh://[email protected]/disk.img

Remplacez le nom d'utilisateur et l'adresse IP dans la commande ci-dessus par les vôtres.

Ajoutez un disque situé sur un serveur FTP distant :

$ guestfish -a ftp://[email protected]:port/disk.img
$ guestfish -a ftps://[email protected]:port/disk.img

Ajoutez un disque situé sur un serveur HTTP distant :

$ guestfish -a http://[email protected]:port/disk.img
$ guestfish -a https://[email protected]:port/disk.img

Ajoutez un disque situé sur un serveur TFTP distant :

$ guestfish -a tftp://[email protected]:port/disk.img

2. Accéder, afficher et modifier des images de disque sans entrer dans le shell guestfish

Libguestfs fournit de nombreuses autres commandes équivalentes pour accéder, afficher et modifier les images disque, sans entrer dans le shell guestfish.

2.1. montage invité

La commande Guestmount est utilisée pour monter un système de fichiers invité sur l'hôte à l'aide de FUSE et de libguestfs.

La commande suivante montera le centos8-uefi système complet de la machine invitée dans ~/guestvm/ dans le système hôte.

$ mkdir ~/guestvm/
$ sudo guestmount -d centos8-uefi -i ~/guestvm/

Vérifiez le contenu du répertoire de montage :

$ sudo ls -l ~/guestvm

Exemple de résultat :

total 16
lrwxrwxrwx.  1 root root    7 May 11  2019 bin -> usr/bin
dr-xr-xr-x.  6 root root 4096 Jul 18 15:46 boot
drwxr-xr-x.  2 root root    6 Jul 18 15:23 dev
drwxr-xr-x. 78 root root 8192 Jul 25 17:54 etc
drwxr-xr-x.  2 root root    6 May 11  2019 home
lrwxrwxrwx.  1 root root    7 May 11  2019 lib -> usr/lib
lrwxrwxrwx.  1 root root    9 May 11  2019 lib64 -> usr/lib64
drwxr-xr-x.  2 root root    6 May 11  2019 media
drwxr-xr-x.  2 root root    6 May 11  2019 mnt
drwxr-xr-x.  2 root root    6 May 11  2019 opt
drwxr-xr-x.  2 root root    6 Jul 18 15:23 proc
dr-xr-x---.  2 root root  135 Jul 18 15:46 root
drwxr-xr-x.  2 root root    6 Jul 18 15:23 run
lrwxrwxrwx.  1 root root    8 May 11  2019 sbin -> usr/sbin
drwxr-xr-x.  2 root root    6 May 11  2019 srv
drwxr-xr-x.  2 root root    6 Jul 18 15:23 sys
drwxrwxrwt.  7 root root  119 Jul 25 18:44 tmp
drwxr-xr-x. 12 root root  144 Jul 18 15:24 usr
drwxr-xr-x. 20 root root  278 Jul 18 15:45 var

Pour le démonter, exécutez :

$ sudo umount ~/guestvm

Pour plus de détails, consultez les pages de manuel.

$ man guestmount
2.2. virt-chat

La commande virt-cat est utilisée pour afficher le contenu d'un fichier stocké dans une image disque ou une machine virtuelle.

$ sudo virt-cat -a CentOS_8_Server.img /etc/fstab

Ou,

$ sudo virt-cat -d centos8-uefi /etc/fstab

Exemple de résultat :

#
# /etc/fstab
# Created by anaconda on Sat Jul 18 05:53:25 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/cl-root     /                       xfs     defaults        0 0
UUID=6a7f6481-5eb3-4589-ad19-b2291ddfcda1 /boot                   ext4    defaults        1 2
UUID=6906-5D0A          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
/dev/mapper/cl-swap     swap                    swap    defaults        0 0
2.3. virt-copier

La commande Virt-copy-in est utilisée pour copier des fichiers et des répertoires de l'hôte vers une image disque ou une machine virtuelle.

$ sudo virt-copy-in -a CentOS_8_Server.img ostechnix.txt /root/

Ou,

$ sudo virt-copy-in -d centos8-uefi ostechnix.txt /root/
2.4. virt-copy-out

La commande Virt-copy-out est utilisée pour copier des fichiers et des répertoires à partir d'une image disque ou d'une machine virtuelle.

$ sudo virt-copy-out -a CentOS_8_Server.img /root/ostechnix.txt ~/Downloads

Ou,

$ sudo virt-copy-in -d centos8-uefi /root/ostechnix.txt ~/Downloads

Les commandes ci-dessus copieront le fichier /root/ostechnix.txt du disque de la machine virtuelle vers le répertoire ~/Downloads du système hôte local.

2.4. virt-df

La commande Virt-df affiche l'espace libre sur le système de fichiers d'une machine invitée.

Afficher l'espace libre sur une image disque :

$ sudo virt-df -a CentOS_8_Server.img

Exemple de résultat :

Filesystem                                Size       Used  Available  Use%
CentOS_8_Server.img:/dev/sda1             976M       260M       649M   27%
CentOS_8_Server.img:/dev/cl/root           17G       1.4G        16G    9%

Afficher l'espace disque sur une VM :

$ sudo virt-copy-in -d centos8-uefi /root/ostechnix.txt ~/Downloads

Exemple de résultat :

Filesystem                                Size       Used  Available  Use%
centos8-uefi:/dev/sda1                    599M       6.6M       592M    2%
centos8-uefi:/dev/sda2                    976M       121M       788M   13%
centos8-uefi:/dev/cl/root                  16G       1.2G        15G    8%
2.5. virt-edit

Modifier un fichier dans une image disque ou une machine virtuelle.

$ sudo virt-edit -a CentOS_8_Server.img /root/ostechnix.txt

Ou,

$ sudo virt-edit -d centos8-uefi /root/ostechnix.txt

Cette commande ouvrira le fichier distant dans l'éditeur par défaut. Effectuez simplement les modifications, puis enregistrez et fermez le fichier.

2.6. virt-filesystems

Répertorier les systèmes de fichiers, les partitions, les périphériques de bloc, LVM dans une machine virtuelle ou une image disque.

$ sudo virt-filesystems -a CentOS_8_Server.img -l

Ou,

$ sudo virt-filesystems -d centos8-uefi -l

Exemple de résultat :

Name          Type        VFS   Label  Size         Parent
/dev/sda1     filesystem  vfat  -      629145600    -
/dev/sda2     filesystem  ext4  -      1073741824   -
/dev/cl/root  filesystem  xfs   -      17620271104  -

Pour afficher les détails de la partition, ajoutez --partitions dans la commande ci-dessus :

$ sudo virt-filesystems -d centos8-uefi --partitions
/dev/sda1
/dev/sda2
/dev/sda3

De même, vous pouvez utiliser --logical-volumes , --volume-groups , --volumes-physiques , --block-devices pour lister ces éléments.

2.7. inspecteur virt

Virt-inspector est utilisé pour afficher la version du système d'exploitation et d'autres informations sur une image disque ou une machine virtuelle.

$ sudo virt-inspector -a CentOS_8_Server.img

Ou,

$ sudo virt-inspector -d centos8-uefi
2.8. virt-ls

Virt-ls est utilisé pour afficher les fichiers et répertoires et leurs tailles, attributs, sommes de contrôle dans une image disque ou une machine virtuelle.

$ sudo virt-ls -R -a CentOS_8_Server.img / | less

Ou,

$ sudo virt-ls -R -d centos8-uefi /root

Vous pouvez utiliser la plupart des options/indicateurs normaux de la commande "ls" avec la commande virt-ls.

2.9. virt-log

Virt-log est utilisé pour afficher les fichiers journaux d'une image disque ou d'une machine virtuelle.

$ sudo virt-log -a CentOS_8_Server.img

Ou,

$ sudo virt-log -d centos8-uefi
2.10. virt-queue

La commande virt-tail est utilisée pour suivre les fichiers journaux dans une image disque ou une machine virtuelle.

$ sudo virt-tail -a CentOS_8_Server.img /var/log/messages

Ou,

$ sudo virt-tail -d centos8-uefi /var/log/messages

De nombreuses autres commandes sont disponibles. Je vous propose de vous référer au site libguestfs dont le lien se trouve à la fin de ce guide.

Lire ensuite :

  • Créer rapidement des images de machines virtuelles avec Virt-builder
  • Afficher les statistiques des systèmes de virtualisation avec Virt-top sous Linux
  • Comment sauver des machines virtuelles avec Virt-rescue

Dépannage

Voici les solutions à quelques problèmes courants.

1. libguestfs ne fonctionne pas sans les autorisations root sur Ubuntu

Vous pouvez rencontrer cette erreur lorsque vous essayez d'accéder aux images de disque sur Ubuntu :

libguestfs: error: /usr/bin/supermin exited with error status 1.
To see full error messages you may need to enable debugging.
Do:
  export LIBGUESTFS_DEBUG=1 LIBGUESTFS_TRACE=1
and run the command again.  For further information, read:
  http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs

Pour résoudre ce problème, exécutez :

$ sudo chmod 0644 /boot/vmlinuz*

Vous devrez peut-être vous ajouter au kvm groupe :

$ sudo usermod -a -G kvm sk

Remplacez "sk" dans la commande ci-dessus par votre propre nom d'utilisateur.

  1. Si vous avez déjà installé libvirt ou KVM sur votre système et essayez d'utiliser les outils libguesfs en tant qu'utilisateur root, vous devriez voir cette erreur d'autorisation :
libguestfs: error: could not create appliance through libvirt.

Try running qemu directly without libvirt using this environment variable:
export LIBGUESTFS_BACKEND=direct

Original error from libvirt: Cannot access backing file '/root/CentOS_8_Server.qcow2' of storage file '/tmp/libguestfsiPjmga/overlay1.qcow2' (as uid:107, gid:107): Permission denied [code=38 int1=13]

Ceci est causé par libvirt, et ne se produit donc que lors de l'utilisation du backend libvirt. Pour résoudre ce problème, passez au backend direct en définissant cette variable d'environnement :

export LIBGUESTFS_BACKEND=direct

Pour le rendre permanent, ajoutez cette ligne à votre ~/.bashrc fichier.


Linux
  1. Comment convertir VMDK (disque de machine virtuelle) en VDI à l'aide de VBoxManage ?

  2. Comment utiliser les outils libguestfs pour modifier des images de disque de machine virtuelle (VM) dans CentOS/RHEL/Fedora ?

  3. [Résolu] :Comment empêcher la synchronisation de l'horloge de la machine virtuelle avec la machine hôte et définir une heure d'horloge indépendante ?

  4. Augmentez et réduisez les volumes avec la gestion des disques

  5. Démarrer un système d'exploitation natif sur un disque dur en tant que machine virtuelle

Comment exporter et importer des machines virtuelles KVM sous Linux

Comment cloner une machine virtuelle dans VirtualBox

Comment créer une machine virtuelle avec Vagrant et VirtualBox

Premiers pas avec Vagrant et VirtualBox - Partie 1

Migrer la machine virtuelle de VMware ESXi vers Proxmox VE

Comment augmenter l'espace disque virtuel de la machine virtuelle sur VirtualBox et VMware