Comment augmenter la taille du disque dur de la machine virtuelle?

239

L'espacedisponiblesurmamachinevirtuelleWinXPestsaturé.Jeneluiaiallouéque10God'espacelibrelorsdesacréation.Existe-t-ilunmoyenfaciledel’augmenterà20Go,parexemple?JenevoisaucuneoptionévidentedanslesparamètresdeVirtualBox.

Lasuggestionci-dessousdonnecetteerreur

[email protected]:/media/data/winxp_vm$VBoxManagemodifyhdwim.vdi--resize20000VBoxManage:error:Cannotregistertheharddisk'/media/data/winxp_vm/wim.vdi'{46284957-2c09-4e70-8a49-bfbe0f7f681d}becauseaharddisk'/home/wim/VirtualBoxVMs/winxp_vm/wim.vdi'withUUID{46284957-2c09-4e70-8a49-bfbe0f7f681d}alreadyexistsVBoxManage:error:Details:codeNS_ERROR_INVALID_ARG(0x80070057),componentVirtualBox,interfaceIVirtualBox,calleensISupportsContext:"OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, AccessMode_ReadWrite, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 210 of file VBoxManageDisk.cpp

La suppression du fichier .vdi de VirtualBox avant l'appel de la commande VBoxManage, puis sa réactivation, ont abouti. Mais maintenant, je ne peux pas démarrer la machine virtuelle, je reçois cet écran inquiétant:

Aufait,ilestécritFATAL:Couldnotreadfromthebootmedium!Systemhalted.

LevdidoitêtrerattachéàlamachinevirtuelleaprèslacommandeVBoxManage.Deplus,lapartitiondevraêtreredimensionnéeàpartirdeWITHINwindows,carvousaurezcetespacevide:

J'ai pu redimensionner facilement la partition à l'aide d'un logiciel gratuit appelé EASEUS Partition Master 9.1.0 Édition familiale .

    
posée wim 18.12.2011 - 12:51
la source

13 réponses

306

Ouvrez un terminal et naviguez jusqu'au dossier contenant l'image disque VirtualBox, puis utilisez la commande suivante:

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

en remplaçant YOUR_HARD_DISK et SIZE_IN_MB par votre nom d’image et la taille souhaitée. sudo peut être nécessaire sur certaines machines ou vous pouvez rencontrer une erreur. Cette réponse et une explication plus complète sont ici, sur webupd8 Nous remercions Andrew d’avoir posté cette réponse.

Après le redimensionnement, l'espace supplémentaire doit être partitionné et formaté pour que l'invité puisse l'utiliser. Cela peut être fait avec gparted en démarrant l'invité à partir d'une image ISO en direct. Nous pouvons également redimensionner la partition existante en utilisant gparted. Pour cela, nous devrons peut-être désactiver /swap et créer une nouvelle partition de swap.

    
réponse donnée Tom Brossman 18.12.2011 - 13:07
la source
23

Ce qui suit a fonctionné pour moi:

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

Cependant, je comprends comment le kilométrage peut varier. C: dans le panneau du bas, sélectionnez Extension du volume.

    
réponse donnée Richard Povinelli 15.04.2012 - 13:53
la source
17

Wim, je pense que vous devrez d’abord le désenregistrer de Vbox. Fichier, Media Manager, cliquez sur votre disque dur et annulez l’enregistrement. Puis réessayez.

    
réponse donnée tiempjuuh 19.12.2011 - 12:40
la source
7

Après le redimensionnement et l'impossibilité d'afficher le redimensionnement sur mon ordinateur invité Windows XP, je devais

  1. clonez-le
  2. redimensionnez-le avec "VBoxManage modifyhd winxppro \ Clone.vdi --resize 30720" et tout a fonctionné

J'ai vu dans d'autres forums que des instantanés pouvaient interférer pour le redimensionnement et ne pas être en mesure de supprimer tous les instantanés pour les différentes erreurs que j'avais, la seule solution trouvée pour moi était de le cloner pour supprimer les instantanés puis le redimensionner, et tout a fonctionné . Pour le redimensionnement en dehors des fenêtres, un CD de démarrage gparted disponible ici peut aider

    
réponse donnée Philippe Gachoud 28.05.2013 - 13:11
la source
5

J'ai eu le même problème en déplaçant un disque et en remplaçant l'original par un lien symbolique. Cela fonctionne bien par la suite, mais vous rencontrez des problèmes avec la commande 'modifyhd', qui canonise apparemment le chemin d'accès au fichier vdi lorsque vous l'utilisez. 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 du genre.

Il y avait deux problèmes:

  1. Le disque devait être supprimé de la machine virtuelle qui l'utilisait, mais aussi "de la liste des disques virtuels de VirtualBox". Ceci a été corrigé 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 redimensionner le disque résultant.

Ceci est mon journal pour expliquer comment cela a été fait. Notez que je ne suis pas à un moment donné en tant que root , sauf lorsque je redimensionne ensuite la partition et le système de fichiers.

SUPPRIMER L'ASSOCIATION DU DISQUE DE VM.

LE PROBLÈME PERSISTE ENCORE:

[email protected]:~/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":

[email protected]:~/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

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

[email protected]:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage closemedium disk 6cd99209-e4db-4178-a6c2-53f9581b1fad
[email protected]:~/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)

