Récupérer les fichiers .mod déplacés en utilisant grubrescue

33

J'ai fait une chose stupide ... J'ai oublié que Ubuntu 10.04 (Lucid Lynx) est passé à GRUB 2 ce qui met une tonne de fichiers * .mod (modules du noyau) dans /boot/grub . Je pensais que c'étaient des fichiers de bande son mis à tort par erreur, et je les ai déplacés. Inutile de dire que le prochain redémarrage était traumatisant. On m'a présenté quelque chose dont je ne me souvenais jamais avoir vu ... un "sauvetage de larves" prompt.

Avec l’aide de Correction de l’erreur GRUB: "erreur: système de fichiers inconnu" Cependant, j'ai pu récupérer ...

  • J'ai découvert que GRUB rescue ne contenait pas "cd", "cp" ou toute autre commande de système de fichiers, à l'exception de sa propre variante de "ls".
  • Donc, je devais d'abord trouver la partition avec le répertoire /boot contenant le fichier vmlinuz et d'autres fichiers d'image de démarrage ... (approximation de la mémoire des tentatives infructueuses, ainsi que des lignes vides pour plus de clarté, ajouté) 2014-07-10 par docsalvage)

    grub rescue>  ls  
    (hd0,4) (hd0,3) (hd0,2) (hd0,1)  
    
    grub rescue>  ls (hd0,4)/boot
    ... some kind of 'not found' message
    
    grub rescue>  ls (hd0,3)/boot
    ... some kind of 'not found' message
    
    grub rescue>  ls (hd0,2)/boot
    ... grub ... initrd.img-2.6.32-33-generic ... vmlinuz-2.6.32-33-generic 
    
  • J'ai trouvé un répertoire /boot contenant le fichier vmlinuz vmlinuz-2.6.32-33-generic sur la partition (hd0,2) .

  • Ensuite, j'ai démarré manuellement à partir de "Grub rescue & gt;" rapide. Les commandes suivantes seront ...

    • Configurez root pour utiliser le répertoire /boot sur la partition (hd0,2) .
    • Charger le module noyau linux .
    • Configurez ce module pour qu’il utilise l’image du noyau vmlinuz-2.6.32-33-generic .
    • Définissez initrd (initialiser le disque RAM) pour utiliser l'image initrd.img-2.6.32-33-generic .
    • Boot Linux.
  • grub rescue>  set root=(hd0,2)/boot  
    grub rescue>  insmod linux  
    grub rescue>  linux (hd0,2)/boot/vmlinuz-2.6.32-33-generic root=/dev/sda2
    grub rescue>  initrd (hd0,2)/boot/initrd.img-2.6.32-33-generic  
    grub rescue>  boot  
    
  • Cela démarre et plante à l'invite BusyBox qui contient des commandes rudimentaires du système de fichiers.

  • Ensuite, j'ai déplacé les fichiers * .mod vers le répertoire /boot/grub ...

    busybox>  cd /boot  
    busybox>  mv mod/* grub
    busybox>  reboot
    
  • Le redémarrage a réussi, mais c’était beaucoup de travail.

Y a-t-il un moyen plus facile?

    
posée DocSalvager 08.10.2012 - 16:57
la source

5 réponses

5

Non. Je pense que vous avez pratiquement trouvé le moyen le plus simple de récupérer de l'état de votre système en utilisant sauvetage de grub ; c'est un système très minimaliste qui donne juste assez de capacité pour démarrer le système.

BTW, je pense que vous avez dû trouver les fichiers .mod et que les commandes insmod linux ou linux auraient échoué.

La seule autre manière, comme mentionné, serait de démarrer un Live CD et de réinstaller grub2 après avoir chrooté sur le système "cassé".

    
réponse donnée StarNamer 08.10.2012 - 19:11
la source
7

Voici quelques instructions générales et de base pour vous aider avec des erreurs de démarrage telles que GRUB loading stage 1.5 error 15 (par exemple, après l'installation de Windows sur un autre lecteur de disque):

  1. Démarrage avec un LiveDVD (par exemple, le disque Ubuntu Desktop).

  2. Ouvrez un terminal et ré-écrivez la configuration grub en utilisant ces commandes:

    • sudo mount /dev/sdXY /mnt
    • sudo grub-install --root-directory=/mnt /dev/sdX

/dev/sdX est le disque sur lequel Ubuntu est installé et /dev/sdXY est la partition du disque sur lequel Ubuntu est installé. En d'autres termes, /dev/sdXY contient /boot et ainsi de suite.

Utilisez fdisk -l pour vérifier l'emplacement d'installation d'Ubuntu.

    
réponse donnée lamas 03.12.2012 - 09:25
la source
4
  1. Démarrer dans Live CD

  2. Ouvrir un terminal (CTRL + ALT + T)

  3. Entrez les commandes suivantes:

sudo fdisk -l

Et trouvez votre partition Ubuntu (devrait être / dev / sda1 si c'est la première partition)

sudo mount /dev/sda1 /mnt

sudo mount --bind /sys /mnt/sys

sudo mount --bind /proc /mnt/proc

sudo mount --bind /dev /mnt/dev

sudo chroot /mnt

Maintenant, réinstallez Grub2

sudo apt-get install --reinstall grub2
    
réponse donnée nastys 08.10.2012 - 17:02
la source
4

J'ai eu le même problème lorsque j'ai mis à niveau mon système.

Je suggère les étapes simples suivantes:

  1. Démarrez votre système avec un CD live Ubuntu ou une connexion USB en direct.
  2. Ouvrez le terminal et exécutez la commande sudo add-apt-repository ppa: yannubuntu / boot-repair & amp; & amp; sudo apt-get update
  3. Installez ensuite la réparation du démarrage en exécutant la commande sudo apt-get install -y boot-repair & amp; boot-repair

  4. Lancez la réparation du démarrage après l’installation. Par exemple, dans le menu, utilisez System->Administration->Boot-Repair (Ubuntu 10.04 uniquement) et suivez les instructions.

    Cela peut prendre 15 à 20 minutes pour résoudre le problème et le résoudre.

Pour plus d’aide, accédez au lien lien

    
réponse donnée Harsh 17.12.2012 - 18:59
la source
0

Vous pouvez démarrer un CD en direct, monter votre disque dur, ouvrir Nautilus en tant que root et copier ces fichiers dans / boot.

    
réponse donnée nastys 08.10.2012 - 19:41
la source

Lire d'autres questions sur les étiquettes