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


enter image description here

Je n'ai plus de place sur ma machine virtuelle WinXP, qui ne me donnait que 10 Go d'espace pour sa création. Existe-t-il un moyen facile de l'augmenter à, disons, 20 Go? Je ne vois aucune 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

La suppression du fichier .vdi de VirtualBox avant d'appeler la commande VBoxManage, puis de l'ajouter à nouveau, a abouti. Mais maintenant, je ne peux pas démarrer la machine virtuelle, je reçois cet écran inquiétant:

enter image description here

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


Le vdi doit être rattaché à la machine virtuelle après la commande VBoxManage. De plus, la partition devra être redimensionnée à partir des fenêtres WITHIN, car vous aurez cet espace vide:

enter image description here

J'ai pu redimensionner la partition facilement en utilisant un peu de freeware appelé EASEUS Partition Master 9.1.0 Édition familiale.


232
2017-12-18 11:51


origine


Votre problème est que vous avez lié le disque à un emplacement "/ media / data" et qu'il ne réside pas sur l'emplacement d'origine "/ home / wim / VirtualBox VMs". J'ai répondu avec comment j'ai résolu ce problème. - stolsvik
J'ai détaillé mon expérience ici: kmonsoor.wordpress.com/2012/05/26/virtualbox-increase-disk-size   la réponse "acceptée" ci-dessous est loin d'être exacte. - kmonsoor
Il y a une autre possibilité de "copier le vdi existant" dans un "nouveau vdi vide, dont la taille est plus grande que celle existante" (refer- justintung.com/2011/01/06/… ) - parasrish
Notez également que le redimensionnement peut ne pas aider, car la taille de "vdi" aurait augmenté, mais en fonction de "vm-os-installation", votre partition principale reste la même et l'espace nouvellement alloué est généralement "non alloué ". Vous devez donc faire la "réaffectation de partition" (reportez-vous au lien ci-dessus). - parasrish


Réponses:


Ouvrez un terminal et accédez au dossier contenant l'image disque VirtualBox, puis utilisez la commande suivante:

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

remplacer YOUR_HARD_DISK et SIZE_IN_MB avec votre nom d'image et la taille désirée. sudo peut être nécessaire sur certaines machines ou vous pourriez 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, le supplément l'espace disque virtuel doit être partitionné et formaté pour l'invité à l'utiliser. Cela peut être fait avec gparted en démarrant l'invité à partir d'une ISO en direct. Nous pouvons également redimensionner la partition existante en utilisant gparted. Pour cela, il peut être nécessaire de désactiver /swap et créer une nouvelle partition de swap.


298
2017-12-18 12:07



+1. Je viens juste d'utiliser ceci pour augmenter la taille de mon disque Windows 7 de 20 à 30 Go, et cela a très bien fonctionné (pas de désinscription, etc. nécessaire). $ VBoxManage modifyhd Windows7.vdi --resize 30720 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%  Au début, Windows ne détectait pas l'espace supplémentaire, mais après une mise hors tension, j'ai pu utiliser l'outil de gestion de disque intégré pour augmenter la taille de ma partition C :. - Jonik
+1, c'est certainement la manière la plus propre de le faire. - Starx
@asd La modification de la taille du disque ne suffit pas, vous devez également redimensionner la partition. - Bruno
CECI FONCTIONNERA! Cependant, vous devez augmenter la partition pour que Windows puisse enregistrer le nouvel espace. Méthode la meilleure et la plus rapide / la plus simple: howtogeek.com/howto/windows-vista/… - tfont
Je pense que dans les versions récentes de VirtualBox c'est .\VBoxManage.exe modifymedium disk 4d30d154-f8c2-4a3b-bd8b-ddcfbfe64aaf --resize 30720 à présent. modifyhd ça marche aussi - il y a une compatibilité avec les anciennes commandes. - TranslucentCloud


Les suivants ont fonctionné pour moi:

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

Cependant, je comprends que le kilométrage peut varier :-) En ce qui concerne le redimensionnement de la partition, dans Windows 7, j'ai pu redimensionner à l’écran que vous avez montré en cliquant avec le bouton droit de la souris sur la partition. C: lecteur dans le panneau inférieur et en sélectionnant Étendre le volume.

Computer management screen


23
2018-04-15 11:53



sudo est ne pas nécessaire. Il peut corrompre les autorisations dans votre répertoire personnel, vous obligeant à utiliser sudo pour la virtualbox qui est un mal idée. - Lekensteyn
@Lekensteyn: Bon de savoir que ce n'est pas nécessaire. Je l'ai utilisé parce que d'autres ont dit que cela ne fonctionnait pas sans être root. En ce qui concerne les corruptions de permissions, chmod fonctionne bien pour corriger de telles erreurs. - Richard Povinelli
@Lekensteyn: chown va corriger les erreurs de propriété. Je mentionne chmod et chown, car j'ai dû corriger le problème que vous référencez à plusieurs reprises :-) - Richard Povinelli
C'est parfait pour Windows, mais si vous avez un OS invité Linux, ce lien peut vous aider à redimensionner les partitions: forums.virtualbox.org/viewtopic.php?f=35&t=50661 - Jon
Si vous utilisez Windows à l'intérieur de Linux, vous devez suivre cette option et étendre le disque, sinon Windows n'ajoutera pas l'espace supplémentaire que nous avons ajouté. - Ajith R Nair


