Virtualisez vos systèmes d’exploitation avec Virtualbox

Oracle VM VirtualBox (anciennement Sun VirtualBox, Sun x VM VirtualBox et Innotek VirtualBox) est un logiciel gratuit et open-source de virtualisation développé par la société Oracle Corporation. Sun Microsystems reprit le projet en 2008 créé à l’origine par la société éditrice Innotek GmbH qui reprendra en 2010 les droits du logiciel.

Virtualbox 6.0.12 | Windows Virtualbox 6.0.12 | MacOS Virtualbox | Linux

virtualbox macos
Ci-dessus un ordinateur fonctionnant sous Mac OS X et qui fait tourner Windows 7, Windows 8.1 Pro et Windows 10, le tout simultanément.

 

Oracle VM VirtualBox (que nous nommerons dans cet article tout simplement VirtualBox) est un logiciel de virtualisation multiplateforme (il fonctionne sur beaucoup de systèmes d’exploitation différents), mais qu’est-ce que cela signifie concrètement ?

Tout d’abord, il s’installe sur n’importe quel ordinateur possédant une architecture Intel ou Amd, que vous utilisiez Windows, Mac OS X, Linux ou encore les systèmes d’exploitation Oracle Solaris. Ensuite, il apportera à votre ordinateur la capacité de faire tourner plusieurs systèmes d’exploitation en même temps au sein de plusieurs machines virtuelles.

Vous pourrez par exemple utiliser les systèmes Windows et/ou Linux sur votre Mac, utiliser Windows Server 2016 sur votre serveur Linux, utiliser Linux sur votre PC sous Windows, le tout en pouvant continuer d’utiliser vos autres logiciels à côté.

Il est possible de créer autant de machines virtuelles que vous le souhaitez, il n’y a aucune limite si ce n’est la mémoire et l’espace disque disponible ainsi que le nombre de systèmes d’exploitation qui existent pour les architectures AMD et Intel. 

Comment fonctionne VirtualBox?

Sous ses airs très simples, VirtualBox n’en est pas moins un logiciel de virtualisation surpuissant. Il peut être utilisé depuis de simples systèmes embarqués ou des ordinateurs de bureau classiques jusqu’à des déploiements de datacenters et même dans des environnements de type Cloud.

Ci-dessus, une capture d’écran d’une machine virtuelle sous Windows Server 2016 tournant sous un système Mac OS X.

 

En informatique, la virtualisation consiste en l’exécution de systèmes d’exploitation sur une machine hôte. Plus simplement, cela signifie que vous allez pouvoir installer des « machines virtuelles », un peu comme si il s’agissait d’ordinateurs dématérialisés qui peuvent recevoir un nouveau système d’exploitation et qui tourneront sur votre système d’exploitation habituel.

Ces ordinateurs virtuels sont d’ailleurs aussi appelés VPS (Virtual Private Server pour Serveur Privé Virtuel) ou environnement virtuel (VE pour Virtual Environment).

VirtualBox arrive à la perfection à faire tourner un système d’exploitation depuis un autre alors qu’il semblerait logique qu’il y ait des conflits entre eux puisque chaque système d’exploitation est conçu pour utiliser du matériel qui doit être sous son contrôle (et non sous le contrôle d’un autre système d’exploitation).

Pendant des années, la faible capacité de nos disques durs – ainsi que de nos mémoires vives ou ressources en processeur – étaient alors bien trop limitée pour pouvoir imaginer faire tourner un système d’exploitation dans un autre. L’idée même de le faire était presque un non-sens. Pourtant, VirtualBox fut l’un des pionniers de la virtualisation et arrive à la perfection à atteindre son but.

Les bénéfices de la virtualisation sont nombreux, comme par exemple si vous disposez de plus d’une dizaine de serveurs tournant à 15% de leur capacité (pour faire face aux heures de pointes) pour les regrouper sur un seul et même serveur faisant tourner tous ces systèmes bien distinctement.

Si pour les entreprises le coût de la manœuvre est plus qu’intéressant (un seul serveur à maintenir au lieu d’une dizaine de machines différentes), l’écologie n’est pas en reste puisqu’il faut savoir qu’un serveur tournant à 15% de ses capacités consomme en réalité la même chose en énergie qu’un serveur chargé à 90%. Faire des économies en matériels informatiques revient presque toujours à une diminution de l’impact humain sur notre environnement.

Tout l’intérêt de la virtualisation avec VirtualBox

Vous allez pouvoir constater que cela va monter crescendo en difficulté et que VirtualBox est une véritable machine de guerre en virtualisation pour les réseaux, mais nous avons gardé en tête les principaux intérêts du grand public :

  1. Installer et tester un système d’exploitation sans modifier le sien

