feigned

Installer VirtualBox 7.0 sur Debian / Ubuntu (Linux)

Avatar de Le Crabe Le Crabe

Publicité

La virtualisation est une technologie qui permet d’exécuter plusieurs systèmes d’exploitation sur un seul ordinateur, de manière isolée et sécurisée. Le principe est simple : en installant un logiciel de virtualisation comme VirtualBox sur votre ordinateur, vous allez pouvoir créer des machines virtuelles et y installer le système d’exploitation de votre choix (Windows, macOS, Linux et bien d’autres) le tout sans compromettre la stabilité de votre système principal.

Publicité

Il existe plusieurs logiciels de virtualisation disponibles mais dans ce guide, nous allons nous pencher sur VirtualBox. Développé par Oracle, VirtualBox est un choix privilégié pour de nombreux utilisateurs, en particulier pour les débutants, en raison de sa polyvalence, sa facilité d’utilisation et sa communauté active. Enitèrement gratuit, il vous permettra de découvrir la puissance de la virtualisation simplement et facilement.

Pourquoi utiliser VirtualBox ?

  • vous avez un PC sous Linux et vous avez besoin d’exécuter des applications Windows. La virtualisation vous permet de le faire sans avoir à acheter un nouvel ordinateur ou de configurer un dual-boot Windows/Linux qui peut être laborieux ;
  • vous souhaitez essayer un nouveau système d’exploitation, mais vous ne voulez pas risquer de compromettre votre système actuel. La virtualisation crée un espace sécurisé et vous permet de tester ce nouvel OS sans craintes ;
  • vous êtes un développeur et vous avez besoin de tester vos logiciels sur différentes configurations. Les machines virtuelles vous offrent un environnement de test idéal.
Machine virtuelle avec Windows 11 sur VirtualBox

Dans ce guide, nous allons vous montrer comment installer VirtualBox 7.0 sur Debian 12 ou Ubuntu 22.04 LTS afin d’installer d’autres systèmes d’exploitation sur votre ordinateur. Pas besoin d’être un expert en informatique pour réussir. Tout ce dont vous avez besoin, c’est VirtualBox et ce guide ! Prêt à plonger dans le monde de la virtualisation ?

Publicité

Installer VirtualBox sur Debian / Ubuntu

Pour installer VirtualBox 7.0 sur un PC sous Debian, Ubuntu ou un de ses dérivés, suivez ces instructions :

  1. Ouvrez le Terminal.
  2. Ajoutez le dépôt Oracle VirtualBox à votre liste de sources logicielles :
    echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle_vbox_2016.gpg] http://download.virtualbox.org/virtualbox/debian $(lsb_release -sc) contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list
  3. Après avoir ajouté le dépôt, vous devez télécharger et ajouter la clé GPG publique d’Oracle VirtualBox pour garantir l’authenticité des paquets provenant du dépôt :
    wget -O- -q https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmour -o /usr/share/keyrings/oracle_vbox_2016.gpg
  4. Mettez à jour la liste des paquets disponibles :
    sudo apt update
  5. Vous pouvez maintenant installer VirtualBox 7.0 à partir du dépôt Oracle :
    sudo apt install virtualbox-7.0
    i Note : spécifiez la version exacte d’Oracle VirtualBox que vous souhaitez installer. Dans l’exemple ci-dessus, nous avons utilisé « virtualbox-7.0 » comme exemple. Vous pouvez vérifier la dernière version disponible en consultant le site web de VirtualBox.
  6. Sur Ubuntu et si vous avez un PC UEFI avec le Secure Boot activé, un écran Configuring Secure Boot s’affiche. Appuyez sur Entrée puis entrez un mot de passe temporaire qui permettra de valider l’enregistrement d’une clé MOK (Machine Owner Key) au prochain démarrage de votre ordinateur. Cette clé MOK est indispensable pour signer et exécuter les modules de VirtualBox nécessaires au démarrage des machines virtuelles.
  7. Pour vous permettre d’accéder aux périphériques USB, à la gestion des interfaces réseau et à la configuration des machines virtuelles sans les droits d’administrateur (root), vous pouvez vous ajouter au groupe « vboxusers ». Pour ce faire, exécutez la commande suivante :
    sudo usermod -aG vboxusers $USER
  8. Selon votre configuration :
    • vous êtes sur Ubuntu : redémarrez votre ordinateur puis à l’écran Perform MOK management, choisissez Enroll MOK -> Continue -> Confirm -> saisissez le mot de passe entré précédemment -> Reboot.
    • vous êtes sur Debian : suivez les instructions de la section UEFI + Secure Boot de ce tutoriel.
  9. Vous pouvez maintenant lancer VirtualBox à partir du menu des applications ou en utilisant la commande virtualbox dans un terminal.
Félicitations : vous avez réussi à installer VirtualBox 7.0 sur votre système d’exploitation Debian ou Ubuntu ! 👍

Maintenant, il ne vous reste plus qu’à créer vos machines virtuelles !
Pour cela, suivez ce tutoriel :

