Accéder au contenu principal

VirtualBox et gestion des disques virtuels

Il peut arriver de se trouver avec un disque virtuel trop petit dans sa machine virtuelle VirtualBox. La manipulation des disques virtuels est assez facile sous VMwarePlayer et Workstation (cf chapitre 5 - Au sujet des disques virtuels du manuel PDF VMware). La même manipulation sous VirtualBox est moins aisée. Profitons en pour faire le tour des actions possibles sous VirtualBox vis à vis des disques virtuels.

Notez que toutes les opérations que nous allons effectuer avec VirtualBox ou ses utilitaires doivent se faire avec la machine virtuelle éteinte et éteinte proprement (sous peine d'erreurs et d'impossibilité de redémarrage).

1 - Mise au point GNU/Linux et Windows

Nous allons rapidement utiliser la ligne de commande. Rassurez-vous : ce ne sera pas bien compliqué.

Sous GNU/Linux, ce sera directement dans une console :
$VBoxManage commande disque.vdi option

Sous Windows, il faudra utiliser la ligne de commande MS-DOS, via le menu "Exécuter" :
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe commande disque.vdi option

2 - Actions fenêtrées


Certaines actions sont réalisables sans trop d'efforts, en mode fenêtré : le clonage de disque en fait partie. Ces actions requièrent d'aller dans le gestionnaire de médias (menu Fichiers). Le clonage est, bien sûr, une copie du disque virtuel sous un nouveau nom de fichier.

Notons que parmi les actions fenêtrées figurent aussi l'exportation, l'importation et le clonage de machines virtuelles.

3 - Redimensionnement de disque virtuel

Comment procéder si le disque virtuel est trop petit ? Plusieurs méthodes sont envisageables.

3.1 - La méthode longue

  1. Créons dans la machine virtuelle un nouveau disque virtuel à la nouvelle taille souhaitée.
  2. Démarrons ensuite la machine virtuelle pour cloner le disque virtuel trop petit vers le nouveau disque virtuel. Ici, il est évidemment possible de démarrer la machine virtuelle normalement pour ensuite utiliser un utilitaire de clonage tels que Acronis TrueImage, EaseUS Backup, Symantec System Recovery (successeur de Norton Ghost), mais aussi partimage sous GNU/Linux. Il est également possible de démarrer cette machine virtuelle sur un Live CD/DVD tels que les utilitaires de secours créés par les logiciels propriétaires ci-dessus ou PartedMagic ainsi que Clonezilla. Notez que l'opération peut être longue.

3.2 - La méthode rapide


Il suffit de modifier les caractéristiques décrivant le disque virtuel. Pour ce faire, il est nécessaire de passer par la ligne de commande.

Sous Windows, ce sera :
vboxmanage modifyhd "c:\chemin_vers_le_disque\HDD.vdi" -resize 20480
Sous GNU/Linux, nous aurons :
VBoxManage modifyhd ./chemin_vers_le_disque/HDD.vdi --resize 20480
C'est après l'option "resize" qu'il faut indiquer la nouvelle taille exprimée en Mio (multiple de 1024). Soit 20 Go x 1024 = 20480 Mo

Vérifions grâce à la commande :
VBoxManage showhdinfo ./chemin_vers_le_disque/HDD.vdi
Exemple d'un disque de 8 Gio agrandi à 10 Gio :
[thierry@localhost ~]$ VBoxManage showhdinfo '/mnt/Data/Vbox/VirtualBox/Debian Testing modifyhd/Debian Testing modifyhd-disk2.vdi'
UUID:           cb10c148-929a-40dc-92b1-9ca2aefdfc4d
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /mnt/Data/Vbox/VirtualBox/Debian Testing modifyhd/Debian Testing modifyhd-disk2.vdi
Storage format: VDI
Format variant: dynamic default
Capacity:       8192 MBytes
Size on disk:   5828 MBytes
In use by VMs:  Debian Testing modifyhd (UUID: c90d700c-039f-49c2-9a51-a2109bdff44b)
[thierry@localhost ~]$ VBoxManage modifyhd '/mnt/Data/Vbox/VirtualBox/Debian Testing modifyhd/Debian Testing modifyhd-disk2.vdi' --resize 10240
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
[thierry@localhost ~]$ VBoxManage showhdinfo '/mnt/Data/Vbox/VirtualBox/Debian Testing modifyhd/Debian Testing modifyhd-disk2.vdi'
UUID:           cb10c148-929a-40dc-92b1-9ca2aefdfc4d
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /mnt/Data/Vbox/VirtualBox/Debian Testing modifyhd/Debian Testing modifyhd-disk2.vdi
Storage format: VDI
Format variant: dynamic default
Capacity:       10240 MBytes
Size on disk:   5828 MBytes
In use by VMs:  Debian Testing modifyhd (UUID: c90d700c-039f-49c2-9a51-a2109bdff44b)
[thierry@localhost ~]$

La taille virtuelle de notre disque est rapidement passé à 10 Gio pour une place physique inchangée.

Cependant, la taille ajoutée au disque dur est encore inutilisée dans une quelconque partition. Démarrons sur un LiveCD (PartedMagic, GParted Live) pour nous rendre compte que, dans notre exemple, 2 Gio sont non alloués. Il faut redimensionner la partition existante afin d'englober ces 2 Gio inutilisés.

4 - Compactage de disque virtuel

Il existe une différence entre taille virtuelle du disque et taille physique, réelle. Nous avons vu dans notre exemple ci-dessus que notre disque de 8 Gio (avant redimensionnement) n'occupait que 5.69 Gio (5828 Mo) réellement. Il est possible que suite à diverses suppressions de fichiers (désinstallations logicielles, corbeille, fichiers temporaires ...), cette taille réelle du disque virtuel puisse être "dégonflée".

