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:
Démarrez une distribution en direct. Cela peut être votre disque d'installation d'Ubuntu ou un autre tel que Knoppix .
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.
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
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
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 ...
Où ...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.
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
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é.
@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!
/boot
est, bien sûr, de redémarrer le système avant que cela ne soit corrigé.Réponses:
Oups!
Voici quoi faire:
Démarrez une distribution en direct. Cela peut être votre disque d'installation d'Ubuntu ou un autre tel que Knoppix .
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 -l
ousudo fdisk -l
. Si vous ne pouvez pas le dire, modifiez votre question et ajoutez la sortie.En supposant que votre partition racine que vous avez trouvée à la dernière étape est
/dev/sdxy
(x
doit être une autre lettre ety
un nombre), puis exécutez les commandes suivantes dans un terminal:Vous serez maintenant dans un
chroot
environnement, 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/boot
dossier. 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é):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:
Et pour les réinstaller:
Où
...
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.
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:
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-grub
lors de l'exécution enchroot
raison d'un bogue dansos-prober
. Si c'est un problème, exécutez àsudo update-grub
nouveau dans le système réparé.la source
/dev/sdax
partout, puis je l'ai changé/dev/sdxy
.