In diesem Fall wurde der Ordner / boot vollständig gelöscht. nicht nur ein paar dateien davon, danke.
Imad Nouari
Ich glaube nicht, dass eine der Antworten auf die andere Frage ausreicht, um dies zu beheben.
Graeme
Fair genug, habe nicht wirklich alle Antworten gelesen. Ich würde immer vorschlagen, das Ganze neu aufzubauen, anstatt zu versuchen, das zu finden, was fehlte. Dauert die halbe Zeit.
Cthulhu Tentacles
7
Der weitaus größere Fehler im Vergleich zum Löschen /bootbesteht natürlich darin, das System neu zu starten, bevor dies behoben wurde.
Anthon
Antworten:
36
Hoppla!
Hier ist was zu tun:
Starten Sie eine Live-Distribution. Dies kann Ihre Ubuntu-Installations-CD oder eine andere wie Knoppix sein .
Suchen Sie das Laufwerk / die Partition, auf dem / der Sie Ihr Root-Dateisystem installiert haben. Dazu können Sie ein Terminal öffnen und entweder sudo parted -loder ausführen sudo fdisk -l. Wenn Sie es nicht wissen, bearbeiten Sie Ihre Frage und fügen Sie die Ausgabe hinzu.
Angenommen, Ihre Root-Partition, die Sie im letzten Schritt gefunden haben, ist /dev/sdxy( xsollte ein anderer Buchstabe und yeine Zahl sein), dann führen Sie die folgenden Befehle in einem Terminal aus:
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
Sie befinden sich jetzt in einer chrootUmgebung, dh, die Ausführung von Befehlen entspricht der Ausführung auf Ihrem installierten System. Als Erstes müssen Sie GRUB2 erneut auf dem Gerät installieren, damit die richtigen Dateien in den /bootOrdner kopiert werden . Führen Sie dazu Folgendes mit dem Laufwerk aus, auf dem sich Ihre Root-Partition befindet (dh ohne /dev/sdxydie Nummer ( y)):
grub-install /dev/sdx
Sie möchten nun herausfinden, welche Pakete Sie installiert haben und welche Dateien sich im Startverzeichnis befinden, und diese neu installieren. Dies ersetzt unter anderem die gelöschten Kernel-Images. Der Befehl zum Finden der Pakete lautet:
dpkg -S /boot
Und um sie neu zu installieren:
apt-get --reinstall install ...
Wo ...wird mit den Namen der Pakete aus dem ersten Befehl ersetzt. Fügen Sie keine Kommas ein, sondern trennen Sie die Paketnamen durch Leerzeichen.
Für diesen Schritt ist wahrscheinlich ein Internetzugang erforderlich (es sei denn, die Pakete befinden sich bereits im Cache). Stellen Sie daher sicher, dass Sie verbunden sind, wenn ein Problem auftritt.
Da Sie Ihre Kernel gelöscht und neu installiert haben, sollte dies automatisch ein GRUB2-Update ausgelöst haben. Aber falls nicht, können Sie Folgendes ausführen:
update-grub
Neustart und die Dinge sollten jetzt behoben sein. Ein Problem, das ich das letzte Mal hatte, als ich etwas Ähnliches tat, war, dass Windows-Installationen nicht gefunden wurden, update-grubwenn sie chrootaufgrund eines Fehlers in ausgeführt wurden os-prober. Wenn dies ein Problem ist, führen Sie sudo update-grubes im reparierten System erneut aus.
@Olivier, danke ich hatte es ursprünglich /dev/sdaxüberall dann geändert /dev/sdxy.
Graeme
Vielen Dank für die tolle Info - es hat mich gerettet, mit einem Zusatz. Da ich über ein Software-RAID verfüge , musste ich auch die folgenden Anweisungen befolgen: help.ubuntu.com/community/Grub2/Installieren unter Verwendung der Chroot-Methode, um mdadm zu starten, die RAID-Mitglieder zusammenzustellen und die Bereitstellungen entsprechend vorzunehmen. Installieren Sie dann nach chroot die Pakete neu, wie in dieser Antwort beschrieben, und alles ist in Ordnung!
/boot
besteht natürlich darin, das System neu zu starten, bevor dies behoben wurde.Antworten:
Hoppla!
Hier ist was zu tun:
Starten Sie eine Live-Distribution. Dies kann Ihre Ubuntu-Installations-CD oder eine andere wie Knoppix sein .
Suchen Sie das Laufwerk / die Partition, auf dem / der Sie Ihr Root-Dateisystem installiert haben. Dazu können Sie ein Terminal öffnen und entweder
sudo parted -l
oder ausführensudo fdisk -l
. Wenn Sie es nicht wissen, bearbeiten Sie Ihre Frage und fügen Sie die Ausgabe hinzu.Angenommen, Ihre Root-Partition, die Sie im letzten Schritt gefunden haben, ist
/dev/sdxy
(x
sollte ein anderer Buchstabe undy
eine Zahl sein), dann führen Sie die folgenden Befehle in einem Terminal aus:Sie befinden sich jetzt in einer
chroot
Umgebung, dh, die Ausführung von Befehlen entspricht der Ausführung auf Ihrem installierten System. Als Erstes müssen Sie GRUB2 erneut auf dem Gerät installieren, damit die richtigen Dateien in den/boot
Ordner kopiert werden . Führen Sie dazu Folgendes mit dem Laufwerk aus, auf dem sich Ihre Root-Partition befindet (dh ohne/dev/sdxy
die Nummer (y
)):Sie möchten nun herausfinden, welche Pakete Sie installiert haben und welche Dateien sich im Startverzeichnis befinden, und diese neu installieren. Dies ersetzt unter anderem die gelöschten Kernel-Images. Der Befehl zum Finden der Pakete lautet:
Und um sie neu zu installieren:
Wo
...
wird mit den Namen der Pakete aus dem ersten Befehl ersetzt. Fügen Sie keine Kommas ein, sondern trennen Sie die Paketnamen durch Leerzeichen.Für diesen Schritt ist wahrscheinlich ein Internetzugang erforderlich (es sei denn, die Pakete befinden sich bereits im Cache). Stellen Sie daher sicher, dass Sie verbunden sind, wenn ein Problem auftritt.
Da Sie Ihre Kernel gelöscht und neu installiert haben, sollte dies automatisch ein GRUB2-Update ausgelöst haben. Aber falls nicht, können Sie Folgendes ausführen:
Neustart und die Dinge sollten jetzt behoben sein. Ein Problem, das ich das letzte Mal hatte, als ich etwas Ähnliches tat, war, dass Windows-Installationen nicht gefunden wurden,
update-grub
wenn siechroot
aufgrund eines Fehlers in ausgeführt wurdenos-prober
. Wenn dies ein Problem ist, führen Siesudo update-grub
es im reparierten System erneut aus.quelle
/dev/sdax
überall dann geändert/dev/sdxy
.