• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Grub2 zerschossen - wenn schon, dann richtig!

Ja genau!

Hintergrund: Das ist mein Testrechner, d.h., ich installier da immer mal was und hab nicht aufgepaßt:

Erst hat mir Absolute-Linux den Lilo reingeknallt, wodurch Grub2 nicht mehr gestartet werden konnte.

Mit Suse-Netinstall hab ich das zunächst nicht hingekriegt. xubuntu 14.10 hatte es dafür SCHEINBAR hinbekommen, nur daß Suse zwar ausgewählt, aber nicht gestartet werden konnte.

Super-Grub2-Disk gab dem Ganzen dann den Rest, indem es statt ein neues Grub2 zu generieren, einfach irgendwelche Dateien nach /boot kopiert hat und das wars.

Nun startete gar nix mehr....

Schlau wie ich war, löscht ich nun erst mal alles unter /boot weil ich dachte, wenn nix mehr da ist, dann kann man es auch wieder "sauber" installieren.

Dazu Suse 13.2 und "update" gewählt. Was soweit auf funzte - nur daß Suse danach trotzdem nicht startete.

Obwohl die Installationsroutine ganz klar 2 Linux-Partitionen erkannt hat (Suse auf sda2, Plop auf sda4) und sie sogar ERkannt hat, zeigte das Grub-Menu nur noch "unknown Linux on sda4" in verschiedenen Modifikationen.
Das ist Plop, welches es auch nicht starten konnte (kernel panic), was aber auch an Plop liegen könnte. Ich habs halt noch nicht starten können, nur installiert.

Neu im Reperaturmodus gestartet, sda2 (Suse-/-Partition) nach /mnt gemountet und geschaut, was unter /boot zu finden ist:

kein linux-image ! :schockiert:

grub2-install und rpm -qv grub2 funktionierten auch nicht.

Zwar fand ich die unter /usr/bin, sie lassen sich aber nicht starten. Nichts unter /usr/bin startet. Was nicht normal ist.

Ich habe beim "Update" extra drauf geachtet, daß grub2 mitinstalliert wird.

Irgendwie steh ich mit Grub2 auf dem Kriegspfad....
 

susejunky

Moderator
Teammitglied
Hallo Systemcrasher,

für eine weitere Analyse Deines Problems wären folgende Informationen über Dein Testsystem noch hilfreich:

  • Verwendest Du für Dein Testsystem eine BIOS- oder eine UEFI-basierte Hardware?
  • Wenn es sich um ein UEFI basiertes System handelt, wird es im UEFI oder im Legacy Modus gestartet?
  • Sind die Festplatten mit MBR oder GPT partitioniert?
  • Verwendest Du openSUSE 13.2 in der 64bit oder in der 32bit Variante?

Viele Grüße

susejunky
 

josef-wien

Ultimate Guru
Systemcrasher schrieb:
Schlau wie ich war, löscht ich nun erst mal alles unter /boot
Der Teil vor dem Beistrich steht im Widerspruch zum Teil nach dem Beistrich. Übliche bootloader-Einrichtungsfunktionen werten den Inhalt des Verzeichnisses /boot (bzw. /boot/efi) aus und generieren daraus ein Boot-Menü.

Um das Verzeichnis /boot wieder mit Inhalt zu befüllen, müssen das entsprechende Kernel-Paket sowie die notwendigen bootloader-Pakete installiert werden. Das kann entweder über die Update-Funktion der DVD-Installationsroutine oder in einer chroot-Umgebung mit YaST bzw. zypper erfolgen. In beiden Fällen muß die Installation erzwungen werden, denn laut RPM-Datenbank (die nichts von Deiner Sabotage-Aktion wissen kann) sind sie ja schon installiert. Möglicherweise ist der bootloader dann noch separat einzurichten.
 
OP
Systemcrasher

Systemcrasher

Hacker
susejunky schrieb:
Hallo Systemcrasher,

