Impossible de démarrer après que le disque dur vhd est redimensionné dans VirtualBox

Dans Windows 7, j'ai configuré une autre machine virtuelle Windows 7 dans VirtualBox. Cela a bien fonctionné. Ensuite, j'avais besoin d'augmenter la taille HD vhd. Donc, j'ai utilisé l'utilitaire VBoxManage pour le faire avec le commentaire suivant:

VBoxManage modifyhd "c:\VMs\Win7.vhd" --resize 30000 

Ensuite, j'ai essayé d'exécuter la VM à nouveau, mais il ne peut pas être démarré et me donne l'erreur suivante:

FATAL: Aucun moyen de démarrage trouvé! Système est arrêté.

Ensuite, j'ai essayé de voir ce qui se passe dans le VHD et je l'attache à l'intérieur de la Gestion des périphériques et dit qu'il ne peut pas être attaché car le fichier ou le répertoire est corrompu et illisible .

Une idée de ce qui s'est mal passé ici et comment puis-je enregistrer ma VM dans ce fichier VHD?

Malheureusement, la documentation de VirtualBox pour l'option VBoxManage -resize est trompeuse. Vous ne pouvez pas simplement augmenter la taille de l'image du disque et tout fonctionne correctement. Les informations de partition de disque dans l'image doivent être ajustées afin que le système d'exploitation invité connaisse la disposition du "lecteur" que l'image de disque simule. Vous effectuez cet ajustement en téléchargeant une image de CD amorçable contenant un éditeur de partition et en démarrant la machine virtuelle sur ce CD. Vous utilisez ensuite l'éditeur de partition pour ajuster les partitions de l'image de disque pour utiliser l'espace ajouté.

Il y a une bonne analyse de la procédure ici ; Passez à l'étape 4.

J'ai eu le même problème

  1. Créer un nouveau VHD avec la taille souhaitée
  2. Utilisez clonhd pour copier de l'ancien vhd vers le nouveau vhd

Référence: http://tips.kaali.co.uk/2012/03/16/expand-or-increase-the-size-of-virtual-box-vdi-dis/

J'ai eu le même problème et j'ai réussi à récupérer les données en utilisant le LiveCD GParted

  1. Créer un nouveau VHD pour recevoir les données copiées (créer des partitions et du format)
  2. Télécharger le LiveCD GParted et démarrer sur VirtualBox
  3. Sélectionnez un périphérique -> Essayer le sauvetage des données
  4. Cliquez sur OK et, après le Scan, cliquez sur Afficher (cela va monter / tmp / gparted-roview-XXXXXX)
  5. Sur le terminal, montez le deuxième VHD (sudo mount / dev / sdb1 / mnt)
  6. Copiez les fichiers (sudo cp -R / tmp / gparted-roview-XXXXXX / * / mnt

Après cela, vous pouvez arrêter la machine virtuelle et monter le VHD sur le Gestionnaire de périphériques Windows.

Ici, ils expliquent le problème (en espagnol)

Résumé:

une. "Vboxmanage modifyhd (redimensionner)" génère des erreurs dans de nombreux systèmes (versions Windows NT5, 9x, serveur et x86). Le résultat est une partition corrompue, très difficile à récupérer

B. Vous devez exécuter "vboxmanage modifyhd (redimensionner)" (pour redimensionner le VDI) Dans le chemin qui contient tous les fichiers et dossiers associés au VDI. Regardez l'image

Entrez la description de l'image ici

Entrez la description de l'image ici

Recommandation:

Remplacez "vboxmanage modifyhd" par "vboxmanage clonehd"

  1. Créez un nouveau disque virtuel VDI (avec la taille que vous souhaitez développer). Exemple: Old.vdi avait 50 Go. New.vdi le crée avec 100 Go

    VBoxManage createhd –filename /path/New.vdi – taille 100000

  2. Cloner avec la commande suivante:

    Vboxmanage clonehd /path/Old.vdi /path/New.vdi –existant

Remarque : Les deux VDI ne doivent pas être sur le même chemin

  1. Exécutez New.vdi et accédez à Windows Computer Management et prolongez l'espace disque (attribuez l'espace vide). Si vous ne voulez pas le faire manuellement, vous pouvez utiliser n'importe quelle application de partitionnement gratuite, comme AOMEI Partition Assistant Standard , GParted et bien d'autres.

Il convient de noter que j'ai eu exactement le même problème, en raison du fait que j'ai émis la commande modifyhd pendant que l'invité était en cours d'exécution. La documentation officielle ne dit rien, que vous devez d'abord supprimer les clichés et que l'invité aurait dû être arrêté.

