Bonjour à tous,
Je suis sous debian buster, j'ai installé virtualbox Version 6.1.10_Debian r138449 depuis le dépot suivant,
https://people.debian.org/~lucas/virtualbox-buster/
J'essaie de redimensionner une VM car elle est en dynamique à 100Go, j'aimerais la descendre à 50Go.
Voici mon erreur,
user@home:~$ vboxmanage modifyhd /home/user/virtualbox_machine/Win10/Win10.vdi --resize 75000
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Failed to resize medium
VBoxManage: error: Shrinking is not yet supported for medium '/home/user/virtualbox_machine/Win10/Win10.vdi'
VBoxManage: error: Details: code VBOX_E_NOT_SUPPORTED (0x80bb0009), component MediumWrap, interface IMedium
VBoxManage: error: Context: "RTEXITCODE handleModifyMedium(HandlerArg*)" at line 816 of file VBoxManageDisk.cpp
Merci d'avance.
# La doc
Posté par Donk . Évalué à 4.
Extrait de la doc:
https://www.virtualbox.org/manual/ch08.html#vboxmanage-modifymedium
# ???
Posté par Graveen . Évalué à 3.
le message d'erreur t'explique que ce n'est pas possible.
Tu peux créer un disque de 50Go et faire une image depuis ton Windows virtualisé.
[^] # Re: ???
Posté par electro575 . Évalué à 1.
Faire une image depuis mon windows virtualisé ?
Du windows en lui meme ? On peut faire ca ?
[^] # Re: ???
Posté par Arthur Accroc . Évalué à 3.
Ça paraît effectivement optimiste, mais par contre, tu peux démarrer ta machine virtuelle sur l’image d’un système de sauvetage (comme SystemRescueCd) pour le faire.
Ou utiliser vdfuse pour monter les deux disques virtuels sur ton système hôte pour faire les opérations depuis lui.
« Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone
[^] # Re: ???
Posté par electro575 . Évalué à 1.
Du coup, on peut monter deux fichiers .vdi pour copier leur contenu ?
Du coup, on peut shrink une VM de cette façon la.
[^] # Re: ???
Posté par Arthur Accroc . Évalué à 3.
Oui.
Sur une machine virtuelle, c’est simplement vu comme des disques différents.
Sur la machine hôte, vdfuse fait apparaître les partitions des images vdi comme des fichiers, qu’on peut ensuite monter avec l’option
-o loop
de mount ou travailler directement avec tout utilitaire disque (ddrescue, ntfsclone…).Si les partitions occupent tout l’espace de l’image disque d’origine, il est probablement plus judicieux de d’abord les réduire avec gparted (en démarrant la machine virtuelle sur un système live), et ensuite seulement de les copier sur la nouvelle image disque plus petite.
« Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone
[^] # Re: ???
Posté par electro575 . Évalué à 1. Dernière modification le 07 juillet 2020 à 18:12.
J'ai procédé comme suit,
ANCIENNE VM :
VDI TO IMG
NOUVELLE VM :
J'ai créé un fichier VDI à partir du GUI Virtualbox pour taille max 75 Go dynamique (contraitement à 100Go sur l'ancienne VM)
VDI TO IMG
partitionnement -> fdisk
formatage -> mkfs type 0x07
Ensuite, j'ai copié les partitions suivantes avec "cp -r /mnt/original/* /mnt/shrink/"
IMG TO VDI
LANCEMENT DE LA VM
La VM se lance mais ne boot pas sous virtualbox
L'invite de commande clignote.
Ce doit être la partition de boot loop0p1 qui n'est pas au niveau des partitions de la nouvelle VM.
Auriez-vous une idée ?
Merci
[^] # Pas cp, surtout sans plus d’options
Posté par Arthur Accroc . Évalué à 2.
Là, tu as copié les fichiers, pas les partitions, et sans conserver les droits.
Il aurait fallu au minimum utiliser
cp -a
pour conserver des droits Unix (et encore, je ne suis pas sûr que ça conserve toutes les subtilités genre ACL, attributs et capacités).Quant aux partitions Windows, il faudrait les copier avec un utilitaire approprié sous Windows pour conserver les ACL de leurs fichiers, mais de toute façon, certains fichiers de la partition système ne doivent pas être déplacés.
Si vdfuse est compliqué à installer sous Debian, le mieux reste de démarrer la machine virtuelle sur un système de sauvetage (comme SystemRescueCd), réduire si nécessaire la taille des partitions avec gparted, puis les copier (les partitions en entier, pas juste les fichiers qu’elles contiennent) avec ddrescue ou ntfsclone.
Il restera le problème de mettre en place un démarrage Windows.
« Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone
[^] # Re: Pas cp, surtout sans plus d’options
Posté par electro575 . Évalué à 1.
Effectivement, je devrais effectuer un -a à chaque copie que je fais aussi.
SystemRescueCd permet de faire quoi de plus par rapport à un cp -ar classique ?
ddrescue = dd ?
ntfsclone, on ne l'a pas sous debian ?
[^] # Re: Pas cp, surtout sans plus d’options
Posté par Arthur Accroc . Évalué à 2. Dernière modification le 08 juillet 2020 à 12:19.
Et il comprend le -r.
SystemRescueCd, ce n’est pas une commande, mais un système de sauvetage.
On l’insère dans le lecteur de CD (virtuel pour VirtualBox), on démarre la machine virtuelle dessus et on accède aux disques (virtuels) avec les utilitaires dont on a besoin.
Oui, en plus rapide et plus fiable, avec une syntaxe plus facile et une possibilité de gérer les défauts du support d’origine (il faut utiliser un fichier de log pour ça). Paquet gddrescue sous Debian.
Si c’est comme sous Ubuntu, dans le paquet ntfs-3g.
Après réflexion, une idée encore plus simple pour procéder :
sync
Quant à la commande pour copier, si le disque d’origine est sda et le nouveau sdb (ATTENTION à bien la faire sur la machine virtuelle et avec les bons noms de périphériques dans le bon ordre, sinon ça fera des dégâts !), avec ddrescue :
avec cat :
Si ça se passe bien, il y aura quand même une indication d’erreur à la fin comme quoi le disque de destination est trop petit.
« Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone
# mais pourquoi se faire du mal
Posté par NeoX . Évalué à 3.
alors que l'installation est proposée le plus simplement du monde ici
soit en mode .deb à installer,
soit en mode depot officiel à configurer, ou ton tuto t'envoie sur un depot non-officiel
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.