it-swarm.com.de

Wie starte ich update-grub von einer LiveCD?

Okay, also habe ich was Dummes gemacht. Ich habe versucht, meine Grub-Einträge zu bereinigen, und habe versehentlich alle meine Linux-Kernel aus Grub entfernt (sie befinden sich immer noch auf der Festplatte). Nun gibt mir Grub offensichtlich keine Möglichkeit, Ubuntu zu booten. Ich kann gut mit Windows booten, aber Ubuntu ist noch nicht einmal gelistet.

Also möchte ich einfach "Sudo upgrade-grub" ausführen, um Ubuntu auf der Liste wiederherzustellen. Ich kann von einer Live-CD booten, aber wie führe ich diesen Befehl aus? (Meine Ubuntu-Installation ist übrigens auf sda5.)

60
Kelley

Da Sie sagen, dass Ihr grub-Bootloader angezeigt wird, das Menü jedoch leer ist, müssen Sie grub meines Erachtens nicht neu installieren, sondern, wie Sie möchten, update-grub ausführen. Um dies zu erreichen, können Sie eine Live-CD verwenden, die entsprechenden Partitionen von Ihrer Festplatte mounten, in das gemountete Verzeichnis chroot und update-grub ausführen, was so funktionieren sollte, als ob Sie auf der tatsächlichen Festplatte arbeiten würden.

Booten Sie mit Ihrer Live-CD und wählen Sie "Ubuntu ohne Installation testen".

Sobald es bootet, öffne ein Terminal (Strg-Alt-T) und mounte deine Ubuntu-Partition auf/mnt. Ich gehe davon aus, dass die Ubuntu-Partition/dev/sda5 ist, aber Sie sollten dies selbst bestimmen. Lassen Sie mich wissen, wenn Sie dazu Hilfe benötigen:

Sudo mount /dev/sda5 /mnt

Hängen Sie dann ein paar weitere Verzeichnisse ein, die benötigt werden:

Sudo mount --bind /dev /mnt/dev
Sudo mount --bind /sys /mnt/sys
Sudo mount --bind /proc /mnt/proc

Auch, wenn Sie eine separate Ubuntu-Boot-Partition haben (heutzutage ziemlich ungewöhnlich, aber es kann der Fall sein):

Sudo mount /dev/sdaX /mnt/boot

Wie können Sie feststellen, ob Sie eine Boot-Partition haben?

Sobald Sie Ihre Ubuntu-Partition gemountet haben, öffnen Sie /mnt/etc/fstab. Wenn Sie einen Eintrag für /boot sehen, notieren Sie sich, auf welches Gerät es zeigt (/dev/sda4 vielleicht?). Dies ist diejenige, die Sie montieren müssen.

Führen Sie nach dem Mounten chroot aus, um das gemountete Verzeichnis als Root-Partition zu verwenden:

Sudo chroot /mnt

Sie erhalten eine #/ Eingabeaufforderung. Stellen Sie zunächst sicher, dass Sie das richtige Verzeichnis /boot verwenden. Gehen Sie zu /boot/grub und sehen Sie sich die Dateien dort an. Es sollte eine Reihe von .mod-Dateien und eine grub.cfg-Datei geben. Wenn das Verzeichnis leer ist, fahren Sie nicht fort, da dies NICHT Ihr tatsächliches boot -Verzeichnis ist. Schauen Sie oben nach, um festzustellen, ob Sie ein zusätzliches boot -Verzeichnis bereitstellen müssen.

Sobald Sie bestätigt haben, dass /boot/ die richtigen Dateien enthält, was bedeutet, dass ist der richtige Speicherort ist, geben Sie Folgendes ein:

Sudo update-grub

Dies sollte die Datei /boot/grub/grub.cfg mit den Menüeinträgen neu erstellen.

Dann verlassen Sie die Chroot:

exit

An dieser Stelle möchten Sie möglicherweise überprüfen, ob die Dinge korrekt aktualisiert wurden. Dazu cd /mnt/boot/grub und überprüfe, ob die Dateien von grub vorhanden sind. Es sollten ein paar .mod-Dateien und grub.cfg vorhanden sein. Letztere sollten Einträge für deine Ubuntu-Kernel enthalten. Wenn Sie nur grub.cfg und keine .mod-Dateien sehen, bedeutet dies, dass dies NICHT das richtige Startverzeichnis ist. Suchen Sie oben nach Informationen zum Mounten einer separaten Startpartition.

Hängen Sie die Dateisysteme aus:

Sudo umount /mnt/dev
Sudo umount /mnt/sys
Sudo umount /mnt/proc
Sudo umount /mnt/boot #Only if you mounted it earlier
Sudo umount /mnt/

Und dann neu starten, hoffentlich wird Ihr Grub-Menü wiederhergestellt.

78
roadmr

Booten Sie von einer Live-CD.

Schlagen Alt+Ctrl+T um das Terminal zu öffnen und folgende Befehle auszuführen:

Sudo mount/dev/sda5/mnt

Installieren Sie den GRUB2-Bootloader:

Sudo grub-install --root-directory =/mnt/dev/sda

Das ist /dev/sda - die Festplatte selbst, nicht die Ubuntu-Partition - /dev/sda5.

Hängen Sie die Ubuntu-Partition aus und starten Sie den Computer wie folgt neu:

Sudo umount/dev/sda5; Sudo neu starten

Wenn Sie mehr als ein Betriebssystem installiert haben, erkennen Sie Betriebssysteme wie folgt neu:

Sudo update-grub

Das ist es!

14
Basharat Sialvi

Meine Lösung für dieses Problem war:

  1. laden Sie supergrub2disk von http://www.supergrubdisk.org/category/download/supergrub2diskdownload/super-grub2-disk-stable/ herunter
  2. legen Sie es auf das Laufwerk http://www.supergrubdisk.org/put-super-grub2-disk-into-an-usb-pendrive-as-an-iso-image-from-windows/
  3. starten Sie den Computer von pendrive mit supergrub2disk
  4. melde dich bei deinem Ubuntu an
  5. holen Sie sich Boot-Repair für Ubuntu von https://help.ubuntu.com/community/Boot-Repair

Vielleicht ist es nicht die schnellste Lösung, aber für mich war es die einfachste.

1
jmarceli

Diese Lösung entspricht genau der Antwort von roadmr, ist jedoch viel einfacher.

  1. Starten Sie die AntiX Live-CD.
  2. Menü> Programme> Systemprogramme> Boot Repair
  3. Wählen Sie 'Repair GRUB Configuration file' (diese Option führt update-grub aus)
  4. Wählen Sie das Laufwerk/die Partition aus, auf der/boot gespeichert ist
  5. Starten Sie neu, wenn es fertig ist.

In meinem speziellen Fall hat 'Reinstall GRUB Bootloader' das Problem behoben. Ich habe ein Dual-Boot-Windows/Linux-Setup. Ich habe Macrium 7 verwendet, um einen Klon eines Laufwerks in eine Datei zu erstellen. Stellen Sie dann diese Datei auf einem neuen Laufwerk wieder her. Nachdem ich es auf dem neuen Laufwerk wiederhergestellt hatte, bootete es auf einem schwarzen Bildschirm mit einem blinkenden Cursor oben links .

0
Jeff Luyet

Die kombinierten Anweisungen von roadmr und Basharat Sialvi finden Sie hier: https://askubuntu.com/a/88432/293759

Anweisungen für Chainloader- und Multiboot-Befehle von Grub2 finden Sie unter Community Help Wiki .

0
user293759