1 votes

(Virtual HDDs/VirtualBox) J'ai endommagé le /dev/sdX de mon disque virtuel Linux; comment puis-je le réparer?

Je rencontre quelques difficultés pour transférer ma partition physique Linux vers un VDI pour l'exécuter dans VirtualBox. Tout d'abord, Linux Mint Petra était sur le même disque dur que mon Windows 7 et je pouvais dual-booter sans problème. Mais ensuite, j’ai voulu transférer la partition Linux vers un lecteur virtuel.

J'ai essayé de la redimensionner en utilisant EaseUS avant de la transférer, ce qui est probablement ce qui a perturbé certains paramètres, je le suspecte. Cependant, j'ai réussi à sauvegarder la partition en utilisant EaseUS (fichier PBD); je l'ai convertie en fichier VHD et enfin, j'ai converti le fichier VHD en VDI.

Maintenant, lorsque j'essaie de démarrer à partir du VDI/VHD, j'obtiens une erreur : Système d'exploitation manquant. FATAL: INT18: ÉCHEC DU DÉMARRAGE.

Lorsque je démarre à partir de l'ISO Linux, je vois ceci dans la section des partitions :

description de l'image

Comme vous pouvez le constater, il y a deux dispositifs là-bas : sda1 et sda5 ; ce dernier semble chevaucher le premier, ce qui ne devrait pas être le cas. Je peux confirmer que /dev/sda5 était la bonne partition physique lors du dual-boot.

J'ai essayé de réparer les choses en utilisant Boot Repair Disk, mais en vain.

Comment puis-je m'assurer que VirtualBox localise correctement le périphérique/partition de l'OS et répare le chevauchement /dev/sdXY ?

Salutations

1voto

user3758800 Points 21

Ok, donc j'ai résolu le problème avec l'aide d'un ami. Au moment de mon problème, j'avais la partition physique dans un fichier VDI de 50gig, qui ne démarrait pas en raison de l'erreur mentionnée dans le sujet. L'espace utilisé sur le disque était de 20gig, ce qui incluait mon installation Linux + mes fichiers. J'ai réussi non seulement à le redémarrer, mais aussi à redimensionner la partition de 50gig à 20gig dans un nouveau lecteur VDI alloué dynamiquement.

Pour corriger, j'ai créé une toute nouvelle machine virtuelle (appelons-la hurrdurr) avec un lecteur alloué dynamiquement d'une taille maximale de 35gig et j'ai procédé à charger Linux Mint à partir de l'ISO d'installation. J'ai chargé GParted en utilisant superutilisateur (sudo gparted) et j'ai procédé comme suit :

  • Créé une partition ext2 de 512 Mo avec le libellé "boot"
  • Créé une partition de swap de 8192 Mo avec le libellé "hurrswap"
  • Créé une partition ext4 de 28gig en utilisant le reste de l'espace avec le libellé "derp"

Ensuite, j'ai installé Linux Mint sur le disque virtuel. Lorsqu'on vous demande ce que vous voulez faire, par exemple Effacer le disque et installer Mint/Ubuntu (ce qui effacera le disque)/installer à côté/de quelque chose d'autre, choisissez autre chose. Il chargera une section de style GParted où vous pourrez voir les partitions de votre disque. J'ai double cliqué sur la partition "boot", j'ai coché la case Format et vérifié que le point de montage était /boot. Ensuite, pour la zone de swap, je l'ai laissée telle quelle (notez que j'ai choisi d'avoir une zone de swap de 8gig car j'ai 8gig de RAM sur cette machine et il est généralement bon d'avoir une taille de swap équivalente à votre RAM installée) et pour ma partition ext4, j'ai vérifié que la case Format était cochée et que le point de montage était "/".

J'ai installé Mint et cela a configuré efficacement le démarrage, le GRUB et tout pour moi. Maintenant, il était temps d'écraser l'installation fraîche avec la vieille, car ainsi GRUB saura où chercher pour démarrer ! Donc maintenant, dans une machine virtuelle distincte, j'ai configuré VirtualBox pour utiliser les deux disques virtuels ; la grande partition de 50gig et la nouvelle installation allouée dynamiquement. J'ai fait cela en allant dans Paramètres -> Stockage -> Contrôleur - IDE -> Ajouter un disque dur. Cela m'a permis de sélectionner les deux autres fichiers VDI. Ensuite, j'ai démarré cette installation distincte.

En utilisant sudo fdisk -l, j'ai pu identifier les /dev/sdWX et /dev/sdYZ à charger pour monter la partition "derp" fraîche et la partition que je voulais copier respectivement. J'ai utilisé sudo mount /dev/sda5 /mnt/drv1 (j'ai créé au préalable le dossier drv1) et sudo mount /dev/sdb3 /mnt/drv2 (la partition "derp"). Maintenant, vous pouvez copier des choses de deux manières : une avec dd, qui clone complètement votre partition avec de l'espace vide. Mais j'ai utilisé la commande de copie simple cp pour transférer mes données désirées + Linux de la partition de 50gig. La commande que j'ai utilisée était sudo cp -a /mnt/drv1/* /mnt/drv2/ le -a sert à dire à cp de transférer tous les fichiers avec tous les attributs intacts. Une fois que ce transfert était terminé, j'ai simplement démarré dans ma machine virtuelle hurrdurr et voilà - GRUB a démarré avec succès à partir de cette partition que je voulais récupérer ! Non seulement ça, mais parce que c'est un lecteur dynamique, il n'a que 20gig également.

Donc en essence (tl;dr si je puis dire) :

  • Créez une nouvelle machine virtuelle avec des partitions correctement attribuées
  • Installer le système d'exploitation qui était sur le disque endommagé
  • Démarrer une VM qui a accès à la fois au disque virtuel endommagé et au nouveau frais installé
  • Monter les partitions endommagées et fraîches
  • sudo cp -a les fichiers vers l'installation fraîche
  • Terminé.

J'espère que cela aide quelqu'un comme moi là-bas.

Santé

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X