Le bon sens nous dirait d’aller au plus simple en installant en dual-boot le dit système d’exploitation à essayer, mais puisqu’il ne s’agit que de tests, pourquoi ne pas partir du principe du Live-CD et de tester cet OS sans modifications de vos données et de votre système actuel ?

C’est bien souvent la raison numéro une qui vous amène à utiliser VirtualBox, que ce soit par plaisir dans le cas d’une distribution Linux à essayer sous Windows ou par la force des choses quand vous n’avez pas d’autre choix que de faire tourner Windows alors que vous êtes sur un Mac.

Quand nous disions que VirtualBox ne modifiera pas les données de votre ordinateur, cela est à nuancer dans le fait que votre machine virtuelle (votre machine sous VirtualBox qui fera tourner ce nouveau système d’exploitation à tester et que nous appelons par abus de langage « système d’exploitation virtualisé ») va avoir besoin d’espace disque pour être installée en seulement quelques fichiers dont un principal (que l’on appelle bien souvent « une machine virtuelle » justement).

Il n’y a donc pas de risque de pertes de données mais il va bien falloir que VirtualBox installe effectivement des fichiers pour faire tourner le système d’exploitation voulu sur la machine virtuelle.

Justement, VirtualBox installera le système d’exploitation sur votre machine virtuelle d’une manière totalement isolée du reste de votre ordinateur, tous les fichiers nécessaires au fonctionnement du système d’exploitation virtualisé étant dans cette machine hôte qui elle-même n’est en fait qu’un seul et énorme gros « fichier VirtualBox » (pour réellement schématiser et simplifier à l’extrême).

virtualisation d'un linux ubuntu

  1. Être dans un environnement sécurisé

Il est très intéressant d’utiliser un système d’exploitation à part grâce à VirtualBox pour des tests applicatifs ou des navigations à risques sur internet. Pour prendre un exemple concret, si jamais sous Windows vous téléchargez un logiciel piraté, qu’est-ce qui vous dit que le pirate n’a pas mis du code malicieux en plus dans le logiciel ?

Si bien évidemment nous devons rappeler le côté illégal de la chose, il nous semble plus opportun d’insister sur les aspects sécuritaires que ce genre de pratiques peut engendrer.

Alors pour reprendre un exemple légal, imaginons que vous deviez tester une application qui doit modifier assez drastiquement votre système d’exploitation et/ou que vous craigniez des conflits entre logiciels : il est plus prudent de tester cela sur un système à part, un système « jetable » en quelque sorte.

Pourquoi parler d’un système d’exploitation « jetable » ? Parce que finalement c’est ce que l’on peut faire avec VirtualBox puisque le nombre de machines virtuelles n’est pas limité en nombre. Si jamais cette fameuse application détériore effectivement le système d’exploitation et le rend inopérable, aucun souci : votre vrai système d’exploitation lui n’aura pas bougé.

Dans le cadre de navigations internet qui peuvent être à risque (typiquement les sites de hackers ou de fichiers piratés), VirtualBox est également un bon rempart : le système d’exploitation installé sur la machine virtuelle peut être infecté sans pour autant causer le moindre souci à votre système d’exploitation hôte. Voilà pourquoi l’on peut parler de « systèmes d’exploitation jetables » alors qu’il vaudrait mieux dire « machine virtuelle jetable ».

Cette utilisation de VirtualBox possède même un terme qui lui est propre puisqu’il s’agit tout simplement d’une sécurisation et/ou isolation d’un réseau pour opérer depuis un système d’exploitation virtuel, qui ne peut propager à son hôte une quelconque vulnérabilité. C’est donc idéal une fois de plus pour des tests.

  1. Déployer plus efficacement des systèmes d’exploitation fonctionnels

En entreprise, il n’est pas rare d’avoir des dizaines de postes informatiques à gérer et quand il s’agit de déployer tout un nouveau parc informatique, VirtualBox peut grandement simplifier la vie des équipes techniques. Les déploiements et/ou migrations sont bien plus faciles à effectuer avec des machines virtuelles puisque, si vous vous souvenez bien, VirtualBox « stocke » tout un système d’exploitation au sein d’un seul et même gros fichier.

La livraison de parcs informatiques fonctionnels (une mise en production) depuis un environnement qualificatif (de développement ou tests) est ainsi facilitée. VirtualBox apporte également de nombreuses économies aux entreprises en coût de maintenance et/ou d’entretien physique grâce à la mutualisation du matériel qui devient alors possible.

Rien que de prendre en compte la gestion de l’utilisation des ressources de votre parc informatique en gérant au mieux la répartition des machines virtuelles sur des machines physiques mutualisées (en fonction de leurs charges respectives) apportera de bonnes économies.

Histoire rapide de la virtualisation

