Wie kann ich ein System mit einem gelöschten Kernel reparieren?

10

Da ich mehr freien Speicherplatz auf meiner Festplatte haben wollte, habe ich alte Kernel gelöscht (frag mich nicht, warum ich so verrückt war.). Ich habe versehentlich auch den aktiven Kernel gelöscht (3.2.0-27 unter Ubuntu 12.04).

Zuerst konnte ich nicht booten. Ich habe die Kernel 3.2.0-23 und 3.2.0-27 über ein Live-System installiert (siehe hier ).

Wenn ich jetzt mein System starte, bekomme ich nur folgende Zeilen:

mountall: Event failed
fsck from util-linux 2.20.1
/dev/sda1: clean, 832254/40099840 files, 21092083/160394239 blocks
 * Stopping Flush boot log to disk
 * Stopping Enabling additional executable binary formats
 * Starting bluetooth daemon

Andere PC-Spezifikationen:

  • Intel i5 2500K 4x 3,3 GHz
  • 8 GB RAM
  • / dev / sda1 ist Ubuntu, ungefähr 1400 GB
  • Zotac Nvidia GTX 560
  • ASRock Z68 Pro3

Danke im Voraus!

BEARBEITEN: Hier finden Sie einige Protokolldateien aus / var / log: kern.log boot.log

Schrägstrich
quelle
Bitte geben Sie Protokolle von /var/log/messages. Wenn Sie sich nicht anmelden können, können Sie diese beim Booten über eine Live-CD erhalten.
Andrejs Cainikovs
dmesg | pastebinitbitte
ish
Ich hatte ursprünglich gedacht, dass das Problem hier darin besteht, dass der Kernel nicht richtig neu installiert wurde. Ich bin jedoch nicht davon überzeugt, dass dies der Fall ist, und die positiven Bewertungen meiner Antwort (die ein detaillierteres Verfahren zur Neuinstallation ermöglichten) ließen diese Frage in der Fragenliste beantwortet erscheinen. Also habe ich diese Antwort entfernt und sie (mit entsprechenden Änderungen) in der Frage gepostet, wo sie besser hingehört . Jeder, der es braucht, kann es dort finden. Viel Glück bei diesem Problem!
Eliah Kagan
Warum nicht eine Live-CD verwenden, eine Verbindung zum Internet herstellen und die Software aktualisieren, anstatt auf lange Prozesse zurückzugreifen?
All4naija
1
Die von Ihnen gepostete Pastebin-Ausgabe scheint vom Live-CD-Boot zu stammen. [ 0.000000] Command line: noprompt cdrom-detect/try-usb=true file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash --
John S Gruber

Antworten:

4

Eine Option ist eine manuelle Wiederherstellung:

Dateien sind der einfachste Teil. Sie können das tun, was Ramchandra vorgeschlagen hat. Wenn Sie jedoch Ihre Apps beibehalten möchten, sollten Sie eine Neuinstallation vermeiden (wie Sie gesehen haben, entfernen Sie die Apps.) Wenn Sie vermeiden möchten, den Boot mit einem fehlenden Kernel zu deinstallieren:

  1. Booten Sie zu LiveCD.

  2. Öffnen Sie mit nautilus die defekte Partition.

  3. Navigieren Sie zu / home / myusernamehere. Alle Ihre Dateien werden dort sein.

Einige andere Dateien, die Sie möglicherweise speichern möchten:

  • /etc/apt/sources.list, wenn Sie manuelle Repos haben.

Wenn Sie damit fertig sind, kleben Sie es auf ein Flash-Laufwerk oder senden Sie es per E-Mail an sich selbst.

Apps sind ein schwierigerer Teil. Ich habe eine etwas umständliche Lösung gefunden, die einige Zeit in Anspruch nehmen wird (das meiste davon, ohne dass Sie aktiv teilnehmen), aber dies sollte Ihre Apps wiederherstellen (ohne Einstellungen / Konfigurationen).

  1. Bleib bei LiveCD.

  2. Navigieren Sie zu / usr / lib. (Das Laden kann eine Weile dauern.)

  3. Woah! Riesige Anzahl von Ordnern. Öffnen Sie gedit in liveCD.

  4. Geben Sie dies in gedit ein:

    #!/bin/sh

    sudo apt-get install folder1 folder2 folder3

... Wobei Ordner1 Ordner2 Ordner3 die Namen der Ordner sind.

Dies sind alle Programme, die Sie auf Ubuntu installiert haben (glaube ich). Einige davon (etwa 50%, vielleicht mehr) werden mit dem System geliefert, daher ist dies nicht erforderlich , aber eine sichere Wette ist einfach alles.

Ein weiterer Ort, um nach Apps zu suchen, ist / etc und / etc / alternatives. (Aktualisiere mich, wenn mir irgendwelche Spots fehlen, Internet!)

Speichern Sie die Datei als .sh und senden Sie sie per E-Mail oder Flash-Laufwerk.

Wenn Sie Ihren Computer zum ersten Mal starten (nach der vollständigen Neuinstallation), können Sie dieses Skript ausführen, um alle Ihre zuvor vorhandenen Programme sudo apt-get zu erhalten. Sie werden so gut wie neu sein!

JXPheonix
quelle
1
Diese Antwort ist in mindestens zweierlei Hinsicht falsch: (1) Sie beschreibt nicht, wie ein System repariert wird, sondern wie Sie Ihr System sichern, entfernen und dann neu installieren! (2) Es wird auch der Back- / Neuinstallationsteil falsch gemacht! Als Referenz: / usr / lib / enthält keine Liste von Paketen und / etc / alternatives auch nicht. Wenn Sie möchten, dass eine Liste von Paketen auf Ihrem System installiert wird, können Sie diese einfach mit <code> dpkg --get-selections </ code> abrufen und mit <code> dpkg --set-selection </ code> wiederherstellen Bei der neuesten Version von Ubuntu kann es jedoch einige Mühe kosten, die Neuinstallation ohne Auswahl durchzuführen.
Benjamin Mako Hill
5

Booten Sie von der Live-CD, mounten Sie die Festplatte und installieren Sie den Kernel neu. Beispielsweise:

sudo -s
mount /dev/sda1 /mnt
mount --bind /sys /mnt/sys
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
chroot /mnt
apt-get install linux-image-3.2.0-27-generic-pae
psusi
quelle
Hallo Psusi, ich habe diese Befehle ( askubuntu.com/questions/89710/… ) gestern auf einem kleinen Laptop ausgeführt und versehentlich meinen Kernel gelöscht. Indem ich Ihren Anweisungen in diesem Beitrag gefolgt bin, habe ich mein System in 2 Minuten wiederhergestellt. Wenn ich andere Anweisungen befolgt hätte, hätte ich immer noch darum gekämpft, mich zu erholen. Danke noch einmal!
root-11
Ich kann bestätigen, dass diese Anleitung auch am 14.04.
Gianluca Della Vedova
Dies ist korrekt, aber es gibt einige bemerkenswerte Dinge: (1) Ihr Root-Dateisystem ist möglicherweise nicht / dev / sda1. (2) Auf das Netzwerk kann normalerweise nicht innerhalb der Chroot zugegriffen werden, wenn Sie das Paket mit apt-get herunterladen müssen. (3) Wenn Ihr Dateisystem verschlüsselt ist, wird es wahrscheinlich nicht nur / dev / sda1 sein, sondern der neue Kernel (der von der LiveCD ausgeführt wurde) enthält nicht die LUKS-Cryptsetup-Tools, um Ihre Festplatte beim Booten unbedingt zu entschlüsseln. Dies zu beheben ist möglich, aber viel schwieriger.
Benjamin Mako Hill
3

Haben Sie die Wiederherstellungsoption ausprobiert? Sie können Ubuntu über eine vorhandene Ubuntu-Installation installieren - alle Ihre Dateien bleiben erhalten. Wenn Sie Systemdateien ändern, werden diese Änderungen gelöscht.

Wählen Sie dazu im Installationsprogramm die erweiterte Partition aus und verwenden Sie die von Ubuntu installierte Partition als /.

Ich habe es aber nicht getestet.

Ramchandra Apte
quelle
Zunächst vielen Dank für Ihre Antwort. Die Neuinstallation ohne Formatierung hat geholfen! Jetzt habe ich alle meine Daten aus meinem Home-Verzeichnis. Aber: Alle Anwendungen, alle Einstellungen und alle meine Konfigurationen gehen verloren. Darüber hinaus gibt es viele Fehler und Störungen beim Fenstermanager und bei Unity. Ich habe auch eine neue Installation ausprobiert und dies hat bei mir besser funktioniert.
Slashcrack