323 votes

Comment puis-je augmenter la taille du disque dur de la machine virtuelle ?

enter image description here

Je suis à court d'espace sur ma machine virtuelle WinXP, à laquelle j'ai donné seulement 10 Go d'espace lors de sa création. Existe-t-il un moyen simple de porter cet espace à 20 Go, par exemple ? Je ne vois pas d'option évidente dans les paramètres de VirtualBox.


La suggestion ci-dessous donne cette erreur

wim@wim-ubuntu:/media/data/winxp_vm$ VBoxManage modifyhd wim.vdi --resize 20000
VBoxManage: error: Cannot register the hard disk '/media/data/winxp_vm/wim.vdi' {46284957-2c09-4e70-8a49-bfbe0f7f681d} because a hard disk '/home/wim/VirtualBox VMs/winxp_vm/wim.vdi' with UUID {46284957-2c09-4e70-8a49-bfbe0f7f681d} already exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBox, interface IVirtualBox, callee nsISupports
Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, AccessMode_ReadWrite, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 210 of file VBoxManageDisk.cpp

J'ai réussi à supprimer le fichier .vdi de VirtualBox avant d'appeler la commande VBoxManage, puis à le réintégrer. Mais maintenant je ne peux pas démarrer la machine virtuelle, j'obtiens cet écran inquiétant :

enter image description here

Au fait, il est dit FATAL: Could not read from the boot medium! System halted.


Le vdi doit être rattaché à la VM après la commande VBoxManage. De plus, la partition devra être redimensionnée à partir de SOUS Windows, car vous aurez cet espace vide :

enter image description here

J'ai pu redimensionner la partition facilement en utilisant un petit logiciel gratuit appelé EASEUS Partition Master 9.1.0 Home Edition .

12voto

Raghav Points 353

Si vous êtes sur un hôte Windows et que vous essayez d'augmenter la taille de la VDI d'Ubuntu, les informations suivantes peuvent vous aider :

Obtenez votre chemin complet de vdi, pour moi, c'était " D:\VirtualBoxImages\Ubuntu\Ubuntu.vdi ".

enter image description here

Exécutez la commande mentionnée dans le message "Marked as answered" :

"C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd D:\VirtualBoxImages\Ubuntu\Ubuntu.vdi --resize 40000" 

enter image description here

Ci-dessus, " C:\Program Fichiers \Oracle\VirtualBox "est l'emplacement du dossier où ma boîte virtuelle Windows est installée, 40000 est 40 GB dans la commande ci-dessus.

Après avoir effectué l'étape mentionnée ci-dessus, redémarrez la VM Ubuntu.

Allez dans "Disques".

enter image description here

Redimensionnez la partition existante pour qu'elle atteigne 40 Go :

enter image description here

Vous pouvez alors confirmer à partir du "Stockage" que l'opération ci-dessus a fonctionné :

enter image description here

11voto

amphetamachine Points 1603

J'ai eu le même problème où j'avais déplacé un disque, et remplacé l'original par un lien symbolique. Cela fonctionne bien par la suite, mais vous rencontrez des problèmes avec la commande 'modifyhd', car apparemment elle canonise le chemin d'accès au fichier vdi lorsque vous travaillez avec lui. Cela donne l'impression que vous essayez d'ajouter un nouveau disque avec le même UUID mais sur un chemin différent - ou quelque chose comme ça.

Il y avait deux problèmes :

  1. Le disque devait être retiré de la VM qui l'utilisait, mais aussi "de la liste des disques durs de VirtualBox". Ce problème a été résolu avec la commande "closemedium", qui le supprime de cette liste.

  2. Le disque à redimensionner était un "disque fixe" au lieu de "dynamique", et seuls les disques dynamiques peuvent être redimensionnés. Cela a été corrigé avec une commande 'clone' (le clone est dynamique), puis en redimensionnant le disque résultant.

C'est mon journal de bord pour la façon dont il a été fait. Remarquez que je suis no à tout moment en tant que root sauf lorsque j'effectue ensuite le redimensionnement de la partition et du système de fichiers.

SUPPRIMER L'ASSOCIATION AU DISQUE DU VM.

LE PROBLÈME PERSISTE :

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd TestInception\ 64\ bit.vdi --resize 8192
VBoxManage: error: Cannot register the hard disk '/datadisk/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi' {6cd99209-e4db-4178-a6c2-53f9581b1fad} because a hard disk '/home/virt_box/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi' with UUID {6cd99209-e4db-4178-a6c2-53f9581b1fad} already exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBox, interface IVirtualBox, callee nsISupports
VBoxManage: error: Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 178 of file VBoxManageDisk.cpp

Ah, le disque est toujours "dans le système" :

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage list hdds
UUID:        ba58276a-bbe1-4354-8ae5-246bdac390c8
Parent UUID: base
Format:      VDI
Location:    /home/virt_box/VirtualBox VMs/TestInception 32 bit/TestInception.vdi
State:       locked write
Type:        normal
Usage:       TestInception 32 bit (UUID: a693ac62-7caa-4f11-9d00-51d3a149f5f7)

UUID:        6cd99209-e4db-4178-a6c2-53f9581b1fad
Parent UUID: base
Format:      VDI
Location:    /home/virt_box/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi
State:       created
Type:        normal

Retirer/supprimer le disque de la liste des disques de VirtualBox ("closemedium") :

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage closemedium disk 6cd99209-e4db-4178-a6c2-53f9581b1fad
virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage list hdds
UUID:        ba58276a-bbe1-4354-8ae5-246bdac390c8
Parent UUID: base
Format:      VDI
Location:    /home/virt_box/VirtualBox VMs/TestInception 32 bit/TestInception.vdi
State:       locked write
Type:        normal
Usage:       TestInception 32 bit (UUID: a693ac62-7caa-4f11-9d00-51d3a149f5f7)

Essayez à nouveau de redimensionner :

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd TestInception\ 64\ bit.vdi --resize 8192
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize hard disk operation for this format is not implemented yet!

DAMN, "fixed-size" ne fonctionne pas ! clonehd' à la rescousse, car cela laisse un disque cloné 'dynamiquement alloué' :

virt_box@TestBox:/datadisk/VirtualBox VMs/TestInception 64 bit$ VBoxManage clonehd TestInception\ 64\ bit.vdi TestInception\ 64\ bit-cloned.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: 8e237500-173b-401a-9e63-9e64da110da9

FAITES MAINTENANT LE RESIZE (instantané) :

virt_box@TestBox:/datadisk/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd --resize 8192 TestInception\ 64\ bit-cloned.vdi 
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

PUIS L'ATTACHER À UN VM, POUR LE REDIMENSIONNEMENT. Ceci est fait en tant que root. Supposez que vous n'ayez qu'une partition et éventuellement un swap.

# fdisk /dev/sdb  # <- The extra disk, just attached to be resized
// The procedure looks like this:
// m - print help
// p - print table
// d ... - delete partition (delete both if you have root and swap)
// n - new partition (create root/first partition starting on exact same sector as before, typically 2048, but ends on last, or last minus swap)
//  ... n.. (.. then add the swap partition. Calculate how many sectors using original table)
// t - change type of partition (swap partition, if any, to 82 - not 83 which is "normal Linux").
// w - write partition table (write out, with the resized partition)

# e2fsck -f /dev/sdb1

e2fsck 1.42.5 (29-Jul-2012)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 99918/122160 files (0.3% non-contiguous), 471032/487936 blocks

# resize2fs /dev/sdb1

resize2fs 1.42.5 (29-Jul-2012)
Resizing the filesystem on /dev/sdb1 to 1965824 (4k) blocks.
The filesystem on /dev/sdb1 is now 1965824 blocks long.

5voto

Judex Points 61

Cela a fonctionné pour moi avec Virtualbox 5.2.6 installé sur une machine hôte Ubuntu 16.04 et un invité Windows 10 : ouvrez Virtualbox Manager, cliquez sur Global Tools (coin supérieur droit) et choisissez Virtual Media Manager. Cliquez sur l'onglet Disque dur et sélectionnez votre système d'exploitation invité. En bas de la boîte, cliquez sur l'onglet Attributs. En bas, vous pouvez voir la taille du disque virtuel, et avec le curseur, vous pouvez augmenter la taille à votre goût. (Cette méthode ne permet que d'augmenter la taille, pas de la diminuer). Cliquez sur Appliquer. Démarrez votre système d'exploitation invité Windows, ouvrez Gestion de l'ordinateur, faites un clic droit sur le lecteur C : et sélectionnez Étendre le volume pour étendre le système de fichiers avec la partie non allouée.

C'est tout ce que j'ai eu à faire, ça marche parfaitement pour moi.

3voto

Voici un moyen de redimensionner votre disque VirtualBox, qu'il s'agisse d'un disque à format fixe ou dynamique. Plus précisément, cela permet d'éviter cette erreur :

Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize hard disk operation for this format is not implemented yet!

Sauvegarder le disque virtuel. On ne sait jamais ce qui peut mal tourner.

Sur votre hôte :

  1. Ouvrez une fenêtre de terminal.

    Sur Windows : Ouvrez l'invite de commande cmd .

  2. Allez dans le répertoire contenant le disque virtuel que vous voulez redimensionner. Par exemple :

    cd "My VMs"
  3. Créez un nouveau disque VirtualBox avec le nom de fichier, la taille (en mégaoctets) et le format souhaités (soit Standard (dynamique) ou Fixed ). Par exemple, pour créer un disque à format fixe de 50 Go appelé MyNewDisk.vdi :

    VBoxManage createmedium --filename "MyNewDisk.vdi" --size 50000 --variant Fixed

    Si VBoxManage n'est pas reconnu comme une commande, spécifiez le chemin d'accès complet à celle-ci. Il se trouve dans le répertoire d'installation de VirtualBox. Sous Windows, la commande ci-dessus deviendrait :

    "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createmedium
        --filename "MyNewDisk.vdi" --size 50000 --variant Fixed
  4. Copiez le disque original sur le nouveau disque.

    VBoxManage clonemedium "MyOriginalDisk.vdi" "MyNewDisk.vdi" --existing
  5. Le redimensionnement est terminé ! Vous pouvez vérifier les propriétés du nouveau disque si vous le souhaitez :

    VBoxManage showmediuminfo "MyNewDisk.vdi"
  6. Changez la machine virtuelle pour utiliser le nouveau disque à la place.

Ensuite, sur votre OS invité, vous devez redimensionner les partitions pour utiliser l'espace nouvellement disponible.

2voto

xyzzyman Points 886

Un moyen sûr est de procéder de la même manière que pour le déplacement vers un disque dur plus grand qui ne fonctionne pas dans une VM. Utilisez d'abord ccleaner ou un programme similaire dans XP pour nettoyer tous les fichiers inutiles qu'il peut. Ensuite, créez un disque dur virtuel secondaire de la taille que vous souhaitez. Démarrez avec l'ISO de clonezilla dans votre disque dur virtuel et clonez avec l'option "redimensionner à la nouvelle taille de partition" sélectionnée. Définissez ensuite le nouveau disque dur virtuel comme disque principal et ne supprimez pas l'ancien disque avant d'être sûr que tout fonctionne.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X