Si la virtualisation fut développée durant la fin des années 70 par IBM et le MIT (avec l’IBM 4331 et 4341 qui possède un « accélérateur VM », nom donné à l’époque aux logiciels de virtualisation), c’est plutôt dans les années 90 que l’on verra apparaître pour le grand public des embryons de virtualisation sur les ordinateurs personnels (PC).

Il était alors même possible de faire de la virtualisation hardware (matérielle) en ajoutant des processeurs, cartes réseaux, etc.

La percée la plus notable de l’époque revient aux ordinateurs Amiga (et ses processeurs pourtant variés en architectures tels que le 80386 et 80486, ou encore 68xxx ou PPC) sur lesquels on pouvait lancer d’autres systèmes d’exploitation comme Mac OS, Linux ou Windows, tout en restant multitâche sur le système d’exploitation hôte AmigaOS.

virtualisation amiga
Ci-dessus, le système d’exploitation AmigaOS (Workbench) : même si cela reste difficilement croyable, une exploitation si performante de la technologie de la virtualisation n’a encore jamais été égalée de nos jours grâce à ces ordinateurs hors-normes.

C’est à la moitié des années 90 que tout s’accélèrera : beaucoup d’utilisateurs se mirent à émuler sur leurs ordinateurs à architecture x86 des plus vieux ordinateurs des années 80. La popularité de la virtualisation s’explique entre autre par le franc succès de l’émulation de consoles telles que la NES, SNES ou Neo-Geo AES.

Nous pouvons également citer les émulations de machines Atari, Amiga ou Amstrad (déjà à l’époque) pour le fun et par nostalgie, chose que l’on retrouve toujours de nos jours avec VirtualBox.

C’est sous cette forte impulsion que VMware développa son système propriétaire du même nom à la fin des années 90 pour dominer ce marché jusqu’au début des années 2000. VMware permettait alors de faire des virtualisations logicielles des architecture x86 sur des machines x86, tout comme de nombreux autres logiciels qui sont encore aujourd’hui des grands noms de ce domaine.

Beaucoup de logiciels de virtualisation étaient propriétaires et pourtant gratuits, tels que VMware Server, VirtualPC ou Virtual Server, mais ce sont aussi des logiciels open source gratuits qui finirent de populariser la virtualisation de système x86 (sous architecture x86) avec Linux-VServer, KVM, QEMU, Bochs, Xen et… VirtualBox.

choix des différents systèmes

À la seconde moitié des années 2000, ce sont carrément les fabricants de processeurs x86 (Intel et AMD) qui ajoutèrent d’office une virtualisation matérielle dans leurs gammes de produits. On peut en effet tirer avantage de son processeur auquel les fabricants ajoutent désormais des moyens de simplification de la virtualisation logicielle en réduisant la dégradation des performances dûe justement à la virtualisation.

VirtualBox a été de son côté conçu en Allemagne et proposé par Innotek GmbH sous licence propriétaire, ce qui permettait de proposer au grand public un produit gratuit dans le but d’essayer le logiciel pour une utilisation personnelle.

Il faudra alors attendre 2007 pour voir une version nommée VirtualBox Open Source Edition (OSE) comme logiciel totalement gratuit sous licence GNU General Public License (version 2).

Si Innotek GmbH n’est pas un nom qui vous rappelle quelque chose, c’est pourtant une société qui a contribué au développement du support de la virtualisation d’OS/2 (IBM) et de Linux, ainsi que des ports OS/2 des produits fabriqués par Connectix (société plus tard rachetée par Microsoft). Mais Innotek GmbH développa également tout le code des « packs d’extensions » (nous verrons cela plus en détail un peu plus loin) pour Windows Virtual PC et Microsoft Virtual Server, ce qui rendit possible de nombreuses interactions entre systèmes d’exploitation hôtes et systèmes d’exploitation virtualisés, comme les claviers partagés ou la possibilité de faire des copier/coller entre systèmes.

Un peu de technique : la virtualisation plus en détail via VirtualBox

Dans le cas où vous n’utilisez aucun moyen hardware permettant de faciliter la virtualisation via votre processeur, VirtualBox adoptera une approche 100% software (logicielle).  Ce mode de fonctionnement permet le support de la virtualisation de systèmes d’exploitation 32 bits qui s’exécuteront en ring 0 et 3 de l’architecture Intel. Un ring (ou « anneau de protection ») est un niveau de privilèges en droits imposés par l’architecture des processeurs (Intel x86 dans notre exemple).

la schématisation des anneaux de protection (ring) pour processeur x86 Intel
Ci-dessus, la schématisation des anneaux de protection (ring) pour processeur x86 Intel : le noyau du système d’exploitation (le kernel) est au centre et bien évidemment, plus l’on s’en rapproche plus les droits d’accès sont privilégiés afin de garantir le bon fonctionnement (et en théorie une meilleure sécurisation) du système d’exploitation.

 

Le système hôte reconfigure le système d’exploitation à virtualiser qui devrait normalement être exécuté en ring 0, pour s’exécuter en fait en ring 1 sur le matériel hôte.

Parce que ce code possède de nombreuses instructions concernant des privilèges qui ne peuvent normalement pas être exécutés en ring 1, VirtualBox procède alors à un scan du code du ring 0 puis à son analyse récursive avant une première exécution afin d’identifier les instructions qui peuvent poser problèmes, puis de faire appel au Gestionnaire de Correctif (Patch manager ou PATM) pour effectuer des corrections immédiates. Toute cette étape s’appelle un CSAM pour Code Scanning and Analysis Manager).

Cela aura pour effet de remplacer une instruction par une instruction équivalente via un saut vers du code compilé dans la mémoire de l’hyperviseur (nous reverrons ce terme puisque VirtualBox est lui-même un hyperviseur de type 2). Sinon, le code de l’user-mode virtualisé peut tourner en ring 3 quand généralement ces tâches se déroulent également en ring 3 du côté hardware.

Dans les deux cas, VirtualBox utilise quoi qu’il arrive CSAM et PATM pour tout inspecter et « patcher » les instructions pouvant poser soucis. VirtualBox possède également un recompiler dynamique, basé sur QEMU, afin de recompiler n’importe quel mode protégé ou autre dans son intégralité (par exemple le code du Bios, d’un DOS virtualisé ou de tout autre système permettant le démarrage d’un système d’exploitation).

C’est grâce à cette technique que VirtualBox arrive à des performances comparables à ce que propose VMware.

Dans le cas où VirtualBox dispose effectivement d’une assistance hardware (VT-x pour Intel et AMD-V pour AMD), le logiciel pourra alors exécuter chaque machines virtuelles dans le ring qui sera le plus adéquat. Le code du système d’exploitation virtualisé en ring 0 sera exécuté en ring 0 de l’hôte mais en mode VMX non-root plutôt que d’exécuter le tout en ring 1.

Il peut arriver d’ailleurs que VirtualBox ne puisse fonctionner sans une assistance matérielle du processeur pour des systèmes d’exploitation virtuels, comme par exemple pour virtualiser un système 64 bits ou encore pour des systèmes d’exploitation propriétaires bien spécifiques.

Tout un système d’exploitation virtualisé en un fichier : le disque dur virtuel

Nous vous parlions auparavant d’un gros fichier sur lequel sera contenu tout le système d’exploitation virtualisé qui sera fonctionnel. Pour schématiser, ce gros fichier est en fait un lecteur virtuel ou disque dur virtuel, et votre machine virtuelle se servira de ce disque virtuel qui se trouve être en réalité ce fameux gros fichier sur votre système d’exploitation hôte.

Considérez que n’importe quel système d’exploitation a bien besoin d’un support pour contenir ses nombreux fichiers systèmes, VirtualBox en créé alors un virtuel qui en réalité sera donc un espace réservé de votre disque dur (le vrai et bien réel en hardware).

Il existe sous VirtualBox trois formats d’extension pour le fichier qui contiendra un disque dur virtuel :

  • VDI : il s’agit du format par défaut de VirtualBox qui est bien spécifique à ce logiciel de virtualisation. Votre disque dur virtuel sera alors au format .vdi.
  • VMDK: ce format ouvert est utilisé par les différentes versions que propose VMware comme VMware Player ou CMware Workstation. Les données du système d’exploitation virtualisé seront sauvegardées en un ou plusieurs fichiers au format .vmdk. Un seul et unique disque dur virtuel peut ainsi générer plusieurs fichiers.
  • VHD: il s’agit du format utilisé par Hyper-V et Windows Virtual PC. Il s’agit également du format natif des disques virtuels du système d’exploitation Microsoft Windows, dès les versions Windows 7 et Windows Server 2008 R2. Vous n’aurez qu’un seul fichier au format .vhd pour votre disque dur virtualisé via VirtualBox.

Une machine virtuelle VirtualBox peut donc utiliser sans souci des disques précédemment créés via VMware ou Microsoft Virtual PC (tout comme dans son propre format quand le disque virtuel aurait été créé via VirtualBox mais depuis un autre ordinateur).

VirtualBox est également capable d’émuler des disques durs IDE (avec controllers PIIX4 et ICH6), SCSI et SATA (avec controller ICH8M) et des controllers SAS auquel des vrais disques durs peuvent être rattachés.

Le même principe qu’un live-CD ?

Le parallèle est très facile à faire entre la virtualisation d’un système d’exploitation et un live-CD : tous deux ne peuvent perdre, corrompre, effacer ou infecter vos données contenues sur le système d’exploitation hôte.

La différence majeure est que le live-CD n’installe absolument aucun fichier et qu’il se charge en mémoire vive au démarrage pour exécuter réellement le système d’exploitation contenu dessus. Il vous faudra redémarrer votre machine pour pouvoir rebasculer sur votre système d’origine (en retirant tout simplement le live-CD) et aucune interaction n’est alors possible entre les 2 systèmes.

La virtualisation est bien différente en proposant d’exécuter plusieurs systèmes d’exploitation en même temps, d’où la nécessité d’avoir un espace de stockage qu’est le disque dur virtuel.

En revanche, il est intéressant de noter qu’une fois que VirtualBox aura créé votre machine virtuelle vous pourrez sur cette dernière « booter » (démarrer) depuis une image .iso pour exécuter le système d’exploitation contenu dedans.

C’est ce même format d’image disque qu’utilisent les nombreuses distributions gratuites Linux, entre autres. Il est donc tout à fait possible d’utiliser une distribution live-cd sans pour autant avoir à graver celle-ci ou à la monter sur une clef USB à l’aide d’Unetbootin.

installation d'une image iso
Il est bien évidemment possible d’installer depuis une image .iso un système d’exploitation sur votre machine virtuelle VirtualBox.

Le format de fichier .vdi de VirtualBox : le disque dur virtuel

Comme dit plus tôt, le .vdi est le format par défaut qu’utilise VirtualBox pour créer votre disque dur virtuel. Ce fichier est exécutable et lance votre machine virtuelle dans VirtualBox.

La taille de votre disque dur virtuel dépend de ce que vous souhaitez indiquer à sa création, sachant que bien évidemment cet espace disque est pris depuis votre disque dur bien réel (hardware).

Ainsi, sa taille peut être fixe ou variable, sachant que si vous décidez de mettre une valeur fixe, il ne sera alors plus possible de rectifier cela par la suite. Si vous décidez donc de mettre une taille fixe de 5 Go, votre disque dur virtuel sera de cette taille à jamais.

Heureusement, il est possible de définir une taille dynamique où c’est VirtualBox qui gérera tout dans la limite que vous lui imposerez : votre disque dur virtuel ne pourra dépasser une limite (par exemple 50 Go) mais celui-ci ne fera la taille que de ce qui est nécessaire, augmentant ainsi sa taille à chaque installation de logiciels ou ajout de fichiers.

Il semblerait donc logique de choisir par défaut une taille dynamique mais cette méthode a le désavantage d’être plus gourmande en ressources (lecture/écriture). Choisir une taille fixe pour son disque dur virtuel apportera à l’inverse des performances proches d’un disque dur physique puisque c’est tout l’espace déjà défini qui est utilisé par VirtualBox afin d’optimiser les temps de lectures/écritures. Avec les énormes capacités de nos disques durs physiques (de 1 To par exemple), il n’y a plus aucun souci pour allouer une taille fixe de 40 Go.

Enfin, puisque les fichiers .vdi sont par excellence des fichiers de disques durs virtuels, il est tout à fait possible de récupérer une copie de ce fichier pour l’importer depuis un autre poste dans VirtualBox.

Cela est très utile dans le cadre de sauvegardes mais également pour le déploiement en masse de parcs informatiques. Copier/coller un fichier .vdi revient à posséder une copie conforme de votre disque dur virtuel au moment de sa copie, prête à être utilisée depuis n’importe quel poste possédant VirtualBox.

En entreprise, cela permet une redondance des serveurs sur un réseau tout en assurant un système de sauvegarde efficace.

disque dur virtuel virtualbox

Améliorer VirtualBox : utiliser un pack d’extension

Il est possible d’ajouter des fonctionnalités supplémentaires extrêmement pratiques et que nous vous recommandons chaudement. Nommé « pack d’extension pour VirtualBox », il s’agit ni plus ni moins d’un plugin qui apportera le plus souvent une meilleure prise en charge matérielle.

L’éditeur de VirtualBox lui-même en propose un qui vous apportera le support de vos ports USB 2.0 (EHCI) et 3.0 (xHCI), le support de périphériques comme une webcam, de booter depuis le Boot PXE ou de chiffrer vos images disques avec le puissant algorithme AES.

Ce pack d’extension permet donc de pouvoir utiliser n’importe quel port USB de votre ordinateur via votre machine virtuelle ou de profiter du copier/coller entre système d’exploitation hôte et virtuel.

Si VirtualBox est open-source, ce n’est hélas pas le cas de ces « plugins » qui sont disponibles que pour un usage privé et à titre privé. Il est donc impossible d’utiliser avec la souplesse de l’open source un pack d’extension en entreprise ou même en université. Pour être plus précis, les packs d’extensions pour VirtualBox sont sous licence VPUEL (pour VirtualBox Personal Use and Evaluation License).