VirtualBox : installer Windows ou Linux dans une machine virtuelle

Publicité

Installer le VirtualBox Extension Pack

Le pack d’extensions VirtualBox (VirtualBox Extension Pack) est un ensemble d’extensions optionnelles qui ajoute des fonctionnalités supplémentaires à VirtualBox, telles que le support des périphériques USB 2.0/3.0, l’utilisation de la webcam de la machine hôte, le chiffrement des images disque (AES) ou encore le support du protocole VRDP (VirtualBox Remote Desktop Protocol) qui permet de contrôler les machines virtuelles à distance.

Pour utiliser ces fonctionnalités, vous devez installer le VirtualBox Extension Pack correspondant à la version de VirtualBox que vous avez installée. Par exemple, si VirtualBox 7.0.10 est installé, vous devez télécharger VirtualBox Extension Pack 7.0.10.

Suivez ces étapes pour installer le VirtualBox Extension Pack :

  1. Ouvrez le Terminal.
  2. Affichez la version exacte de VirtualBox installé sur votre système :
    VBoxManage --version | cut -dr -f1
    
    7.0.10

    Notez la version affichée, par exemple, « 7.0.10 ».

  3. Télécharger le VirtualBox Extension Pack depuis le site web de VirtualBox en remplaçant VERSION par la version de VirtualBox que vous avez notée précédemment :
    wget https://download.virtualbox.org/virtualbox/VERSION/Oracle_VM_VirtualBox_Extension_Pack-VERSION.vbox-extpack

    Par exemple, si vous avez la version 7.0.10 de VirtualBox, utilisez la commande suivante :

    wget https://download.virtualbox.org/virtualbox/7.0.10/Oracle_VM_VirtualBox_Extension_Pack-7.0.10.vbox-extpack
  4. Après avoir téléchargé le VirtualBox Extension Pack, vous pouvez l’installer en utilisant la commande suivante :
    sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-VERSION.vbox-extpack
    
    Do you agree to these license terms and conditions (y/n)? y
    
    License accepted. For batch installation add
    --accept-license=33d7284dc4a0ece381196fda3cfe2ed0e1e8e7ed7f27b9a9ebc4ee22e24bd23c
    to the VBoxManage command line.
    
    0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
    Successfully installed "Oracle VM VirtualBox Extension Pack".

    Assurez-vous de remplacer VERSION par la version que vous avez téléchargée. Vous serez invité à lire et à accepter les termes de la licence. Répondez y suivi de Entrée pour accepter.

  5. Vous pouvez vérifier que le VirtualBox Extension Pack a été installé avec succès en utilisant la commande suivante :
    VBoxManage list extpacks
    
    Extension Packs: 1
    Pack no. 0:   Oracle VM VirtualBox Extension Pack
    Version:        7.0.10
    Revision:       158379
    Edition:        
    Description:    Oracle Cloud Infrastructure integration, Host Webcam, VirtualBox RDP, PXE ROM, Disk Encryption, NVMe, full VM encryption.
    VRDE Module:    VBoxVRDP
    Crypto Module:  VBoxPuelCrypto
    Usable:         true
    Why unusable:
Le VirtualBox Extension Pack est maintenant installé avec succès, vous pouvez profiter des fonctionnalités supplémentaires qu’il offre ! 👍

 

Publicité

UEFI + Secure Boot : « The VirtualBox Linux kernel driver (vboxdrv) is not loaded »

Si vous êtes sur un PC UEFI avec le démarrage sécurisé (Secure Boot) activé, vous pouvez rencontrer des difficultés pour démarrer des machines virtuelles :

  • lors du démarrage d’une machine virtuelle dans VirtualBox, le message d’erreur suivant peut s’afficher :
    Kernel driver not installed (rc=-1908)
    
    The VirtualBox Linux kernel driver is either not loaded or not set up correctly. 
    Please try setting it up again by executing '/sbin/vboxconfig' as root.
    
    If your system has EFI Secure Boot enabled you may also need to sign 
    the kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) 
    before you can load them. 
    Please see your Linux system's documentation for more information.
    
    where: suplibOsInit 
    what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) 
    - The support driver is not installed. On linux, open returned ENOENT.

  • si vous exécutez VirtualBox via la commande virtualbox dans le terminal, vous obtenez un message d’avertissement au contenu similaire :
    virtualbox
    
    WARNING: The vboxdrv kernel module is not loaded. Either there is no module
    available for the current kernel (6.1.0-12-amd64) or it failed to
    load. Please recompile the kernel module and install it by
    
    sudo /sbin/vboxconfig
    
    You will not be able to start VMs until this problem is fixed.
  • si vous tentez d’exécutez la commande /sbin/vboxconfig demandée par VirtualBox, le message d’erreur « modprobe vboxdrv failed » s’affiche :
    sudo /sbin/vboxconfig
    
    vboxdrv.sh: Stopping VirtualBox services.
    vboxdrv.sh: Starting VirtualBox services.
    vboxdrv.sh: You must sign these kernel modules before using VirtualBox:
      vboxdrv vboxnetflt vboxnetadp
    See the documentation for your Linux distribution..
    vboxdrv.sh: Building VirtualBox kernel modules.
    vboxdrv.sh: Signing VirtualBox kernel modules.
    vboxdrv.sh: failed: modprobe vboxdrv failed. Please use 'dmesg' to find out why.
    
    There were problems setting up VirtualBox.  To re-start the set-up process, run
      /sbin/vboxconfig
    as root.  If your system is using EFI Secure Boot you may need to sign the
    kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) before you can load
    them. Please see your Linux system's documentation for more information.

