web-dev-qa-db-fra.com

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

enter image description here

L'espace disponible sur ma machine virtuelle WinXP est saturé. Je ne lui ai alloué que 10 Go d'espace libre lors de sa création. Existe-t-il un moyen facile de l’augmenter à 20 Go, par exemple? 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 son ajout, ont 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, on dit FATAL: Could not read from the boot medium! System halted.


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

enter image description here

J'ai été en mesure de redimensionner facilement la partition à l'aide d'un logiciel gratuit appelé EASEUS Partition Master 9.1.0 Home Edition .

249
wim

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’extra l’espace virtuel du disque dur 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'un 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.

317
Tom Brossman

Ce qui suit a 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, sous Windows 7, j’ai été en mesure de redimensionner à l’écran que vous avez montré en cliquant avec le bouton droit de la souris sur le lecteur C: dans le panneau inférieur et en sélectionnant étendre le volume.

Computer management screen

23
Richard Povinelli

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

17
tiempjuuh

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

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

Une fenêtre s'ouvrira: enter image description here

Sélectionnez votre disque, puis sélectionnez Properties. Maintenant, déplacez simplement le curseur en bas.

Une fois que vous avez démarré la machine virtuelle, Windows ne reconnaîtra pas le nouvel espace.

Dans Windows, 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, il suffit de cliquer sur l'assistant et vous avez terminé.

8
lenooh

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

  1. cloner
  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 peuvent interférer pour le redimensionnement et ne pas être en mesure de supprimer tous les instantanés pour les différentes erreurs que j'ai eues, la seule solution trouvée pour moi était de le cloner pour supprimer les instantanés puis le redimensionner et tout fonctionnait. Pour redimensionner les fenêtres extérieures, un CD de démarrage gparted qui peut être trouvé ici peut vous aider

7
Philippe Gachoud

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', 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 VM qui l'utilisait, mais également de la liste "de la liste des disques virtuels de VirtualBox". Cela 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 la façon dont cela a été fait. Remarquez que je ne suis pas à tout moment en tant que root, sauf lorsque je fais ensuite le redimensionnement de la partition et du système de fichiers .

SUPPRIMER L'ASSOCIATION SUR LE DISQUE DE VM.

PROBLÈME PERSISTE ENCORE:

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 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)

Réessayez 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

FAITES MAINTENANT LE REDIMENSIONNEMENT (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 ATTACHEZ À CERTAINS VM, POUR REDIMENSIONNEMENT. Cela se fait en tant que root. Supposons que vous n’ayez qu’une partition et que vous permutiez.

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

Cela a fonctionné pour moi avec Virtualbox 5.2.6 installé sur la machine hôte Ubuntu 16.04 et Windows 10 Guest: 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 j’avais à faire, me convient parfaitement.

3
Judex

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

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB  

A travaillé pour moi à la première fois de demander

1
tindase

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 en Mo du disque.

1
Manish Jangir

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 de l'espace supplémentaire.

1
JJinCO

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 dans une machine virtuelle. Utilisez d’abord ccleaner ou un programme similaire dans 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 virtuel ODD et clonez dessus avec l'option "redimensionner à la nouvelle taille de partition" sélectionnée. Définissez 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é.

1
xyzzyman

En fait, il semblerait que modifyhd (en anglais seulement) ne vous soit d'aucune utilité dans certains cas. En fait, j'ai élargi mon WinXP vdi en clonant l'image après expansion.

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

0
0x61696f

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 empêche cette erreur:

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

⚠️ Sauvegardez le disque virtuel. Vous ne savez jamais ce qui pourrait mal tourner.

Sur votre hôte:

  1. Ouvrez une fenêtre de terminal.

    Sous Windows: Ouvrez la commande Invite cmdname__.

  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 Fixedname__). 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
    

    Si VBoxManagen'est pas reconnu en tant que commande, spécifiez son chemin d'accès complet. Vous le trouverez 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 d'origine 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 voulez:

    VBoxManage showmediuminfo "MyNewDisk.vdi"
    
  6. Changez 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.

0

Pour ceux qui ont Windows sur un disque dur virtuel, comme moi, convertissez d’abord en VDI en clonant avec la commande Linux suivante. (Remarque: Windows VM mis hors tension.)

VBoxManage clonehd Windows10.vhd Windows10.vdi --format vdi

Cela va dupliquer le vhd.

Ensuite, le VDI peut être redimensionné avec ce qui suit. Notez que la VDI ne croîtra pas tant qu'elle ne sera pas utilisée.

VBoxManage modifyhd Windows10.vdi --resize 80000

Après avoir corrigé le montage du stockage dans le logiciel hôte VM, puis mis la machine sous tension, Windows démarre, mais la partition a toujours la même taille. Google pour un outil Windows capable de redimensionner la partition du lecteur C. J'ai utilisé EaseUs Partition Master pour développer la partition du lecteur C à ma nouvelle taille.

Enfin, le disque dur virtuel peut être supprimé.

0
jws