Installieren Sie GRUB auf Ubuntu Partition

7

Mein Computer hat also die folgenden Partitionen:

/ dev / sda - (Ich weiß, dass dies keine echte Partition ist, sondern eher der Bootloader)

/ dev / sda1 - (Windows 7 Bootloader)

/ dev / sda3 - (Windows 7)

/ dev / sda4 - (Datenpartition, NTFS)

Das heißt, ich habe / dev / sda2 als freien Speicherplatz.

Ich möchte den MBR des Computers nicht ändern. Ich möchte, dass / dev / sda2 GRUB UND Ubuntu enthält. Wenn ich meinen Computer einschalte, fragt das BIOS im Idealfall , ob ich Windows 7 oder Ubuntu (oder Grub oder Partition 2) starten möchte, und ich kann eines davon auswählen. Ich möchte jedoch, dass sich Grub und Ubuntu auf derselben Partition befinden, damit sie Windows oder den Bootloader / die Partition (sda3) von Windows in keiner Weise beeinträchtigen.

Wie kann ich das machen?

Catch: Beim Formatieren von Partitionen gibt mir Ubuntu nicht die Möglichkeit, sie zu virtuellen Partitionen zu machen, was die Sache schwieriger macht.

Ich habe versucht: Ubuntu in / dev / sda2 zu installieren (das ich als ext4 formatiert habe) und dann das Ubuntu-Installationsprogramm angewiesen, den Bootloader in / dev / sda2 zu installieren. Wenn ich jedoch "Ubuntu" aus der Boot-Auswahl des BIOS auswähle, wird ein schwarzer Bildschirm geladen und "ungültige archunabhängige ELF-Magie" angezeigt

grub retten> _ "und ermöglicht mir die Eingabe von Daten. Wie kann ich das beheben oder meinem Computer mitteilen, wo sich Grub befindet?

Noel
quelle
3
Gibt es einen bestimmten Grund, warum Sie den MBR des Computers nicht ändern möchten? Am einfachsten ist es, die Installation von GRUB auf MBR zuzulassen. Auf diese Weise kann GRUB Ihre Windows-Startdateien und Ihre Ubuntu-Startdateien erkennen und im GRUB-Menü auswählen, welches Betriebssystem beim Booten verwendet werden soll.
Matt Davis
IMO, Sie sollten nicht einmal ein BIOS-Startmenü sehen. Der einfachste Weg, dies zu beheben, besteht darin, grub neu zu installieren, diesmal auf MBR, und GRUB-Einträge zu aktualisieren.
Mahesh

Antworten:

4

Das BIOS ist nicht intelligent genug, um Sie nach Partitionen zu fragen. Tatsächlich weiß es nichts über Partitionen. Aus BIOS-Sicht besteht Ihre Festplatte nur aus einer Folge von 512-Byte-Sektoren.

Wenn das BIOS bereit ist, das Steuerelement an den Bootloader zu übergeben, liest es nur die ersten 512 Bytes von der Festplatte und übergibt das Steuerelement blind an das Programm, das sich an der vordefinierten Position in diesen Daten befindet. Es ist die Aufgabe dieses Programms (MBR-Bootloader), das Betriebssystem zu laden (dies beinhaltet normalerweise das Laden eines komplexeren Bootloader-Programms von einem anderen Ort auf der Festplatte).

Der Punkt ist - es ist Ihr Bootloader , der in MBR gespeichert ist und über Partitionen und andere Dinge informiert ist. Möglicherweise haben Sie dort einen Windows-Bootloader oder GRUB. Wenn Sie eine Möglichkeit finden, den Windows-Bootloader so zu konfigurieren, dass die Steuerung an GRUB übergeben wird, auf dem installiert ist, /dev/sdaXfunktioniert Ihr Schema, obwohl ich noch nie von jemandem gehört habe, der dies tut. Windows ist nicht sehr besorgt darüber, andere Betriebssysteme laden zu können.

Wenn Sie zwei Festplatten in Ihrem Computer haben, können Sie tun, was Sie möchten. Installieren Sie einfach Windows auf einer und Ubuntu auf einer anderen und wechseln Sie im BIOS zwischen diesen. Oder, ich weiß nicht, ist es vielleicht möglich, GRUB auf ein Flash-Laufwerk zu setzen? Das wäre eigentlich cool - wenn das Laufwerk nicht angeschlossen ist, würde Windows booten, wenn Sie das Laufwerk anschließen, würde Ubuntu booten (vorausgesetzt, "Boot von USB" steht in der Liste der Startgeräte an erster Stelle).

Sergey
quelle
1
Sie können GRUB vom Windows-Bootloader starten. Ich weiß, weil ich es getan habe. Es gibt mehrere Editoren, die dies für Vista und höher tun. Unter Windows XP bearbeiten Sie einfach die Datei boot.ini.
Siride
4

Ich verwende einen Boot-Manager eines Drittanbieters, was bedeutet, dass ich speziell grubauf einer Partition installiert werden möchte . Es ist einfach, dies während der Installation zu erledigen, da Sie mit Ubuntu Grub platzieren können, wo immer Sie möchten. Wenn Sie es jedoch nachträglich tun möchten, ist es so einfach wie:

sudo grub-install /dev/sda1 --force

Wo sda1ist die Partition, auf der Sie sie ablegen möchten?

Kain
quelle
1

Darf ich fragen, warum Sie GRUB nicht im MBR installieren und damit den Windows-Bootloader ersetzen möchten?


Die Installation von GRUB in einer Partition wird nicht empfohlen und allgemein als schlechte Idee angesehen . Normalerweise ist es besser, Ubuntu GRUB im MBR der Festplatte installieren zu lassen.

GRUB kann dann entweder Ubuntu oder Windows laden. Dies ist einfach, harmlos und der empfohlene Ansatz.

Dieser Vorgang ist auch vollständig umkehrbar, wenn Sie zu Windows zurückkehren und ausschließlich dessen Bootloader verwenden.


Wenn Sie sich entscheiden, GRUB im MBR zu installieren (wie Sie sollten), ist Boot Repair der richtige Weg.

Installieren Sie GRUB

Führen Sie die folgenden Schritte aus, um den GRUB-Bootloader zu installieren.

Öffnen Sie ein Terminal in Ubuntu und führen Sie die folgenden Befehle aus:

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair
boot-repair

Nach einigen Sekunden wird das Hauptfenster von Boot Repair geöffnet.

Klicken Sie auf Recommended repair.

Du bist fertig!

Starten Sie neu, um alles zu testen.

Halten ShiftSie beim Starten des Computers die Taste gedrückt, um das GRUB-Menü anzuzeigen, in dem Sie auswählen können, welches Betriebssystem Sie starten möchten.


Glossar

Bootloader : Ein Code, der ausgeführt wird, bevor ein Betriebssystem ausgeführt wird. Ein Bootloader wird verwendet, um andere Betriebssysteme zu booten. Jedes Betriebssystem hat normalerweise einen eigenen Bootloader.

GRUB ( Grand Unified Bootloader ) : Ein Bootloader-Paket, das entwickelt wurde, um mehrere Betriebssysteme zu unterstützen und es dem Benutzer zu ermöglichen, während des Startvorgangs zwischen diesen auszuwählen. Es ist Ubuntus Standard-Bootloader.

Befehl, Befehlszeile : Die traditionelle Unix-Umgebung, in der Sie Befehle eingeben, um dem Computer mitzuteilen, was zu tun ist.

Terminal : Eine Anwendung, mit der Sie auf die Befehlszeile zugreifen können. Öffnen Sie es, indem Sie auf die Tastenkombination klicken.Ctrl Alt T

SirCharlo
quelle
Es gibt Anwendungsfälle, in denen das mbr nicht der Ort ist, an dem Sie grub platzieren möchten, sondern es stattdessen auf einer Partition installieren möchten. Ja, etwas anderes verweist auf diese Partition, auf der grub ausgeführt wird. Wie kann man dies über die Kommandozeile erreichen?
Chris
Soweit ich weiß, startet Grub Linux nicht - es startet nur den Windows-Bootloader. Dies verursacht Probleme auf meinem Computer mit Ruhezustand und Ruhezustand in Windows 7
user3413723
0

Es ist einfach zu machen. Laden Sie einfach EasyBCD herunter, um den Windows-Bootloader zu bearbeiten.

Kennzeichen
quelle
3
Bitte erläutern Sie, wie Sie dies sicher tun würden.
Nanofarad