Sous Windows, il faudra préalablement défragmenter le disque dur.

Nous passerons par la commande :
VBoxManage modifyhd HDD.vdi --compact

5 - Changement d'UUID de disque virtuel

Un disque virtuel peut être copié directement depuis l'explorateur / gestionnaire de fichier, sans passer par VitualBox. Cela peut constituer une solution de sauvegarde. Cette méthode pourrait, à priori, servir pour un clonage de machine virtuelle. Cependant, il sera impossible d'utiliser cette copie dans VirtualBox tant que l'original existera. Soit l'un, soit l'autre.

Il faut modifier l'UUID, l'étiquette qui identifie le disque de façon définitive, comme nos numéros de sécurité sociale. Ce changement passe par la commande :
VBoxManage internalcommands sethduuid HDD.vdi


Notons que nous n'aurions pas subi ce problème si nous avions cloné le disque directement depuis VitualBox (cf plus haut).

6 - Visualiser les informations sur le disque virtuel

Il est parfaitement possible de voir les informations du disque virtuel en mode fenêtré :
* en regardant le détail de la configuration de la machine virtuelle qui affiche la taille virtuelle ainsi que le contrôleur,
* en éditant (modifiant) la configuration de la machine virtuelle puisque cette option montre, outre la taille virtuelle et le contrôleur, la taille réelle mais aussi l'emplacement du fichier représentant le disque virtuel, l'attachement (à quelle(s) machine(s)) et le type de stockage (dynamique ou fixe).

Ces mêmes informations peuvent être obtenues par la commande :
VBoxManage showhdinfo HDD.vdi
L'avantage de cette commande est l'affichage de toutes les informations, des informations non affichées en mode fenêtré. Nous voyons ainsi, outre les informations citées ci-dessus, l’étiquette UUID.

7 - Synthèse des commandes

> Agrandissement de taille :
VBoxManage modifyhd HDD.vdi --resize 20480
> Compacter la taille physique (réelle) :
VBoxManage modifyhd HDD.vdi --compact
> Changement d'UIDD :
VBoxManage internalcommands sethduuid HDD.vdi
> Informations sur le disque virtuel :
VBoxManage showhdinfo HDD.vdi

8 - Compléments

* Manuel en français VirtualBox (PDF)
* Tutoriel en ligne (et en français) VirtualBox 
* Mine d'informations sur les fichiers de disques durs virtuels (VDI)

Commentaires

Posts les plus consultés de ce blog

Tablette Samsung Galaxy tab 2 10.1 - Episode 2

Je tente toujours de recycler ma vieille tablette. Il y a quelques jours, j'avais tenté d'installer LineageOS vainement . Je retente encore. Plutôt que de passer par une machine virtuelle (et risquer les possibles barrages), je suis passé par un véritable système Windows. 1- Le root J'ai suivi ce tutoriel pour rooter ma tablette.  L'opération s'est terminé correctement. A l'issue de cette manipulation, après un redémarrage de la machine, j'ai installé Root Checker Basic (plusieurs versions existent venant de divers programmeurs) qui, après vérification, me dit que l'appareil .... n'est pas rooté ! Encore ?! J'installe donc SuperSU pour installer le root et redémarre. Après ce nouveau redémarrage, je valide l'autorisation demandée par SuperSU puis relance une vérification avec Root Checker qui m'informe que ..... l'appareil est rooté. Ah ! Enfin ! 2 - Sauvegarder Depuis le Store, j'ai installé TWRP pour faire les s

Recyclage de matéreil Android

Ma vieille tablette Samsung Galaxy Tab 2 10.1 acquise en 2012 était devenue poussive. Depuis longtemps d'ailleurs ! Ayant reçu la nouvelle tablette, j'ai voulu recycler l'ancienne. Au départ, je pensais remplacer Android par Lineage OS. Cette vieille tablette est référencée compatible avec Lineage OS tandis que quelques tutoriaux trainent ici et là. Passer sur Lineage OS : facile ou pas dans mon cas ? ... Pas encore gagné ! Une tablette... Je me sers essentiellement de la tablette pour regarder 4 conneries "trucs" divers sur le Web et, surtout, lire. De la lecture de romans (polars, SF, romans à base historique, action, techno-trillers ...) et autres études variées (sur l'Histoire, la géopolitique ...). Mais aussi des BD via un abonnement chez Izneo et des achats chez comiXology . Il est évidemment possible de lire des BD aux formats CBZ ou CBR (qui ne sont que des archives ZIP ou RAR dont on aura modifié l'extension) grâce à diverses applications

Mageia 8 - Retour

Mageia 8 vient très récemment de sortir. L'occasion de mettre à niveau mes machines. Je dispose d'un PC fixe avec 2 installations Mageia (dont une de "production" et l'autre à des fins de test) ainsi qu'un PC portable MSI.  1- PC fixe Sur ma tour faite sur mesure et datant de 2012, la mise à niveau de Mageia 7 vers 8 s'est mal passée. Mageia 7 était préalablement bien à jour. J'avais suivi le wiki pour faire une mise à niveau en ligne avec urpmi. Je précise que : Je n'ai aucune application compilée sur mesure (que du RPM). Je n'ai aucune application en 32 bits. Je n'ai utilisé qu'un minimum de modules externes pour personnaliser Plasma. J'ai un boot legacy. Mon erreur a été très probablement de ne pas simuler préalablement l'installation (donc aussi de mieux lire attentivement les notes de version !) ce qui m'aurait permis de constater à temps que certains paquets ne pouvaient être installés et mis à niv