J'ai manqué d'espace sur un disque de machine virtuelle qui est un vmdk et j'ai besoin de redimensionner l'image virtuelle. Redimensionnement avec la commande
vboxmanage modifyhd Machine-disk1.vmdk --resize 30720
donne l'erreur
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize hard disk operation for this format is not implemented yet!
Comment puis-je redimensionner une image vmdk?
J'ai été en mesure de redimensionner le vmdk en le clonant puis en le modifiant et en le redimensionnant.
vboxmanage clonehd "virtualdisk.vmdk" "new-virtualdisk.vdi" --format vdi
vboxmanage modifyhd "new-virtualdisk.vdi" --resize 30720
Si vous souhaitez ne plus avoir de disque dur vmdk (vous voudrez peut-être aussi utiliser le disque dans vwmare), procédez comme suit:
VBoxManage clonemedium "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifymedium "cloned.vdi" --resize 51200
VBoxManage clonemedium "cloned.vdi" "resized.vmdk" --format vmdk
Ce qui précède redimensionnera le disque dur jusqu’à 50 Go (50 * 1024 Mo).
Pour terminer , vous devez également redimensionner le lecteur! Pour ce faire, vous pouvez télécharger gparted iso et démarrer à partir de cet iso pour redimensionner votre lecteur (sélectionnez l'iso dans dans les paramètres de la virtualbox).
P.S. Si votre nouvelle taille est trop petite, vous obtiendrez la même erreur même avec votre nouveau fichier vdi.
J'ai un client Windows 7 sur un hôte Mac et ce post était très utile. Merci.
J'ajouterais que je n'ai pas utilisé gparted. J'ai fait ça:
Sucré! J'ai préféré cela à l'utilisation d'un outil tiers avec des avertissements sur la perte de données.
À votre santé!
VBoxManage fait l'affaire, mais n'oubliez pas que vous devez utiliser GParted ou un autre outil pour allouez l'espace libre créé avec VBoxManage .
jetez un coup d'œil à mon article de blog pour obtenir des informations détaillées et des captures d'écran étape par étape.
En fait, seules ces commandes sont nécessaires:
VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifyhd "cloned.vdi" --resize 51200
Ensuite, vous pouvez sélectionner cloned.dvi dans le stockage de l'interface graphique Virtualbox.
Après cela, démarrez les fenêtres virtuelles et développez votre disque C en utilisant les méthodes de Code Chops.
Il n'est pas nécessaire de convertir le fichier * .vdi en fichier * .vmdk.
S'agissant d'un fichier vmdk, vous pouvez utiliser vdiskmanager
de VMWare, s'il est disponible pour votre plate-forme. VMWare a des versions x86 Linux, Windows et OS X ici .
Et puis vous faites juste:
1023856-vdiskmanager-windows-7.0.1.exe -x 30720M Machine-disk1.vmdk
Cela évite d'avoir à cloner, puis à développer le disque. L'inconvénient est que vous avez besoin de cet outil supplémentaire et que vmdk est le format de disque de VMWare. Vous utilisez toujours Virtualbox. Il peut donc y avoir des incompatibilités.
qemu-img
pourrait également fonctionner, mais je ne sais pas s'il prend en charge le redimensionnement des fichiers vmdk. Cela ressemblerait à quelque chose comme:
qemu-img resize Machine-disk1.vmdk +8G
Et juste un rappel, avec les deux, vous devez toujours agrandir la partition après avoir redimensionné le disque sous-jacent. Tous ces outils sont essentiellement dd if=/dev/old_disk of=/dev/new_disk bs=16M
.
Vous pouvez utiliser Vmware Player pour redimensionner un vmdk. Cela supprime la conversion aller-retour (notée dans d'autres publications) si vous souhaitez la conserver au format vmdk. Assurez-vous simplement que lorsque vous ajoutez le vmdk à vmware, ne cliquez pas sur le format de mise à niveau lorsque vous y êtes invité, conservez le fichier actuel au cas où VirtualBox ne l'accepterait pas.
J'ai essayé toutes les solutions ici, mais rien ne semblait fonctionner. Après des heures de fouilles, j'ai trouvé ce blog et, comme par magie, tout fonctionne. J'ai dû faire de petits ajustements alors voici la version modifiée. Testé avec la version 17.06.0-ce de Docker, version 02c1d87.
Une fois que les développeurs commencent réellement à conteneuriser leurs applications, ils génèrent souvent un grand nombre d'images et occupent rapidement l'espace disque de 20 Go alloué par défaut à la machine virtuelle Docker. Pour vous assurer que la machine virtuelle Docker dispose de beaucoup d'espace disque, nous devons redimensionner/dev/sda1 en un nombre plus raisonnable.
Arrêtez la machine virtuelle Docker docker-machine stop default
.
Le programme d’installation du package Boot2Docker est livré avec un volume VMDK, que les outils natifs de VirtualBox ne peuvent pas redimensionner. Afin de redimensionner le volume de disque Docker, clonez d’abord le volume VDI à partir du volume VMDK par défaut vboxmanage clonehd /full/path/to/disk.vmdk /full/path/to/disk_resized.vdi --format VDI --variant Standard
.
vboxmanage modifyhd /full/path/to/disk_resized.vdi --resize <size in MB>
.default
VM et cliquez sur l'engrenage "Settings" (Paramètres) en haut. docker-machine start default
Pour réduire taille d'image, j'utilise les étapes suivantes:
cat /dev/zero > z;sync;sleep 3;sync;rm -f z
VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifyhd cloned.vdi --compact
VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk
Comme mentionné dans le réponse de Luca, les étapes à suivre sont les suivantes:
Cloner l'image VMDK au format VDI
VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
Redimensionner l'image VDI
VBoxManage modifyhd "cloned.vdi" --resize 51200
Cloner au format VMDK
VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk
L'étape 3 est facultative si vous pouvez utiliser une image VDI à la place.
Toutes ces étapes peuvent également être effectuées dans l'interface graphique de VirtualBox, sous File -> Virtual Media Manager
. Sélectionnez le lecteur que vous souhaitez cloner, puis choisissez Copy
. Une boîte de dialogue s'ouvre pour vous permettre de choisir le format et les options du disque. Pour redimensionner une image VDI, utilisez simplement le curseur situé en bas (cliquez sur Properties
si elle n’est pas visible).
Enfin, vous devrez peut-être également modifier la taille du disque dans le système d'exploitation invité:
gparted
ou kparted
.VirtualBox pour Windows
Redimensionner votre fichier de disque tout en en préservant les paramètres de votre machine virtuelle!
Démarrer cmd.exe
cd
à Oracle VM répertoire de VirtualBox (sur les systèmes 64 bits: "C:\Program Files\Oracle\VirtualBox\"
)
Exécutez ces commandes (comme ci-dessus):
VBoxManage clonehd "C:\path\to\source.vmdk" "C:\path_to\cloned.vdi" --format vdi
VBoxManage modifyhd "C:\path\to\cloned.vdi" --resize 51200
L'Explorateur Windows et "Copier l'adresse en tant que texte" via la barre d'adresse devraient vous aider à obtenir le chemin dont vous avez besoin.
Sur le système Windows, le répertoire VirtaulBox VM situé sous votre utilisateur peut contenir un fichier de base de données au format XML contenant les paramètres que vous avez configurés pour votre machine virtuelle. Renommez ce fichier avec une extension .bak
(il porte une extension .vbox
). Renommez le fichier .vmdk
d'origine avec une extension .bak
afin d'éviter une autre erreur. Vous pouvez maintenant effectuer la troisième étape en toute sécurité, sans le message d'erreur permettant de reconvertir l'ordinateur au format .vmdk
, ou l'erreur "dupliquer le disque".
VBoxManage clonehd "C:\path_to\cloned.vdi" "C:\path_to\source.vmdk" --format vmdk
Un jeton UID vous sera présenté. Copiez ce jeton en le faisant glisser depuis la fenêtre d'interface de commande Windows et en utilisant le raccourci clavier Ctrl+C
.
Ouvrez le fichier .vbox.bak
dans un éditeur de texte tel que Notepad ++. Vous serez présenté avec un fichier de base de données de type XML. Recherchez ces lignes:
<VirtualBox xmlns="http://www.virtualbox.org/" version="1.16-windows">
<Machine uuid="{some uid}" name="source disk name" OSType="the_vbox_OS" snapshotFolder="Snapshots" lastStateChange="2043-03-23T00:54:18Z">
<MediaRegistry>
<HardDisks>
<HardDisk uuid="{some uid}" location="C:\path_to\source.vmdk" ...
Sur la ligne <HardDisk uuid="{some uid}" location="C:\path_to\source.vmdk" ...
, supprimez l'ancien jeton UID entre les crochets et collez celui que vous avez copié à partir de la fenêtre de commande. Assurez-vous de laisser les crochets en place !
Enregistrez ce fichier et quittez votre éditeur de texte. Renommez le fichier .vbox.bak
pour lui redonner son extension attendue de .vbox
.
Il est maintenant sûr de supprimer les fichiers .bak
restant dans le répertoire. Ce qui reste est un .vmdk
redimensionné avec une base de données .vbox
mise à jour alors que vos paramètres de VirtualBox Manager précédemment préservés.
Vous pouvez maintenant démarrer le gestionnaire VirtualBox VM et exécuter votre machine virtuelle en utilisant les outils appropriés pour le système d'exploitation afin de remplir le nouvel espace disponible.
Pour machines virtuelles Windows , utilisez diskpart
à partir de la commande Invite démarrée à partir de Windows Recovery Consule (partition de restauration) sur SELECT DISK 1
, LIST PARTITION
et rassemblez la partition. numéro de votre lecteur C:\
, puis SELECT PARTITION #
. Vous pouvez utiliser le EXTEND SIZE=mb
pour redimensionner le lecteur Windows C:\à la valeur appropriée. Assurez-vous de laisser de la place pour les partitions de récupération et de démarrage! Soustrayez 4096 Mo de la nouvelle taille de votre disque virtuel pour obtenir cette valeur, en raison des fichiers de cliché instantané et de récupération Windows.
Pour les machines virtuelles Linux , vous pouvez trouver un .ISO
de live que vous pouvez démarrer avec le fichier de disque de la machine virtuelle à l'adresse: http: // gparted.org/ Il vous permettra d'accéder directement à gparted-gtk, une interface utilisateur graphique, à partir de laquelle vous pourrez occuper votre espace libre.
Pour les ordinateurs virtuels PPC/Mac , Disk Utility
du Finder vous aidera à remplir l’espace libre, mais vous voudrez peut-être prendre en compte l'option Linux gparted , comme actuellement la seule méthode pour démarrer MacOSX dans VirtualBox est hackintosh, et vous ne pouvez pas étendre votre volume lors du démarrage sous MacOSX. Vous voudrez peut-être aussi modifier temporairement les paramètres de la machine virtuelle pour gparted
afin de l'amorcer. Les partitions MacOSX sont reconnues par gparted comme étant les partitions HFS
- "Système de fichiers en tas".
Parce que l'internet. ;) Vous avez terminé. Profitez de votre nouvelle image disque virtuelle .vmdk
redimensionnée avec VirtualBox pour Windows!
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 l’erreur que vous aviez lorsque votre disque est au format fixe.
⚠️ Sauvegardez le disque virtuel. Vous ne savez jamais ce qui pourrait mal tourner.
Sur votre hôte:
Ouvrez une fenêtre de terminal.
Sous Windows: Ouvrez la commande Invite
cmd
.
Accédez au répertoire contenant le disque virtuel que vous souhaitez redimensionner. Par exemple:
cd "My VMs"
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
Si
VBoxManage
n'est pas reconnu en tant que commande, spécifiez son chemin 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
Copiez le disque d'origine sur le nouveau disque.
VBoxManage clonemedium "MyOriginalDisk.vdi" "MyNewDisk.vdi" --existing
Le redimensionnement est terminé! Vous pouvez vérifier les propriétés du nouveau disque si vous voulez:
VBoxManage showmediuminfo "MyNewDisk.vdi"
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.
Une option simple et rapide:
Déplacer le contenu de l'ancien disque vers le nouveau disque:
vboxmanage clonehd "source-disk.vmdk" "new-disk.vmdk" --existing
Allumer la machine
Avertissement
Si le nouveau disque est plus court que la source, vous allez perdre les données situé à partir de la nouvelle position de la taille du disque sur le disque source.
Vous pouvez empêcher cet espace delta de désallocation, où delta = taille (disque source) - taille (nouveau disque), à la fin du disque source dans le système d'exploitation avant l'étape 1.
Je suis ici parce que je devais redimensionner un disque pour mon environnement de développement Docker (CoreOS).
CoreOS docs dit qu'il n'est pas nécessaire de redimensionner la partition du système d'exploitation - c'est faux. Après avoir redimensionné le disque virtuel, vous devez suivre ces instructions et redimensionner la partition du système d'exploitation via GParted: