Wie kann ich Ubuntu laden, wenn ich nur Grub habe?

11

Also habe ich Ubuntu mit dem neuesten Kernel aktualisiert. Aber nach dem Upgrade und nach dem Neustart von Ubuntu bekomme ich nur GRUB. Wie lade ich Ubuntu erneut, wenn ich nur GRUB habe?

Ich habe Ubuntu mit wubi installiert.

Vielen Dank für die Hilfe

Joshua Partogi
quelle
Ist das eine Wubi-Installation oder eine normale Installation?
karthick87
Das ist veraltet, glaube ich. Kann mir jemand sagen, wie das auf grub2 geht?

Antworten:

16

Mit Grub

Wenn Sie zu einer grubEingabeaufforderung gelangen und das System und der Kernel noch auf der Partition installiert sind, können Sie das System "manuell" starten - dh ohne die Hilfe einer funktionierenden grub.cfg. Dies funktioniert auch mit einem Grub-Lauf von Live-Medien. Zu diesem Zweck enthält grub einen rudimentären Befehl ine, mit dem Sie die Partition finden und das System starten können.

find /vmlinuz

Dies sollte Ihnen die Partition wie (hd0,0) geben. Sie können den lsBefehl auch verwenden , um die Partition zu durchsuchen und festzustellen, welche Kernel verfügbar sind. Der searchBefehl funktioniert ähnlich. Sie können auch die Tab-Vervollständigung verwenden .

set root=(hd0,1)

Ersetzen Sie natürlich die Paritionskennung durch das, was findIhnen gezeigt wurde.

linux /vmlinuz root=/dev/sda1
initrd /initrd.img

Wählen Sie das Kernel-Image und das initrd-Image aus, ein Paar, das immer zusammen verwendet werden muss. Glücklicherweise erstellt Ubuntu ein Paar Symlinks im Stammverzeichnis, die auf ein funktionierendes Image und initrd verweisen. Beachten Sie, dass Sie /dev/sda1im vom Linux-Kernel verwendeten Schema eine Darstellung der Partition ersetzen müssen . Entspricht (hd0,1)in etwa /dev/sda1; (hd0,2) corresponds to/ dev / sda2 ;(hd1,1) entspricht /dev/sdb1.

boot

Dadurch wird der ausgewählte Kernel von der ausgewählten Partition gestartet. Sobald Sie es geschafft haben, Ihr System zu starten, können Sie damit grub wiederherstellen, wie z . hier beschrieben .

Grub mit Wubi

Dies wurde unter der Annahme vorausgesetzt, dass Ubuntu regelmäßig installiert wurde, dh in einer eigenen separaten Partition. Während des Schreibens haben Sie Wubi verwendet. Dies bedeutet, dass Sie es mit einer Technik namens "Lupin" in einer großen Datei auf einer Windows-Partition (NTFS) installiert haben . Ich sehe keinen Grund, warum dies im Prinzip nicht funktionieren könnte, obwohl der Prozess komplizierter ist. Hier ist der Inhalt grub.cfgeiner Wubi-Installation:

insmod part_msdos
insmod ntfs
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set be300f9c300f5ab3
loopback loop0 /ubuntu/disks/root.disk
set root=(loop0)
linux /boot/vmlinuz root=/dev/sda1 loop=/ubuntu/disks/root.disk
initrd /boot/initrd.img

Sie müssen dies an Ihren speziellen Fall anpassen. In diesem Snippet aus einer 10.10-Installation findet der searchBefehl die Root-Partition mithilfe einer UUID oder Kennung des Dateisystems, die Sie vermutlich nicht kennen. Sie können --file --set /ubuntu/disks/root.diskstattdessen verwenden ( hier ist die offizielle Dokumentation). Diese Grub-Konfiguration erstellt eine virtuelle Festplatte - ein "Loopback-Gerät" -, loop0das den Inhalt der "Partitionsdatei" /ubuntu/disks/root.diskauf Ihrer NTFS-Partition darstellt. Mit ein wenig Versuch und Irrtum sollten Sie in der Lage sein, diese Arbeit zu machen.

loevborg
quelle
4
Ich bekommeerror: unknown command find'.
Abdull
@Abdull - Dies liegt daran, dass Sie grub2 anstelle von Legacy-Grub verwenden. Drücken Sie zweimal die Tabulatortaste und sehen Sie die verfügbaren Befehle oder pager = 1 \\ help
Yaroslav Nikitenko
Wenn Sie EFI verwenden, ersetzen Sie linuxund initrddurch resp.linuxefiund initrdefi.
Jaroslaw Nikitenko