Mon plan était de redimensionner le disque pendant que la machine fonctionnait car j'ai un volume dynamique qui pourrait également être augmenté à la volée. Cependant, c'était une mauvaise idée alors que j'ai redémarré la machine pour obtenir la taille de disque totale que j'ai laissée dans l'obscurité avec une image corrompue, que je n'ai pas pu restaurer même avec testdisk. Testdisk trouve les partitions, mais le système de fichiers est gravement endommagé et ne peut pas être réparé.

Soyez donc informé:

  1. Fusionner tous les instantanés dans l'image de base
  2. Arrêtez le système d'exploitation invité

J'ai répété la procédure sur ma machine avec une image de sauvegarde et l'invité éteint, cela fonctionne bien.

J'ai pu récupérer une image brisée par ce bug. Contrairement à Edison, l'image en direct échouée n'a rien trouvé. Voici ce que j'ai fait:

  • Tout d'abord, puisque apparemment le support VBox pour VHD est buggy et terrible, commencez par convertir le VHD en VDI avec VBoxManage clonehd foo.vhd --format vdi foo.vdi . Lorsque j'ai sauté cette étape, je pouvais récupérer des fichiers à partir de l'image, mais il se "rétrécirait" à nouveau après quelques redémarrages. Je suppose que le bogue bloque vraiment le fichier VHD d'une manière que plus tard I / O "l'annule" … VBox ne semble pas avoir ces problèmes avec VDI, donc j'ai abandonné sur VHD.

  • Démarrez dans WinPE, l'environnement de préinstallation de Windows. Comment faire cela pourrait être un article en soi. Si vous n'êtes pas familiarisé avec ceci, voici un raccourci: démarrez à partir d'un DVD de configuration de Windows (Vista ou supérieur) et appuyez sur shift-F10 une fois que l'interface graphique apparaît, cela vous donnera une invite de commande.

  • Téléchargez testdisk , trouvez un moyen de l'obtenir sur votre image WinPE (ou une clé USB simple fonctionnerait) et exécutez-la à partir de l'environnement WinPE. (Remarque: WinPE manque de WOW64, la couche de compatibilité 32 bits pour les applications 32 bits. Par conséquent, mon installation WinPE 64 bits nécessitait le binaire testdisk 64 bits).

  • Testdisk a trouvé les partitions et les a restaurées.

  • À ce stade, les fichiers ont été récupérés mais le chargeur de démarrage a échoué pour plusieurs problèmes. D'abord, j'ai utilisé diskpart pour marquer la partition comme active ( list disk , sel disk <disk number> , sel par 0 , active ). Plus loin, ne démarrerait pas. Retourner dans WinPE et supprimé \boot , puis bcdboot C:\windows /s C: pour réinstaller le chargeur de démarrage.

  • À la fin, j'ai utilisé chkdisk /R pour s'assurer que l'image était correcte. Il a pris quelques heures, n'a trouvé aucun problème.

J'ai eu le même problème, GParted n'a pas reconnu les partitions du tout, et il a été montré comme un espace non alloué. À ce stade, j'ai compris que les données auraient pu être perdues.

Ensuite, je me suis souvenu d'utiliser testdisk pour rechercher une partition perdue sur les disques durs, alors pourquoi ne pas l'essayer sur des disques virtuels? Et cela a fonctionné.

  1. Démarrez à partir de GParted, au moment de la rédaction de cette réponse, GParted avait "testdisk" à l'intérieur. Il suffit d'exécuter le terminal, exécutez "sudo testdisk / dev / sda" ou tout ce qu'il apparaît sur votre ordinateur. Exécutez "sudo fdisk -l" pour afficher tous les disques.
  2. Analyser la table de partition, elle découvrira la partition immédiatement, car elle est toujours dans les premiers secteurs. Écrivez une nouvelle partition, table, puis continuez avec GParted pour continuer la récupération, comme indiqué dans ce lien: http://www.howtogeek.com/124622/how-to-enlarge-a-virtual-machines-disk-in-virtualbox -ou-vmware /
  3. La prochaine fois que vous souhaitez le faire, faites une copie de votre VDISK en premier.
  4. J'ai remarqué dans le lien ci-dessous qu'ils créent de nouveaux VHD puis clone avec – existant: http://tips.kaali.co.uk/2012/03/16/expand-or-increase-the-size-of-virtual- Box-vdi-dis / I n'a pas encore essayé, mais j'ai récupéré mon disque avec les instructions ci-dessus.

J'espère que cela aide quelqu'un.