supprimé / dossier de démarrage par erreur et redémarré

16

J'ai par erreur supprimé le dossier / boot de mon système de fichiers, redémarré, et tout ce que j'obtiens maintenant est le suivant:

error: file '/boot/grub/i368-pc/linux.mod' not found.

grub rescue>
Imad Nouari
la source
c'est différent, dans ce cas, le dossier / boot a été complètement supprimé. non seulement quelques fichiers, merci.
Imad Nouari
Je ne pense pas que les réponses à l'autre question soient suffisantes pour résoudre ce problème.
Graeme
Très bien, je n'ai pas vraiment lu toutes les réponses. Je suggérerais toujours de reconstruire le tout plutôt que de tripoter pour essayer de trouver ce qui manquait, donc je suppose que quelqu'un y aurait aussi. Prend la moitié du temps.
Cthulhu Tentacles du
7
L'erreur bien plus importante que la suppression /bootest, bien sûr, de redémarrer le système avant que cela ne soit corrigé.
Anthon

Réponses:

36

Oups!

Voici quoi faire:

  1. Démarrez une distribution en direct. Cela peut être votre disque d'installation d'Ubuntu ou un autre tel que Knoppix .

  2. Trouvez le lecteur / la partition où vous avez installé votre système de fichiers racine. Pour ce faire, vous pouvez ouvrir un terminal et exécuter soit sudo parted -lou sudo fdisk -l. Si vous ne pouvez pas le dire, modifiez votre question et ajoutez la sortie.

  3. En supposant que votre partition racine que vous avez trouvée à la dernière étape est /dev/sdxy( xdoit être une autre lettre et yun nombre), puis exécutez les commandes suivantes dans un terminal:

    mkdir mnt
    sudo mount /dev/sdxy mnt
    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    sudo chroot mnt
    
  4. Vous serez maintenant dans un chrootenvironnement, ce qui signifie que l'exécution de commandes ici équivaut à leur exécution sur votre système installé. La première chose que vous voulez faire est de réinstaller GRUB2 sur l'appareil afin qu'il copie les fichiers corrects dans le /bootdossier. Pour ce faire, exécutez la commande suivante avec le lecteur sur lequel se trouve votre partition racine (c'est- /dev/sdxyà- dire avec le numéro ( y) supprimé):

    grub-install /dev/sdx
    
  5. Vous voulez maintenant savoir quels packages vous avez installés qui ont des fichiers dans le répertoire de démarrage et les réinstaller. Cela remplacera entre autres les images du noyau qui ont été supprimées. La commande pour trouver les packages est:

    dpkg -S /boot
    

    Et pour les réinstaller:

    apt-get --reinstall install ...
    

    ...est remplacé par les noms des packages de la première commande. N'incluez pas les virgules, ayez simplement les noms des packages avec des espaces à séparer.

    Cette étape nécessitera probablement un accès à Internet (sauf si les packages sont déjà dans le cache), alors assurez-vous que vous êtes connecté en cas de problème.

  6. Comme vous aurez supprimé et réinstallé vos noyaux, cela aurait dû déclencher automatiquement une mise à jour GRUB2. Mais juste au cas où ils ne l'auraient pas fait, vous pouvez exécuter:

    update-grub
    
  7. Le redémarrage et les choses devraient maintenant être corrigés. Un problème que j'ai eu la dernière fois que j'ai fait quelque chose de similaire était que Windows installe où il n'est pas trouvé update-grublors de l'exécution en chrootraison d'un bogue dans os-prober. Si c'est un problème, exécutez à sudo update-grubnouveau dans le système réparé.

Graeme
la source
@Olivier, merci, je l'avais à l'origine /dev/sdaxpartout, puis je l'ai changé /dev/sdxy.
Graeme
Merci pour la grande info - cela m'a sauvé, avec un ajout. Comme j'ai un RAID logiciel, je devais également suivre les instructions ici: help.ubuntu.com/community/Grub2/Installation sous la réinstallation en utilisant la méthode chroot pour démarrer mdadm et assembler les membres du RAID et faire les montages en conséquence. Ensuite, après chroot, réinstallez les packages comme décrit dans cette réponse et tout va bien!
bitfiddler