Réessayez le redimensionnement:

[email protected]:~/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, "taille fixe" NE FONCTIONNE PAS! "clonehd" à la rescousse, car cela laisse un disque cloné "alloué dynamiquement":

[email protected]:/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

RÉALISEZ MAINTENANT (instantané):

[email protected]:/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%

ALORS ATTACHER À CERTAINS VM, POUR REDIMENSIONNER. Ceci est fait en tant que root. Suppose que vous n’avez qu’une seule 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.
    
réponse donnée stolsvik 09.04.2013 - 14:01
la source
2

Cela a fonctionné pour moi avec Virtualbox 5.2.6 installé sur la machine hôte Ubuntu 16.04 et Windows 10: Ouvrez Virtualbox Manager, cliquez sur Outils globaux (coin supérieur droit) et choisissez Virtual Media Manager. Cliquez sur l'onglet Disque dur et sélectionnez votre système d'exploitation invité. Au 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 l'augmenter à votre guise. (Vous pouvez seulement augmenter, pas diminuer la taille avec cette méthode). Cliquez sur Appliquer. Démarrez votre OS invité Windows, ouvrez Gestion de l'ordinateur, cliquez avec le bouton droit de la souris 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 je devais faire, cela me convient parfaitement.

    
réponse donnée Judex 24.01.2018 - 18:55
la source
1

Une méthode sûre consiste à procéder de la même manière que pour passer à un disque dur plus grand qui ne fonctionne pas sur une machine virtuelle. Commencez par utiliser ccleaner ou un programme similaire sous XP pour nettoyer tous les fichiers inutiles qu’il peut. Créez ensuite un disque dur virtuel secondaire de la taille souhaitée. Démarrez avec l'ISO clonezilla dans votre lecteur ODD virtuel et clonez dessus avec l'option "redimensionner à la nouvelle taille de la partition" sélectionnée. Configurez ensuite le nouveau disque dur virtuel en tant que disque principal et ne supprimez pas l’ancien tant que vous ne saurez pas que cela a fonctionné.

    
réponse donnée xyzzyman 19.12.2011 - 15:03
la source
1

J'ai reçu la même erreur jusqu'à ce que j'utilise sudo pour exécuter la commande, puis que je travaille parfaitement et qu'il faille encore créer une partition à partir de l'invité pour utiliser davantage d'espace.

    
réponse donnée JJinCO 01.02.2012 - 10:34
la source
1

En fait, il semble que modifyhd ne vous soit d'aucune utilité dans certains cas. En fait, j’ai développé mon WinXP vdi en clonant l’image après l’extension.

Voici le guide complet, étape par étape, qui a fonctionné pour moi il y a quelques semaines: lien

    
réponse donnée 0x61696f 01.05.2012 - 21:25
la source
1

Assurez-vous que vous êtes connecté en tant qu'utilisateur avec des autorisations en écriture sur le fichier image du disque. Puis lancez

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB  

Travaillé pour moi lors de ma première demande

    
réponse donnée tindase 27.03.2012 - 00:53
la source
1

Vous pouvez également le faire en utilisant le menu VirtualBox:

Sélectionnez File - > Virtual Media Manager ...

Une fenêtre s'ouvrira:

Sélectionnez votre disque, puis sélectionnez Properties . Il suffit maintenant de déplacer le curseur en bas.

Après le démarrage de la machine virtuelle, Windows ne reconnaîtra pas le nouvel espace.

Ouvrez Computer Management (recherchez-le dans le menu Démarrer), sélectionnez Storage - > Disk Management dans le menu de gauche. Sélectionnez votre partition (probablement C :), faites un clic droit dessus et sélectionnez Extend Volume ... . Maintenant, cliquez simplement sur l'assistant et vous avez terminé.

    
réponse donnée lenooh 06.07.2018 - 14:36
la source
0

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

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

⚠️ Backup the virtual disk. You never know what might go wrong.

Sur votre hôte:

  1. Ouvrez une fenêtre de terminal.

    On Windows: Open the command prompt cmd.

  2. Accédez au répertoire contenant le disque virtuel que vous souhaitez 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 ( Standard (dynamique) ou Fixed ). Par exemple, pour créer un disque au format fixe de 50 Go appelé MyNewDisk.vdi :

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

    If VBoxManage is not recognized as a command, specify the full path to it. It can be found in the VirtualBox installation directory. On Windows the above command would become:

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

    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 voulez:

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

Ensuite, sur votre système d'exploitation invité, vous devez redimensionner les partitions pour utiliser le nouvel espace disponible.

    
réponse donnée Virtlink 18.08.2017 - 15:53
la source
0

Si votre ordinateur hôte est Windows, vous pouvez exécuter la commande suivante pour augmenter ou réduire la taille du disque vdi dans une boîte virtuelle:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd "C:\Users\your_user_name\VirtualBox VMs\Ubuntu18LTS\Ubuntu18LTS.vdi" --resize 20000

Dans la commande ci-dessus, remplacez votre_nom_utilisateur par le véritable utilisateur Windows et 20000 correspond à la taille du disque.

    
réponse donnée Manish Jangir 03.08.2018 - 09:50
la source

Lire d'autres questions sur les étiquettes