Qu’est-ce qu’il se passe ?

Afin d’exécuter des systèmes d’exploitation dans des machines virtuelles, VirtualBox doit utiliser le processeur et le matériel physique de la machine hôte et pour cela il doit installer le module vboxdrv dans le noyau du système d’exploitation. Sans ce module, il est impossible pour VirtualBox d’exécuter des machines virtuelles. Les modules vboxnetflt et vboxnetadp doivent également être installés pour utiliser les capacités réseau de la machine hôte.

Lorsque Secure Boot est activé sur votre PC, les modules du noyau (comme ceux utilisés par VirtualBox) doivent être signés avec une clé reconnue par le firmware UEFI pour pouvoir être chargés. C’est un mécanisme de protection qui empêche l’exécution de logiciels non autorisés et qui garantit que seuls les logiciels signés soient exécutés au démarrage du système.

L’erreur « The vboxdrv kernel module is not loaded » survient lorsque les modules du noyau de VirtualBox ne sont pas signés ou ne sont pas signés avec une clé reconnue par Secure Boot.

Pour résoudre ce problème, il faut que le propriétaire de la machine (en l’occurence vous) crée une clé MOK (Machine Owner Key) et signe les modules de VirtualBox avec cette clé MOK. Une fois les modules signés, ils vont pouvoir être chargés par le système et VirtualBox pourra démarrer les machines virtuelles.

Voici comment procéder :

  1. Vérifiez que Secure Boot est bien activé sur votre ordinateur :
    sudo mokutil --sb-state
    
    SecureBoot enabled
  2. Créez le répertoire où sera stockée la clé MOK et placez-vous dedans :
    sudo mkdir -p /var/lib/shim-signed/mok/
    cd /var/lib/shim-signed/mok/
  3. Générez la clé MOK avec les commandes suivantes en remplaçant COMMON_NAME par votre nom :
    sudo openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=COMMON_NAME/"
    sudo openssl x509 -inform der -in MOK.der -out MOK.pem
  4. Créez une demande d’importation de la clé MOK :
    sudo mokutil --import /var/lib/shim-signed/mok/MOK.der

    Un mot de passe unique et temporaire vous sera demandé et devra être entré pour l’enregistrement de la clé (au prochain démarrage de votre ordinateur). Entrez un mot de passe simple à base de lettres sans caractère spéciaux (en effet, le clavier est en QWERTY lors de la demande de saisie du mot de passe).

  5. Vérifiez que la demande d’importation a bien été enregistrée :
    sudo mokutil --list-new
  6. Redémarrez votre ordinateur.
  7. À l’écran Perform MOK management, choisissez Enroll MOK -> Continue -> Confirm -> saisissez le mot de passe entré précédemment -> Reboot.
  8. Une fois votre PC redémarré, vérifiez que la clé MOK a bien été chargée :
    sudo mokutil --test-key /var/lib/shim-signed/mok/MOK.der
    
    /var/lib/shim-signed/mok/MOK.der is already enrolled
  9. Au démarrage du système, VirtualBox signe automatiquement les modules de noyau nécessaires avec la clé MOK. Pour vous en assurer, vérifiez par exemple le module vboxdrv de VirtualBox est bien signé :
    sudo modinfo vboxdrv
    
    filename:       /lib/modules/6.1.0-12-amd64/misc/vboxdrv.ko
    version:        7.0.10 r158379 (0x00330004)
    license:        GPL
    description:    Oracle VM VirtualBox Support Driver
    author:         Oracle and/or its affiliates
    srcversion:     D2F1CE0A5AF10CE49BE7858
    depends:        
    retpoline:      Y
    name:           vboxdrv
    vermagic:       6.1.0-12-amd64 SMP preempt mod_unload modversions 
    sig_id:         PKCS#7
    signer:         Le Crabe Info
    sig_key:        06:0B:7E:CE:B7:4F:3C:B3:1B:C0:44:85:3A:06:F5:90:CF:F4:D5:C5
    sig_hashalgo:   sha256
    signature:      [...]
    parm:           force_async_tsc:force the asynchronous TSC mode (int)
  10. Si ce n’est pas le cas, signez manuellement les différents modules de VirtualBox avec la commande suivante :
    sudo /sbin/vboxconfig
  11. Lancez VirtualBox : vous pouvez maintenant démarrer vos machines virtuelles !

Liens utiles

397 utilisateurs actifs
Chargement en cours