Accéder au contenu principal

Agrandir un disque virtuel Virtualbox

Après avoir créé un disque Virtualbox et y avoir installé Windows 7 pour une présentation, je me suis rendu compte que l'espace disponible était insuffisant pour installer les autres programmes dont j'avais besoin. Après pas mal de recherches et des essais de diverses solutions plus ou moins efficaces et compliquées, j'ai fini par trouver la solution ici.
Pour résumer:
  • arrêtez la machine virtuelle (VM) et libérez le disque dur trop petit (oldhd.vdi)
  • créez un nouveau disque virtuel via le gestionnaire de médias (appelons le newhd.vdi)
  • copiez le contenu du disque trop petit (oldhd.vdi) dans le nouveau disque ainsi créé:
    VBoxManage clonehd --existing oldhd.vdi newhd.vdi
    Cette opération peut être assez longue.
  • montez le nouveau disque newhd.vdi comme disque de la machine virtuelle
  • enfin modifiez la taille de la partition pour qu'elle occupe tout son nouvel espace disponible. Pour W7, il suffit de démarrer la VM, et d'utiliser le gestionnaire de disque de Windows et de changer la taille de la partition. Cela se fait "en live" sans même devoir redémarrer.
Si toute l'opération a fonctionné correctement, vous pouvez maintenant retirer l'ancien vdi trop petit de la liste des disques durs à l'aide du gestionnaire de médias, et même l'effacer.

Commentaires

Posts les plus consultés de ce blog

ROW_NUMBER OVER PARTITION en Access

Ceux qui ont l'habitude de travailler avec une "grosse" base données comme SQL Server / Oracle / PostGreSQL, sont parfois frustrés face à certaines lacunes du SQL d'Access.   Prenons par exemple: ROW_NUMBER() OVER PARTITION, dont l'absence rend certaines requêtes très compliquées.   J'ai donc écrit une petite fonction VBA qui peut être appelée depuis un query Access et qui simulera assez bien ce ROW_NUMBER() OVER PARTITION.   Notez que ceci ne fonctionnera pas correctement dans une vue ou un formulaire interactif. Par contre comme source d'un rapport ou d'un export Excel, c'est impeccable.   En pratique il est préférable d'initialiser la fonction avec une chaîne de caractères "improbable" avant de lancer le rapport, comme indiqué dans le code.

Calculate MAX of a list in VBA

Strangely such a function is not available in VBA. Here is one that works with any number of strings or numbers. Function Largest(ParamArray a() As Variant) As Variant 'returns the largest element of list 'List is supposed to be consistent: all nummbers, dates, strings. 'Nulls are allowed, but not in first position. Eventually provide a first low dummy value 'e.g:   largest(2,6,-9,7,3)         -> 7 '       largest("d", "z", "c", "x") -> "z" 'by Patrick Honorez --- www.idevlop.com     Dim result As Variant     Dim i As Integer          result = a(LBound(a))          For i = LBound(a) + 1 To UBound(a)         If result < Nz(a(i), result) Then             result = a(i)         End If     Next i     Largest = result End Function