Utiliser VirtualBox en ligne de commande : VBoxManage

Pour les utilisateurs plus experts, il est tout à fait possible d’utiliser VirtualBox en ligne de commande grâce à VBoxManage. C’est le nom donné à cette interface en ligne de commande qui reprend toutes celles de l’interface graphique GUI (l’interface utilisateur « normale »).

Néanmoins, il y a de nombreuses autres options que vous ne retrouverez pas en utilisation graphique, notamment avec des options supplémentaires pour mieux gérer, contrôler et configurer vos machines virtuelles. Vous pouvez également les créer, lancer, stopper depuis cette même interface en ligne de commande.

Plus de détails sur les fonctionnalités de VirtualBox

Portabilité : les systèmes d’exploitation supportés en hôte

VirtualBox fonctionne sur une très large gamme de systèmes d’exploitation 32 et 64 bits, voyez plutôt :

  • Windows hosts (64-bit):
  • Windows 7
  • Windows 8
  • Windows 8.1
  • Windows 10 RTM (1507) build 10240
  • Windows 10 November Update (1511) build 10586
  • Windows 10 Anniversary Update (1607) build 14393
  • Windows 10 Creators Update (1703) build 15063
  • Windows 10 Fall Creators Update (1709) build 16299
  • Windows 10 April 2018 Update (1803) build 17134
  • Windows 10 October 2018 Update (1809) build 17763
  • Windows Server 2008 R2
  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows Server 2019
  • Mac OS X hosts (64-bit):
  • 12 (Sierra)
  • 13 (High Sierra)
  • 14 (Mojave)

Vous aurez besoin d’un ordinateur utilisant une architecture Intel pour ces systèmes d’exploitation.
  • Linux hosts (64-bit):
  • Ubuntu 16.04 LTS, 18.04 LTS and 18.10
  • Debian GNU/Linux 9 (“Stretch”)
  • Oracle Linux 6 and 7
  • Redhat Enterprise Linux 6 and 7
  • Fedora 28 and 29
  • Gentoo Linux
  • SUSE Linux Enterprise server 12 and 15
  • OpenSUSE Leap 42.3 and 15.0

Il est également possible d’utiliser VirtualBox depuis la plupart des systèmes d’exploitation Linux disposant d’un noyau (kernel) 2.6 ou 3.x en utilisant l’installer classique ou par une installation manuelle.

Quoi qu’il en soit, les distributions qui ont été testées et sont donc reconnues comme 100% compatibles sont celles proposées de base dans VirtualBox dans leurs packages respectifs. Pour les versions de Linux basées sur un noyau 2.4, il n’y a malheureusement plus de support et donc un risque de conflits et entraînant des bugs.

  • Oracle Solaris hosts (64-bit only).
    • Oracle Solaris 11

Cette liste ne se veut exhaustive et est totalement informelle : le support d’Oracle pour ses clients couvre certaines parties de ses systèmes d’exploitations même si à l’heure actuelle nous ne pouvons compter qu’une seule version testée et approuvée par la même société qui édite VirtualBox.

VirtualBox est en réalité ce que l’on appelle en informatique un hyperviseur de Type 2 (hosted). Un hyperviseur hosted est un logiciel qui permet d’exécuter un système d’exploitation à l’intérieur d’un autre système d’exploitation, ce que fait exactement par définition VirtualBox.

Le terme hyperviseur quant à lui remonte au temps du CP-67 d’IBM et du système d’exploitation System/370 connu sous le nom de VM/370 (sorti en 1972). C’est alors que l’on nomma l’interface par laquelle un système d’exploitation virtuel peut accéder directement à des services de contrôle de niveau élevé par les termes hyperviseur, hypervisor call ou encore hypercall. Le « superviseur » faisait référence au noyau du système d’exploitation qui sur les mainfraimes d’IBM s’exécutaient en mode Superviseur.

A l’inverse un superviseur de Type 1, dit « bare metal », va utiliser directement votre hardware (matériel) quand VirtualBox, en tant que superviseur de type 2, aura besoin d’un système d’exploitation hôte pour être installé et fonctionner. Ce dernier est également capable de fonctionner aux côtés d’autres logiciels du système d’exploitation hôte sans conflit.

Ce qui est également intéressant au sujet de la portabilité du logiciel, c’est qu’il est fonctionnel de manière absolument identique, peu importe le système d’exploitation, et c’est bien évidemment les mêmes formats de fichiers qui sont utilisés entre les différentes plateformes (le disque dur virtuel en .vdi par exemple).

Il est donc tout à fait possible de faire basculer une machine virtuelle créée sur un certain système d’exploitation sur un système totalement différent. Par exemple, vous pouvez créer votre machine virtuelle sous Windows pour l’utiliser plus tard sous Linux.

De plus, les machines virtuelles de VirtualBox peuvent très facilement être importées ou exportées en utilisant le format de fichier .ovf (Open Virtualization Format) qui est justement un standard du domaine de la virtualisation. En tant que standard, il est donc possible d’importer dans VirtualBox des machines virtuelles .ovf qui auraient été créées depuis un logiciel de virtualisation différent.

Pas besoin de virtualisation hardware du processeur

Dans la plupart des cas, VirtualBox ne nécessitera pas de posséder un processeur disposant des dernières technologies tels que les architectures Intel VT-x ou AMD-V. Contrairement à de nombreux autres logiciels de virtualisation, il est possible d’utiliser VirtualBox sur de très vieux PC.

Les Guest Additions : toujours plus de fonctionnalités

Les Guest Additions sont des plugins pour VirtualBox qui s’utilisent directement au sein du système d’exploitation virtualisé (le système invité) afin de gagner en performance et d’ajouter des intégrations supplémentaires afin de bénéficier d’une meilleure communication avec le système hôte. Les fonctionnalités qui vous intéresseront le plus sont la possibilité de créer un dossier partagé entre système hôte/virtualisé, l’ajustement automatique de la résolution de votre écran en tirant profit de l’accélération 3D de votre carte graphique, et bien plus encore.

Un support matériel très complet

Bien loin devant la concurrence, VirtualBox propose le support hardware suivant :

  • Mode multiprocesseur pour le système invité (SMP) :VirtualBox est capable de mettre en place jusqu’à 32 processeurs virtuels pour chaque système d’exploitation virtualisé, peu importe le numéro de cœurs que vous possédez physiquement sur votre ordinateur hôte.
  • Support des périphériques USB : un controller USB virtuel est implémenté au sein de VirtualBox afin de vous permettre de connecter des périphériques USB sans avoir à installer un pilote (driver) spécifique sur le système d’exploitation virtuel.
  • Compatibilité hardware : VirtualBox est capable de virtualiserde nombreux périphériques qui sont justement utilisés habituellement par les autres plateformes de virtualisation. Le support de l’IDE, du SCSI et des controllers de disques dur SATA s’avère très pratique, tout comme la possibilité de virtualiser plusieurs cartes sons ou cartes réseaux, d’utiliser les entrées/sorties des ports parallèles et I/O APIC (Input/Output Advanced Programmable Interrupt Controller) que l’on peut retrouver sur tous les ordinateurs récents. Cela permet de plus facilement cloner les images des PC de différentes machines réelles pour les importer ensuite comme système virtuel via VirtualBox.

support de virtualbox

  • Support ACPI complet :l’ACPI (pour Advanced Configuration and Power Interface) est totalement prise en charge par VirtualBox. Comme précédemment, cela permet là aussi de faciliter le clonage de machines réelles en machines virtuelles. Grâce au support de l’ACPI, VirtualBox est capable de communiquer entre les différents systèmes d’exploitation virtuels  et la gestion de l’énergie du système hôte. Par exemple, cela permet aux utilisateurs qui utilisent des ordinateurs portables de voir s’afficher les notifications liées à l’usage de la batterie sur un système virtuel.
  • Résolutions multi-écrans :les machines virtuelles de VirtualBox supportent parfaitement les différentes résolutions d’écran selon le nombre de ceux que vous possédez physiquement, permettant ainsi d’étendre votre affichage sur toute la largeur de vos écrans connectés à votre système d’exploitation hôte.
  • Support natif du iSCSI :cette option (unique sur le marché de la virtualisation) permet de vous connecter à une machine virtuelle en utilisant directement un support de stockage en iSCSI d’un serveur sans même passer par le système d’exploitation hôte. La machine virtuelle peut ainsi accéder directement à l’iSCSI sans avoir besoin de recourir à la virtualisation de disques dur virtuels supplémentaires qui contiendrait les fichiers nécessaires.
  • Boot via PXE Network :La carte réseau virtuelle intégrée de base à VirtualBox supporte à 100% le boot à distance via Preboot Execution Environment (PXE).

Multigénération de snapshots (instantanés de machines virtuelles)

VirtualBox est capable de prendre des instantanés arbitraires de l’état de votre machine virtuelle, ce qui vous permet de revenir dans le temps et d’inverser l’état de votre machine via un snapshot, puis de démarrer une configuration de machine virtuelle alternative, ce qui permet de créer toute une arborescence de snapshots pour revenir à différents états. Vous pouvez gérer ces snapshots en les supprimant même si votre système virtuel est en cours de fonctionnement.