für eine weitere Analyse Deines Problems wären folgende Informationen über Dein Testsystem noch hilfreich:

  • Verwendest Du für Dein Testsystem eine BIOS- oder eine UEFI-basierte Hardware?
  • Wenn es sich um ein UEFI basiertes System handelt, wird es im UEFI oder im Legacy Modus gestartet?
  • Sind die Festplatten mit MBR oder GPT partitioniert?
  • Verwendest Du openSUSE 13.2 in der 64bit oder in der 32bit Variante?

Viele Grüße

susejunky

BIOS, ich wußte gar nicht, daß es noch was anderes gibt.
Da mit GPT vollkommen unbekannt ist, kann es nur MBR sein.
Und damit erübrigt sich auch die Frage, wieviele Flaschen Bier drin sind. 32.

Nur: Was hat das mit meinem Problem zu tun?



josef-wien schrieb:
Um das Verzeichnis /boot wieder mit Inhalt zu befüllen, müssen das entsprechende Kernel-Paket sowie die notwendigen bootloader-Pakete installiert werden. Das kann entweder über die Update-Funktion der DVD-Installationsroutine oder in einer chroot-Umgebung mit YaST bzw. zypper erfolgen. In beiden Fällen muß die Installation erzwungen werden, denn laut RPM-Datenbank (die nichts von Deiner Sabotage-Aktion wissen kann) sind sie ja schon installiert. Möglicherweise ist der bootloader dann noch separat einzurichten.

Tja, genau das hatte ich ja versucht (nur halt mit der Netzwerkinstallations-CD, da ich nicht überall DVD-LW drin habe). Leider hat Suse im /boot kein neues Kernel o.ä reingeschrieben.
Und die Super-Grub2-Disk auch nicht.

Wie oben beschrieben, kann ich, wenn ich im Reperaturmodus starte, zwar die Dateien und Verzeichnisse sehen und drin rumhüpfen, aber ich kann kein Programm starten. Und ich weiß nicht, warum. Aus diesem grund klappt es logischerweise auch nicht mit zypper (das war einer meiner ersten versuche), erst recht ncith mit Yast (Grafik startet im Reperaturmodus ja ganausowenig).
 

josef-wien

Ultimate Guru
Systemcrasher schrieb:
Leider hat Suse im /boot kein neues Kernel o.ä reingeschrieben.
Wurde das Paket kernel-irgendetwas tatsächlich erneut installiert?

Systemcrasher schrieb:
Und die Super-Grub2-Disk auch nicht.
Das kann sie auch nicht. Woher soll das Ding wissen, in welchem Paket der Kernel steckt, woher es das Paket herbeizaubern soll und auf welche Art die initrd zu erzeugen ist?

Systemcrasher schrieb:
Wie oben beschrieben, kann ich, wenn ich im Reperaturmodus starte, zwar die Dateien und Verzeichnisse sehen und drin rumhüpfen, aber ich kann kein Programm starten.
Befindet sich das Programm im Pfad des Installationssystems? Oder versuchst Du, ein Programm in einem Verzeichnis einer irgendwo eingehängten Partition zu starten? Bei Zweiterem mußt Du den Pfad angeben und hast gute Chancen, daß benötigte Bibliotheken nicht im Bibliothekspfad des Installationssystems vorhanden sind.

Systemcrasher schrieb:
klappt es logischerweise auch nicht mit zypper ... erst recht ncith mit Yast
josef-wien schrieb:
in einer chroot-Umgebung
 

susejunky

Moderator
Teammitglied
Hallo Systemcrasher,

Systemcrasher schrieb:
... BIOS, ich wußte gar nicht, daß es noch was anderes gibt.
Da mit GPT vollkommen unbekannt ist, kann es nur MBR sein.
Und damit erübrigt sich auch die Frage, wieviele Flaschen Bier drin sind. 32.
aus der Tatsache, dass Dir UEFI und GPT nicht bekannt sind, zu schließen, dass Du eine 32bit-Version von openSUSE verwendest, halte ich für gewagt. Aber wenn Du tatsächlich die 32bit-Variante von openSUSE mit BIOS und MBR-Partitionierungschema verwendest, kannst Du problemlos GRUB-Legacy einsetzen (wenn Dir, wie Du in Deinem ersten Beitrag schreibst, GRUB2 noch nicht so vertraut ist).

