J'essaie de comprendre comment changer la taille d'un fichier VDI. Je suis nouveau dans VirtualBox et j'ai beaucoup à apprendre. Mais je pense avoir maîtrisé les bases. J'ai déjà installé Windows 7 en tant que premier invité. L'hôte est également Windows 7. Je ne savais pas trop combien d'espace disque allouer. Je me suis donc tourné vers une taille VDI de 40 Go et une taille fixe pour des performances accrues. Mais j'ai changé d'avis maintenant et je veux ajouter 10 Go supplémentaires. J'ai cliqué sur le programme et lu le contenu du menu Aide, mais cela n'aide en rien. Il explique les contrôleurs de disque, SAS, SATA, SCSI, yada, yada, mais pas ce que je recherche.
J'ai cherché des réponses sur le World Wide Web, le forum VirtualBox indique que vous êtes censé utiliser Gparted si vous voulez la méthode la plus simple (certains mod ont posté un post-it). Certains utilisateurs discutent de l’utilisation de la dd
commande. Mais c'est tout ce qui concerne Linux. En outre, la SU soulève de nombreuses questions concernant l’augmentation et la diminution de la taille des fichiers VDI, mais elles concernent toutes l’utilisation de Linux en tant qu’hôte et de Windows en tant qu’invité.
J'ai trouvé ce blog sur la façon de le faire avec la modifyhd
commande de VBoxManage. Ce gars le fait aussi sur Linux en tant que système d'exploitation hôte. Il souhaitait même la même taille (50 Go) pour son fichier VDI que le mien pour le mien, quelle coïncidence. Alors j'ai pensé que j'essaierais quand même, soit le faire, soit le casser. Qu'est-ce qui peut éventuellement aller mal? ... hein? Eh bien, c'est la mauvaise surprise que j'ai eue.
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe modifyhd "%userprofile%\virtua
lbox vms\sg2_win7_x64_lab\sg2_win7_x64_lab.vdi" --resize 51200
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage.exe: error: Resize hard disk operation for this format is not impleme
nted yet!
C:\Program Files\Oracle\VirtualBox>
Dis quoi maintenant?! ... ne peut pas redimensionner des disques durs virtuels au format VDI? Vous ne dites pas? Ne supportant pas votre propre format? Maintenant que diriez-vous de cela ...
N'y a-t-il vraiment pas de moyen simple de changer la taille d'un fichier VDI, de préférence en quelques clics dans VirtualBox? Quelque chose en cours?
la source
modifyhd
est désormais connu sous le nom demodifymedium
mais reste compatible avec les versionsRéponses:
Sommaire:
VBoxManage.exe modifyhd --resize
peut augmenter (mais pas diminuer) la taille logique de l’image disque (la taille vue par le système d’exploitation invité).VBoxManage.exe modifyhd inputfile.vdi --compact
peut réduire la taille de l'image du disque physique (la taille du fichier image sur le disque tel que vu par le système d'exploitation hôte). Cela ne change toutefois pas la taille du disque logique. Notez que cela ne fonctionne que si l'espace libre a d'abord été mis à zéro dans l'OS invité.modifyhd
ne fonctionne qu'avec la variante de format dynamique ("image allouée dynamiquement").modifyhd
ne fonctionne qu'avec les formats d'image VDI et VHD.Pour plus de détails, voir section 8.23. VBoxManage modifyhd dans le manuel.
La raison pour laquelle la réduction de la taille du disque logique d’un VDI n’a pas encore été implémentée est pour éviter la corruption des données qui pourrait en résulter, entraînant la création de machines virtuelles non démarrables. Par conséquent, lorsque l'
--resize
option est utilisée, la nouvelle taille du disque doit être supérieure à la taille actuelle. Il n'est pas autorisé à être inférieur ou égal à la taille actuelle. En d'autres termes, un disque de 40 Go ne peut être redimensionné qu'à 41 Go ou plus, il ne peut pas être redimensionné à 40 Go (c'est tout bête) ou à 39 Go ou moins.Les anciennes versions de VirtualBox créaient des fichiers VDI sous un format "fixe". Le nouveau paramètre par défaut consiste maintenant à créer des variantes de format "dynamiques" lors de la création de nouveaux fichiers VDI (image de disque virtuel). (J'imagine que c'est le cas depuis l'introduction de la variante de format dynamique, quelle que soit la version introduite dans.)
Le message d'erreur "L'opération pour ce format n'est pas encore implémentée" signifie donc que votre fichier VDI utilise la variante de format "fixe". Pour résoudre ce problème, vous devrez cloner votre fichier VDI à l'aide de la
clonehd
commande. Pour voir quelle variante de format se trouve actuellement votre fichier VDI, vous pouvez utiliser lashowhdinfo
commande.Exemple de travail
Afficher les informations VDI sur le disque actuel.
Commande d'entrée:
vboxmanage.exe showhdinfo path\inputfile.vdi
Voir où il est dit "défaut fixé"? C'est pourquoi il génère l'erreur ci-dessus lorsque vous essayez de le redimensionner.
Clonez l'ancien fichier VDI dans un nouveau fichier VDI.
Commande d'entrée:
vboxmanage.exe clonehd path\inputfile.vdi path\outputfile.vdi
Voilà! L'ancien fichier a maintenant été cloné dans un nouveau fichier. Étant donné que le paramètre par défaut dans les nouvelles versions de VirtualBox consiste à utiliser une variante de format "dynamique", il n'est pas nécessaire de définir cela explicitement. Toutefois, si vous travaillez avec une version plus ancienne de VirtualBox, vous pouvez définir l'option sur "dynamique" (si disponible) pour assurer une meilleure compatibilité et / ou une meilleure flexibilité avec les versions futures de VirtualBox.
Afficher les informations VDI sur le disque cloné.
Commande d'entrée:
vboxmanage.exe showhdinfo path\inputfile_clone.vdi
Voyez comment on dit maintenant "défaut dynamique"? Comme c'est gentil!
(Sur la note de côté! La raison pour laquelle nous disons 7806 Mo de taille physique, c’est parce que j’avais utilisé l’
--compact
option du fichier VDI original pour tenter de forcer la conversion en variante de format dynamique. Juste quelque chose que j’ai lu sur le forum VirtualBox, c aurait fonctionné avec des versions plus anciennes, alors j’ai pensé que je pourrais aussi bien essayer, cela n’a pas fonctionné.)Redimensionnement du disque cloné.
Commande d'entrée:
vboxmanage.exe modifyhd path\inputfile.vdi --resize 51200
Succès! Pas de format bullshitting pas plus. Rappelez-vous simplement de redimensionner le nouveau disque cloné et non celui d'origine. Gardez à l'esprit que la taille est exprimée en Mo. Je crois que vous pouvez utiliser par exemple
51200
aussi bien que50G
(ou éventuellement "GB"). Il y a aussi l'option--resizebyte
qui peut être utilisée pour exprimer la taille en octets.Afficher les informations VDI sur le disque clone redimensionné.
Commande d'entrée:
vboxmanage.exe showhdinfo path\inputfile_clone.vdi
C'est ça! À partir de là, vous devez ajouter ce lecteur cloné en tant que nouveau VDI pour la machine virtuelle. Vous faites cela dans VirtualBox. Je n'entrerai pas dans ça. Si vous avez été capable de lire et de comprendre ceci jusqu’à présent, vous n’avez probablement pas besoin de vous guider davantage. Vous pouvez soit supprimer l'ancien fichier "fixe", soit le conserver en tant que sauvegarde. Assurez-vous de tester le nouveau fichier VDI avant de supprimer le fichier source d'origine.
Remarque! Vous ne verrez pas immédiatement la nouvelle taille du disque cloné. Vous devez démarrer la machine virtuelle avec elle, puis utiliser votre outil de gestion de partition pour développer votre partition afin de remplir le disque virtuel (ou créer plus de partitions). Pour Windows, lancez simplement
diskmgmt.msc
et vous pourrez développer la partition là-bas.Captures d'écran
Référence
la source
modifymedium
/modifyhd
sur le fichier d'instantané lui-même.Voici un processus assez simple qui m'a permis de redimensionner un disque de taille fixe VirtualBox (version 4.3.16) en un disque dynamique de 60 Go sur un Mac (OS X 10.9.4) avec Linux (Ubuntu 14.04) exécuté en tant que système d'exploitation invité:
Dans Terminal sur le Mac, insérez le CD dans le répertoire contenant le fichier VDI et entrez ce qui suit:
Dans la section Stockage de l'application VirtualBox, ajoutez le fichier mydiskClone.vdi en tant que deuxième disque dur, puis démarrez la machine virtuelle normalement.
Dans le shell de l'OS invité, tapez:
Redémarrez l'invité. Quand il revient, retournez dans le shell et tapez:
Arrêtez le système d'exploitation invité.
Dans la section de stockage de l'application VirtualBox, définissez à nouveau mydiskClone.vdi sur le disque de démarrage. Ensuite, démarrez le système d'exploitation invité et vérifiez la nouvelle taille de disque à l'aide des propriétés "Ordinateur" du navigateur de fichiers.
la source
Le clonage est en fait une meilleure solution et il existe un moyen plus simple de le faire.
Dans le menu Fichier, sélectionnez Gestionnaire de média virtuel, puis cliquez sur Copier. La source sera votre disque dur vdi de taille fixe d'origine et votre destination sera une nouveauté de votre choix (inclut l'option d'un nouveau).
la source
OK, alors je l'ai fait sans clonage .
J'avais un fichier VDI de 100 Go (format fixe) avec Ubuntu. Fonctionne bien. Je voulais libérer de l'espace sur l'hôte en réduisant la VM.
Pas:
Supprimé les fichiers indésirables. 45 Go gratuits. Je n'ai besoin que de 30 Go pour être libéré.
Je n'ai qu'une seule partition, je ne peux donc rien faire à l'intérieur de l'invité Ubuntu. Monté Ubuntu Live sur la machine virtuelle et démarré à partir de celle-ci.
Utilisé
gparted
pour réduire la partition à 70 Go. Création d’une nouvelle partition dans l’espace inutilisé deext4
.L'espace libre dans la nouvelle partition (30 Go).
Suivez ce guide: Réduisez le disque dur virtuel sous Ubuntu en tant que système d'exploitation invité et hôte à l'aide de zerofree
Ma nouvelle partition était
/dev/sda3
.Compacter le VDI
VBoxManage modifyhd "ubuntu.vdi" compact
Cela a pris du temps, mais ça a fonctionné!
la source
--compact
ne fonctionne que pour les images allouées dynamiquement, pas pour celles de taille fixe.Un peu tard pour la fête ici, mais je vais ajouter mes 2 cents. Tout d'abord, je dirai qu'il s'agit d'un processus compliqué qui poussera la plupart des utilisateurs occasionnels à essayer de comprendre. Pourquoi Oracle n'a pas inclus cela dans l'interface graphique de la VBox est un mystère.
Étape 1: Utilisez la ligne de commande Windows (VBoxmanage) pour augmenter la taille du lecteur. Une astuce consiste à utiliser l'ID du lecteur vdi au lieu d'essayer sans cesse d'entrer l'emplacement du fichier et de recevoir des messages d'erreur.
Étape 2: Vous devez ensuite développer votre partition principale pour utiliser le nouvel espace. Téléchargez l'iso gparted et créez une nouvelle machine virtuelle dans la VBox en l'utilisant comme source IDE. Ensuite, utilisez le lecteur VDI existant en tant que disque SATA. Ne créez pas de lecteur virtuel pour cette machine. Démarrez la nouvelle machine et vous aurez l’interface graphique gparted en cours d’exécution. Cela peut prendre quelques redémarrages pour se résoudre.
Une fois que gparted est en cours d’exécution, vous verrez les partitions de votre lecteur vdi que vous souhaitez redimensionner. IMPORTANT: vous allez devoir supprimer la partition étendue et l'espace de fichier d'échange pour pouvoir augmenter la taille de la partition principale. N'allouez donc pas tout le nouvel espace pour le PP. Une fois cette opération effectuée, vous devrez désigner l'espace restant pour la nouvelle partition étendue et créer un nouvel espace de fichier d'échange au sein de celle-ci. J'ai trouvé que c'était beaucoup plus facile que de jouer avec la ligne de commande.
Ce n'est pas un morceau de gâteau, mais c'est faisable ... cela m'a pris environ une demi-journée de recherches sur le Web pour comprendre cela. Exécution de win8.1 / Ubuntu sur VBox
Willie
la source
Voici comment j'ai redimensionné / agrandi / développé une image VDI fixe (mon processus pour les réduire est dans une autre réponse):
dd if=/dev/sda of=/dev/sdb status=progress bs=128M
et attendez qu'elle soit terminée. Cela copiera le disque d'origine dans le nouveau disque, octet par octet, y compris le MBR, etc. (Remarque: cette opération peut prendre un certain temps en fonction de la taille du disque d'origine, de la vitesse du disque sur l'hôte, etc.). (Remarque: si votre ordinateur virtuel virtuel dispose de plus de 1 Go de RAM, vous pouvez modifier le paramètre 'bs' en "bs = 256M", ce qui pourrait accélérer la copie un peu).Bien que ce qui précède a très bien fonctionné pour moi plusieurs fois, il semble que quelques étapes supplémentaires soient nécessaires si LVM est utilisé. (REMARQUE: si LVM est utilisé, vous pouvez simplement ajouter un nouveau disque de la taille souhaitée, puis l'ajouter au groupe de volumes.) Avec CentOS 6.6 où LVM est utilisé, j'ai également dû augmenter l'espace disponible dans LVM. Ainsi, après l’amorçage du nouveau disque créé ci-dessus, j’ai fait quelque chose dans ce sens (différentes parties varient en fonction des noms de votre configuration):
Obtenir des informations sur la configuration de LVM:
Augmenter le volume physique (PV) (le groupe de volumes (VG) reflétera automatiquement la même augmentation):
Étendre le volume logique (LV):
Étendre le système de fichiers:
Avant:
Commander:
Après:
la source
Voici comment j'ai redimensionné / réduit / réduit une image VDI fixe (mon processus pour la développer se trouve dans une autre réponse de la même rubrique):
Tout d’abord, expliquez brièvement pourquoi j’en avais besoin (car il existe de nombreux scénarios permettant de réduire un VDI, dont certains ne sont peut-être pas réalisables avec cette approche): Il ya quelques années, j’ai créé un VDI fixe pour un invité Windows Server et le dimensionnais à 600 Go. Je ne me souviens pas pourquoi j'ai choisi cette taille, mais à ce jour, je n'ai consommé que 100 Go par invité et je souhaite récupérer la majeure partie de l'espace restant. Donc, dans mon cas, je veux conserver toutes les données de l'invité et je veux simplement libérer de l'espace inutilisé dans l'invité.
(Les étapes suivantes proviennent principalement de mon souvenir de l'avoir fait au cours des deux dernières heures, alors excuses-moi si quelque chose me manque ici.)
Démarrez la machine virtuelle invitée (doit démarrer dans l’environnement en direct gparted). De l'intérieur de l'environnement gparted:
En supposant que votre disque "d'origine" soit / dev / sda et que "nouveau" soit / dev / sdb (sinon, ajustez la commande suivante de manière appropriée), nous allons copier chaque partition, une à la fois. Pour chaque partition notée à partir de l'étape ci-dessus, entrez la commande suivante dans le terminal:
et attendez que cela soit terminé. Cela va copier la partition 1 du disque d'origine sur la partition 1 sur le nouveau disque octet par octet.
Répétez la commande pour chaque partition restante:
Remarques:
La dernière étape que je devais faire pour mon invité Windows était de définir / corriger le MBR et / ou le BCD. (Je ne sais pas si cela est nécessaire pour un invité Linux car je ne l’ai pas encore fait.) Si j’ai simplement démarré à partir de mon nouveau VDI, j’ai eu un écran d’erreur Windows Boot Mgr avec ce contenu (malheureusement, je n’ai ne prenez pas une capture d’écran avant de résoudre le problème):
Obtenez une image ISO d'une installation ou d'une réparation Windows (idéalement, correspondant à la version de votre système d'exploitation) et configurez la machine virtuelle invitée pour qu'elle démarre (à nouveau, paramètres de stockage).
Démarrez la machine virtuelle invitée et choisissez de démarrer à partir du CD / DVD.
Une fois à l'invite de commande, exécutez les commandes suivantes (grâce à http://loverofcode.blogspot.com/2013/11/fixed-0xc000000e-boot-error.html pour l'info!):
Cette dernière commande devrait localiser votre installation Windows et vous inviter à l’ajouter au BCD. Répondez 'Y'.
la source
Je fournis une réponse étendue à tout système d'exploitation hébergé s'exécutant sur tout système d'exploitation hôte. Cette réponse suppose que vous souhaitiez augmenter la taille (étendre).
Remarque: comme l'a souligné djule5 (voir le commentaire situé juste après la question),
modifyhd
est désormais appelémodifymedium
(mais reste compatible avec les versions antérieures ). Ici je l'utilisemodifymedium
.1. Quittez votre VM en cours d'exécution
Oui, cette réponse concerne un fichier VDI déjà utilisé par une machine virtuelle VirtualBox.
2. Ouvrez un terminal sur votre hôte pour redimensionner l’image disque.
La ligne de commande VBoxManage ne veut pas redimensionner une image disque en utilisant le nom de fichier VDI.
Identifiez donc l'UUID de votre image disque.
Augmentez la taille de l'image disque.
3. Utilisez un outil de partitionnement pour étendre la partition logique.
Exécutez votre machine virtuelle hébergée. Ensuite, utilisez un outil de partitionnement .
Quelques outils pour un GNU / Linux hébergé:
Si le système hébergé utilise Windows:
4. Vérifiez l'espace libre de la partition
La taille de votre fichier VDI (sur votre système hôte) n'a peut-être pas changé, car votre ordinateur virtuel n'a pas encore utilisé la quantité d'espace supplémentaire. S'amuser.
la source
Cela fonctionnerait pour moi et devrait spécifier le montant total de la capacité du disque dur. Pas l'espace dont nous avons besoin pour augmenter ...
la source