Gestion multi-utilisateurs avancée

Virtualbox propose différentes options pour gérer des groupes d’utilisateurs pour la maintenance et l’administration de différentes machines virtuelles. En plus d’un groupe d’utilisateurs « basique », il est également possible pour n’importe quelle machine virtuelle d’être dans plus d’un seul groupe, groupes qui peuvent alors être imbriqués en hiérarchie.

Concrètement, cela signifie que vous pouvez avoir des groupes de groupes utilisateurs. En général, les opérations que vous pourrez effectuer seront les mêmes que pour des accès individuels aux machines virtuelles, comme Démarrer, Mettre en pause, Fermer (Sauvegarder l’état, Éteindre), Redémarrer, etc.

Une Flexibilité exemplaire et architecture propre

VirtualBox a été spécialement conçu sur un design épuré tout en restant extrêmement flexible pour les utilisateurs les plus expérimentés. Par exemple, le code serveur est bien distinct du code client. Cela vous permet notamment de pouvoir contrôler le logiciel simultanément via différentes interfaces.

Par exemple, vous pouvez démarrer votre machine virtuelle en cliquant sur un bouton dans l’interface graphique GUI de VirtualBox et ensuite prendre le contrôle de cette machine en ligne de commande et même de faire cela à distance.

Grâce à une architecture aussi flexible, VirtualBox peut s’enorgueillir d’aider au mieux les développeurs du monde entier en proposant le code de toutes ses fonctionnalités dans des SDK (Software Development Kit) compréhensibles de tous.

Cela permet donc aux développeurs de pouvoir créer d’eux-mêmes des intégrations de VirtualBox à d’autres logiciels ou plateformes via la meilleure interface de développement disponible actuellement.

Contrôler à distance votre machine virtuelle

Décuplez vos performances lors de vos connexions à distance sur n’importe quelle machine virtuelle grâce à la « VirtualBox Remote Desktop Extension » (VRDE). Cette extension supporte le protocole RDP (pour Remote Desktop Protocol) conçu à l’origine pour Microsoft Windows avec, en plus, le support des clients USB.

L’extension VRDE ne prend pas en compte les données des serveurs RDP conçus sur des solutions Microsoft Windows. Autrement dit, VRDE est connecté directement à la couche de virtualisation. En conséquence, VRDE fonctionne sur des systèmes d’exploitation virtualisés autres que Windows, même en mode texte. Il n’y aura pas besoin d’ajouter de logiciel en plus sur la machine virtuelle pour que cela fonctionne.

VirtualBox est de loin le meilleur des logiciels de virtualisation aussi grâce à cette prise en charge très flexible du contrôle à distance et propose déjà les fonctions de base suivantes :

  • Authentication RDP :VirtualBox est nativement compatible avec Winlogon (pour Windows) et PAM (pour Linux) afin de procéder à des authentifications. Si jamais vous utilisez d’autres types d’authentification, les développeurs de VirtualBox ont tout prévu pour vous au sein d’une SDK très simple d’utilisation afin de créer votre interface arbitraire et personnalisée de gestion d’authentification.
  • USB via RDP :En utilisant  “RDP virtual channel support”, VirtualBox permet également de vous connecter à un périphérique USB arbitraire en local sur votre machine virtuelle qui fonctionne depuis un serveur Oracle VM VirtualBox RDP.

Trouver de l’aide pour VirtualBox

La documentation la plus complète est malheureusement anglaise, mais elle est officielle puisque sur le site de virtualbox.org.

Vous pourrez retrouver tous les détails des installations de Windows, Mac OS X, Linux et Oracle Solaris sur des machines hôtes/virtuelles, tout comme beaucoup d’autres informations à propos de configurations plus avancées pour des besoins spécifiques (utiliser un réseau virtuel ou des accès à distance (VRDP/RDP), automatiser le lancement d’une machine virtuelle au démarrage d’une machine hôte, utiliser le mode NAT en passant par un proxy DNS, crypter/décrypter des images disques virtuels, etc.). Pour les utilisateurs expérimentés, une documentation technique est également disponible.

Toujours en anglais, vous pourrez bénéficier sur ce même site d’un formulaire pour reporter les bugs que vous auriez pu découvrir, mais le plus important et premier point de contact pour de l’aide reste le forum de VirtualBox.

Plus qu’un forum, c’est toute une communauté qui épaule le projet open-source VirtualBox et l’entraide y est particulièrement présente. Encore une fois, les utilisateurs expérimentés ne sont pas oubliés avec un coin réservé spécialement à ceux-ci sur le forum VirtualBox (« le coin des développeurs »).

Virtualbox 6.0.12 | Windows Virtualbox 6.0.12 | MacOS Virtualbox | Linux