Systemcrasher schrieb:
... Nur: Was hat das mit meinem Problem zu tun?

Nun, das ist einfach erklärt: Der Systemstart (benötigte Tools, Konfiguration, ...) bei BIOS/MBR, BIOS/GPT, UEFI/MBR und UEFI/GPT unterscheidet sich (zum Teil erheblich); d.h. um Dir gezielt dabei helfen zu können Dein Testsystem wieder startbar zu machen, wäre es hilfreich, die von mir nachgefragten Informationen zu haben (und zwar mit Sicherheit, nicht nur vermutet). Ohne sie kann ich Dir zwar Ratschläge geben, ob diese aber wirklich helfen ...

Was josef-wien Dir bereits geschrieben hat gilt jedoch grundsätzlich: Du musst die Dateien unter "/boot" (Kernel, initrd, Bootloaderdateien, ...) wieder herstellen und dann den Bootloader reparieren (wobei Du, wie bereits gesagt, ggf. auch GRUB-Legacy nutzen kannst).

Hier findest Du eine Beschreibung, wie das "chroot"-Verfahren funktioniert und wie Du GRUB2 (für BIOS/MBR und 32bit openSUSE !) wieder reparieren kannst: http://www.opensuse-forum.de/allgem...ensuse-13-1-mit-dualsystem-wieder-herstellen/

ACHTUNG!
Nach dem Befehl "chroot" musst Du erst den Kernel und GRUB2 (oder GRUB-Legacy) - so wie von josef-wien bereits beschrieben - nochmals installieren. Dann kannst Du GRUB2, wie im Link beschrieben, reparieren oder GRUB-Legacy, wie bekannt, einrichten.

Solltest Du wieder erwarten doch ein UEFI-basiertes System und/oder ein GPT-partitionierte Festplatte einsetzen, dann funktioniert die Reparatur allerdings etwas anders ...

Viele Grüße

susejunky
 
OP
Systemcrasher

Systemcrasher

Hacker
josef-wien schrieb:
Wurde das Paket kernel-irgendetwas tatsächlich erneut installiert?

Nein.

Systemcrasher schrieb:
Und die Super-Grub2-Disk auch nicht.
Das kann sie auch nicht. Woher soll das Ding wissen, in welchem Paket der Kernel steckt, woher es das Paket herbeizaubern soll und auf welche Art die initrd zu erzeugen ist?

Nun, die hab ich ja ausprobiert, BEVOR ich den Inhalt von /boot gelöscht habe. Zu dem Zeitpunkt war der Suse-kernel noch drin. Nach der Super-Grub2-Disk nicht mehr.

Systemcrasher schrieb:
Wie oben beschrieben, kann ich, wenn ich im Reperaturmodus starte, zwar die Dateien und Verzeichnisse sehen und drin rumhüpfen, aber ich kann kein Programm starten.
Befindet sich das Programm im Pfad des Installationssystems? Oder versuchst Du, ein Programm in einem Verzeichnis einer irgendwo eingehängten Partition zu starten? Bei Zweiterem mußt Du den Pfad angeben und hast gute Chancen, daß benötigte Bibliotheken nicht im Bibliothekspfad des Installationssystems vorhanden sind.
[/quote]

Im Reperaturmodus befinde man sich als root im /root. Von dort muß man halt erst die betreffende Partition mounten (hab ich nach /mnt gemacht und dann ebe dorthin springen, also nach /mnt/usr/bin, wenn ich das jetzt richtig im Kopf hab. Was dort an programmen ist, müßte startbar sein.


Systemcrasher schrieb:
klappt es logischerweise auch nicht mit zypper ... erst recht ncith mit Yast
josef-wien schrieb:
in einer chroot-Umgebung

in einer chroot-umbebung habe ich freiwillig noch nie gearbeitet. Nur bei einer Schritt-für-Schritt-Anleitung (also abgetippt), wenn ein Liinux innerhalb eines anderen (oder Live-CD) installiert werden sollte.
Kapert habe ich das damals nicht. Und bevor ich mich da auch noch einarbeite (die Zeit hab ich leider nicht), ich glaub da installier ich lieber komplett neu.
 
Oben