VirtualBox et les images ISO

VirtualBox d'Oracle J’utilise VirtualBox comme solution de Virtualisation sous Ubuntu, ça me sert à faire des tests sous Windows (comme l’affichage de mon blog dans MSIE par exemple) ou sous Ubuntu (comme de crypter son répertoire Home… ce qui m’a évité de perdre toutes mes données si je l’avais fait sur la vraie machine… ;-).
J’utilise la version d’Oracle (PUEL), et plus précisément la version 3.2.10.

Par défaut, VirtualBox crée vos machines virtuelles dans un sous-répertoire de votre Home, et ça prend de la place. J’ai donc décidé de les déplacer sur un autre disque. Hélas, VirtualBox n’a pas trop apprécié la simple copie de fichiers, et j’ai du reconstruire mes deux machines virtuelles de zéro.

J’utilise des images .ISO pour ce faire, et voilà que VirtualBox refuse de me monter l’image Windows avec une belle erreur « VERR_VD_RAW_INVALID_HEADER » :

VirtualBox-Erreur

Bon, je me dis que peut-être le fichier est endommagé… mais comme j’arrive très bien à monter l’image (grâce à Nautilus-actions, un simple click droit suffit), j’ai des doutes. Je fais donc des recherches sur internet, et finit par trouver la solution sur le forum de VirtualBox.

Il s’agit de la taille du fichier .ISO qui n’est pas un multiple de 512 comme elle devrait être (norme). La première recommandation est de supprimer les lignes de code faisant cette vérification, puis de recompiler le programme !

Heureusement une autre solution est fournie, qui consiste à augmenter la taille du fichier en question afin qu’il atteigne un multiple de 512. Alors voilà de que ça a donné dans mon cas :

Ouvrir un terminal et se placer dans le répertoire où se trouvent les images ISO, et faire un ll pour voir la taille de l’image qui nous embête :

commande ll dans le terminal

Un peu de calcul maintenant, vous allez voir c’est assez simple :

  • Mon image a donc une taille de 3111583900 octets.
  • Divisé par 512, cela donne 6077312,3046875
  • Je garde la partie entière et ajoute 1, j’obtiens 6077313
  • Je multiplie 6077313 par 512 = 3111584256
  • 3111584256 – 3111583900 = 356

Je dois donc augmenter la taille de mon fichier de 356 octets. Avec Linux, c’est facile : on crée d’abord un fichier rempli de zéro de la taille souhaitée, puis on l’ajoute à l’image iso :

dd if=/dev/zero of=padding.bin bs=1 count=356
cat padding.bin >> image-origin.iso

Et voilà, le tour est joué ! Je peux enfin attacher mon fichier ISO au lecteur de CD de ma machine virtuelle.

Une réflexion au sujet de « VirtualBox et les images ISO »

  1. J’utilise aussi Virtualbox sur Windows pour avoir Unbuntu et par là même lancer certains Apps d’Androide qui ne peuvent pas être lancées sur Windows.

    Ainsi p.ex. je peux obtenirs des donnée sauvées sur un cloud et ce uniquement avec les Apps en étant sur ordinateur n’ayant que Windows.

    Mais récemment j’ai trouvé une meilleure solution en acquérant une tablette de Chuwi, qui marche avec deux systèmes: Windows 10 et Android 5.1, si bien que je peux alternativement passer d’un système à l’autre et vice-versa avec le même appareil.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *