Stefan's Weblog Blog über alle möglichen Dinge rund um den Computer

8Mai/103

error: the symbol ‘grub_puts’ not found

error: the symbol 'grub_puts' not found

Beschreibung

Was war geschehen? Warum kommt aufeinaml dieser Fehler?

Die Fragen lassen sich sehr einfach beantworten. Beim letzen Update meines frisch installierten Kubuntu 10.04 Lucid Lynx war ein Update von Grub dabei. Bevor das Paket installiert wurde, wird man nochmals darauf hingewiesen. Der Benutzer wird gefragt, in welcher Partition Grub installiert werden soll, wählt man die Falsche aus, dann wird beim nächsten Start des Rechners der Fehler erzeugt. Nun ich habe leider die falsche Platte gewählt.

Das Ganze ist aber nicht weiter schlimm. Nach ein bisschen Suchen im WWW bin ich auf eine Lösung gestoßen, die mir sehr geholfen hat. (http://www.webupd8.org/2010/05/fix-symbol-grubputs-not-found-when.html)

Problemlösung

  1. Live-CD ins Laufwerk einlegen und den PC neustarten. Zu beachten ist, dass der PC auch wircklich von der CD startet. Ich habe die aktuelle Knoppix-Version für meinen Rettungsversuch verwendet.
  2. Nach dem erfolgreichen Boot von der LiveCD wechselt man auf die Konsole
  3. sudo fdisk-l
  4. sudo mount /dev/sda1 /mnt
    Achtung: sda1 ist durch die Partition zu ersetzen, die das Verzeichnis boot enthält. Bei einer Standardinstallation ist das die Platte auf der der das root-Verzeichnis (/) gespeichert ist. (Ist aufjedenfall nochmal zu prüfen.
  5. sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    sudo chroot /mnt
  6. sudo apt-get install grub-pc
  7. sudo grub-mkconfig -o /boot/grub/grub.cfg
  8. sudo grub-install /dev/sda (mit oder ohne sudo, ich weiß es nicht mehr, wenn ohne sudo nichts angezeigt wird, dann mit sudo versuchen)
  9. sudo update-grub
Tags: error, grub_puts

hat dir dieser Artikel gefallen?

Dann abonniere doch diesen Blog per RSS Feed!

Kommentare (3) Trackbacks (0)
  1. Hallo,
    habe o.a. problem und habe die anleitung natürlich gleich ausprobiert. nach sudo fdisk -l ist das sternchen für boot bei sda1, da liegt also mein ubuntu. wenn ich allerdings dann den mount-befehl ausführe (schritt 4) kommt die meldung “mount: you must specify the filesystem type”…… any idea ? bin einigermassen verzweifelt…….

  2. Hallo Stefan,

    ich habe deine Anleitung zur Wiederherstellung des Bootmanagers, nachdem man ein System „zerschossen“ hat, verwendet und hierbei einige Fehler in dieser gefunden.
    Als „fortgeschrittener“ Linuxuser nutze ich seit Ewigkeiten nicht mehr die MSDOS Partitionstabelle sondern die wesentlich modernere GPT. Dadurch funktioniert dein 1. Befehl schon mal nicht, weil fdisk mit GPT Partitionstabelle nicht umgehen kann. Für diejenigen die GPT verwenden, sollte es jedoch nicht schwierig sein, die Boot- und Rootpartion zu identifizieren, da dies wie bereits erwähnt meist erfahrene User sind.
    Zum mounten der Partitionen ist unbedingt folgende Reihenfolge zu verwenden, da es sonst gerade bei einer separaten Bootpartition zu Problemen kommen kann. Als erstes mountet man / (root), danach dann /boot, /proc, /dev und /sys, wobei die Reihenfolge der letzten 4 eigentlich egal ist. Es reicht nicht wie von dir beschrieben die Partition auf der sich /boot befindet zu mounten. Damit hat man noch kein funktionierendes System, dass man mit chroot dann als „Standartsystem“ verwenden kann. Hier mal das Bsp. Wie ich vorgegangen bin:
    sudo mount /dev/sdc2 /mnt # auf dieser Partition befand sich mein / (Root)
    sudo mount /dev/sdc1 /mnt/boot # auf dieser Partition befand sich Grub
    sudo mount –bind /dev /mnt/dev
    sudo mount –bind /proc /mnt/proc
    sudo mount –bind /sys /mnt/sys
    sudo chroot /mnt # startet die neue Rootumgebung
    Nachdem man sich in der „neuen“ Rootumgebung befindet, braucht man keinen sudo Befehl mehr. Außerdem ist es nur optional notwendig grub-pc mit apt-get oder aptitude neu zu installieren, weil Grub ja nur „zerschossen“ und nicht deinstalliert wurde. Also habe ich den Befehl
    apt-get install grub-pc # zum installieren von Grub2 notwendig
    komplett ausgelassen. Ebenfalls unnötig ist der Befehl
    grub-mkconfig -o /boot/grub/grub.cfg
    da update-grub zum Schluss ja sowieso ausgeführt wird. Eigentlich habe ich in der chroot Shell nur den Befehl
    grub-install /dev/sdc # installiert grub in den MBR der Bootplatte
    und den Befehl
    update-grub # erstellt die GRUB 2 Konfigurations-Datei neu (überschreibt alte)
    gefolgt von
    exit # sauberes verlassen der neuen Rootumgebung
    eingegeben und das System danach erfolgreich mit den neuen Grub-Einstellungen gestartet. Ich Danke dir trotzdem für deine Anleitung, da mich erst diese dazu gebracht hat mein System wieder zum laufen zu bringen.

    Viele Grüße.

    Rex

  3. Dankedankedankedankedankedankedankedankedankedankedankedankedankedankedankedankedankedankedankedankedankedankedankedankedankedankedanke !

    Ist die erste Anleitung im Internet, die ich gefunden habe, die mein Problem mit der genannten Fehlermeldung gelöst hat.

    An alle, die es auch probieren: Nicht wundern, das Booten des Systems dauert WESENTLICH länger, als vorher. Meine USB-Tastatur und -Maus konnte ich erst nach ca. 30 Sekunden benutzen (wie war das mit der Relativitätstheorie – es wirkte wie eine Ewigkeit!).

    Aber es läuft !!
    Danke nochmal !!!


Leave a comment

Noch keine Trackbacks.

%d Bloggern gefällt das: