web-dev-qa-db-fra.com

Récupération de fichiers .mod déplacés à l'aide de grubrescue

J'ai fait une chose idiote ... J'ai oublié qu'Ubuntu 10.04 (Lucid Lynx) est passé à GRUB 2, ce qui place une tonne de fichiers * .mod (modules du noyau) dans /boot/grub. Je pensais que c'étaient des fichiers de bandes sonores qui y étaient placés à tort, 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 plus jamais… d'un "sauvetage de bouffe>".

Avec l’aide de correction GRUB erreur: “erreur: système de fichiers inconnu” cependant, j’ai pu récupérer ...

  • J'ai découvert que GRUB rescue n'a 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 vmlinuzet d'autres fichiers d'image de démarrage ... (approximation à partir de la mémoire des tentatives infructueuses, ainsi que des lignes vides pour plus de clarté, a 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 vmlinuzvmlinuz-2.6.32-33-generic sur la partition (hd0,2).

  • Ensuite, j'ai démarré manuellement à partir de l'invite "sauvetage". Les commandes suivantes vont ...

    • Définissez rootpour utiliser le répertoire /boot sur la partition (hd0,2).
    • Charger le module de noyau linuxname__.
    • Définissez ce module pour utiliser l'image du noyau vmlinuz-2.6.32-33-generic.
    • Définissez initrd (initialize RAM disk) pour utiliser l'image initrd.img-2.6.32-33-generic.
    • Démarrer 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  
    
  • Ceci démarre et plante à l'invite BusyBox qui a quelques commandes de système de fichiers rudimentaires.

  • Ensuite, j'ai déplacé les fichiers * .mod dans 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?

33
DocSalvager

Non, je pense que vous avez trouvé le moyen le plus simple de récupérer de l’état de votre système en utilisant grub rescue; c'est un système très minimaliste offrant juste assez de capacité pour démarrer le système.

En passant, je pense que vous devez avoir trouvé les fichiers .mod et exécuté insmod linux ou la commande linux aurait échoué.

Comme mentionné, la seule autre façon de procéder serait de démarrer un Live CD et de réinstaller grub2 après une connexion au système "en panne".

5
StarNamer

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

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

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

    • 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 de l’installation Ubuntu.

7
lamas

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 le live CD ubuntu ou le live USB.
  2. Ouvrez le terminal et exécutez la commande Sudo add-apt-repository ppa: yannubuntu/boot-repair && Sudo apt-get update
  3. Puis installez la réparation de démarrage en exécutant la commande Sudo apt-get install -y boot-repair && boot-repair

  4. Lancez la réparation de 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 comprendre le problème et le résoudre.

Pour plus d’aide, cliquez sur le lien https://help.ubuntu.com/community/Boot-Repair

4
Harsh
  1. Démarrer en Live CD

  2. Terminal ouvert (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
4
nastys

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

0
nastys