Wim, je pense que vous devrez d'abord vous désinscrire de Vbox. Fichier, Media Manager, Cliquez sur votre disque dur, et annulez-le. Puis réessayez.


17
2017-12-19 11:40



Non requis sur Linux dans VirtualBox. Il suffisait de fermer le système d'exploitation invité en premier. - Underverse


Après avoir été redimensionné et ne pas être en mesure de visualiser le redimensionnement sur mon ordinateur invité Windows XP, je devais

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

J'ai vu dans d'autres forums que les instantanés pouvaient interférer avec le redimensionnement et ne pas pouvoir supprimer tous les instantanés pour différentes erreurs, la seule solution trouvée pour moi était de le cloner pour supprimer les instantanés et ensuite le redimensionner. Pour redimensionner à l'extérieur de Windows, un CD de démarrage gparted pouvant être trouvé ici peut aider


7
2018-05-28 11:11





J'ai eu le même problème lorsque j'ai déplacé un disque et remplacé l'original par un lien symbolique. Cela fonctionne bien après, mais vous rencontrez des problèmes avec la commande "modifyhd", car cela semble canoniser le chemin vers le fichier vdi lorsque vous travaillez avec. 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 supprimé de la machine virtuelle qui l’utilisait, mais aussi de la liste de disques durs VirtualBox. Cela a été corrigé avec la commande 'closemedium', qui la 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 redimensionne le disque résultant.

Ceci est mon journal pour savoir comment cela a été fait. Notez que je suis ne pas à tout moment en cours d'exécution en tant que root, sauf lorsque je fais ensuite le redimensionnement de la partition et du système de fichiers.

ENLEVEZ L'ASSOCIATION SUR LE DISQUE DE LA VM. 

PROBLÈME ENCORE PERSISTANT:

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

Supprimer / supprimer le disque de la liste de disques 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 le redimensionnement:

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

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

MAINTENANT FAITES LE REDIMENSION (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%

ALORS ATTACHER À CERTAINES VM, POUR REDIMENSIONNER. Ceci est fait en tant que root. Suppose que vous ne disposez que d'une partition et que vous pouvez éventuellement la permuter.

# 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.

5
2018-04-09 12:01



Cela a fonctionné pour moi, a suivi le guide ici: yinfor.com/2015/05/… - marijnz0r


Cela a fonctionné pour moi avec Virtualbox 5.2.6 installé sur Ubuntu 16.04 Host Machine et Windows 10 Guest: 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 OS 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 convenance. (Vous ne pouvez augmenter que 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 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, fonctionne parfaitement pour moi.


2
2018-01-24 17:55



Travaillé très bien. Ne devrait-ce pas être la réponse acceptée, du moins pour les versions récentes de VirtualBox? - AlwaysLearning


Un moyen sûr est de faire la même chose que de 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. 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 avec l'option 'redimensionner à la nouvelle taille de partition' sélectionnée. Ensuite, définissez le nouveau disque dur virtuel en tant que disque principal et ne supprimez pas l'ancien tant que vous ne le savez pas.


1
2017-12-19 14:03





J'ai reçu la même erreur jusqu'à ce que j'utilise sudo pour exécuter la commande, puis j'ai travaillé parfaitement, j'ai encore besoin de partitionner à partir de l'invité pour utiliser de l'espace supplémentaire.


1
2018-02-01 09:34



Certaines personnes ont signalé que cela entraînait de mauvaises permissions pour le répertoire principal - Jonathan


En fait, il semble que modifyhd seul ne vous fait aucun bien dans certains cas. J'ai en fait élargi mon vdi WinXP en clonant l'image après l'extension.

Voici le guide complet qui a fonctionné pour moi il y a quelques semaines: http://libtronics.com/2011/07/resize-virtualbox-disk-for-winxp-guest/


1
2018-05-01 19:25



Pouvez-vous s'il vous plaît expliquer les étapes ici? Les réponses avec peu plus qu'un lien vers un autre site sont généralement mal vues ici, et peut être supprimé. - Tom Brossman
Eh bien, vous devez comprendre ce que d'autres modifications font, ce qui n'est pas beaucoup plus que développer le disque virtuel sous-jacent, c'est tout. Vous devez encore développer le système de fichiers qui s'y trouve. - Marcin Kaminski