Ich habe nach dieser Frage gesucht, konnte aber keine klare Antwort finden ... oder sogar eine klare Frage. Ich werde also ein einfaches Beispiel verwenden.
Mein Computer hat ** zwei Festplatten: **
- Festplatte 1 : Ubuntu Linux mit GRUB2 auf MBR .
- Festplatte 2 : Jedes andere Betriebssystem (stört es welches?) Mit einem anderen MBR-Loader.
GRUB2 bootet nur unter Ubuntu (in meinem Beispiel auf der 1. Festplatte).
Issuing update-grub
nicht erkennen nicht das Betriebssystem auf der zweiten Festplatte, aber ich weiß , es ist eins.
Wenn ich beim Booten das BIOS betrete und die Startreihenfolge auf Festplatte 2 ändere, startet das zweite Betriebssystem OK .
Wie kann ich GRUB2 einen Eintrag hinzufügen , der von der zweiten Festplatte startet ?
(Tatsache ist: Ich denke, diese Frage kann gestellt werden, ohne anzugeben, welches das Betriebssystem auf der 2. Festplatte ist. Oder nicht?)
Hinzufügen einer Ausgabe auf Anfrage os-prober
für eine Beispielmaschine mit dieser Konfiguration:
luis@threepwood:~$ sudo os-prober
/dev/sdb1:Windows 7 (loader):Windows:chain
/dev/sdb7:Ubuntu 14.04.3 LTS (14.04):Ubuntu:linux
In diesem Beispiel (ich habe die Startreihenfolge im BIOS geändert):
sdb
ist HDD-1.sda
ist HDD-2.
update-grub
Ausführung bereitgestellt. Weitere Informationen finden Sie in der Antwort unten von "Radek Radek" (phk). Es sollte jedoch ohne die dort aufgeführten zusätzlichen Schritte erkannt werden, nachdem es bereitgestellt wurde.Antworten:
Das ist ganz einfach. Folgen Sie einfach den Schritten.
Beispielszenario:
/dev/sda1
- CentOS/dev/sdb1
- DebianAngenommen, auf dem CentOS-Laufwerk ist der MBR aktiv. Wir haben also nach dem Booten Zugriff auf das CentOS-System. Debian muss hinzugefügt werden.
Aufgaben unter aktivem Betriebssystem (CentOS in unserem Szenario):
mount /dev/sdb1 /mnt/debian
Schneiden Sie den gesamten
menuentry
Abschnitt von Debian/mnt/debian/boot/grub{2}/grub.cfg
wie folgt aus:menuentry 'Debian GNU/Linux' --class debian --class gnu-linux ... { ... }
Erstellen Sie nun die Datei:
touch /etc/grub.d/11_linux
Da dies ein Skript ist, denken Sie daran:
chmod +x /etc/grub.d/11_linux
Hinzufügen:
am Anfang
11_linux
und fügen Sie diesen Abschnitt ein. Fertig mit"
am Ende. Also sollten wir haben:grub2-mkconfig -o /boot/grub{2}/grub.cfg
Starten Sie neu.
Voila.
quelle
os-prober
findet die Installation und fügt sie während des Vorgangs zur Liste hinzu. Wenn Sie also alle Schritte ausführen, werden tatsächlich Duplikate erstellt. Obwohl, das könnte ein Unterschied zwischengrub-mkconfig
undgrub2-mkconfig
Während ich vom USB-Stick in GRUB gebootet habe, habe ich die cTaste für den Befehlszeilenmodus gedrückt und eingegeben
et voilà, ich habe mir auch GRUB besorgt, aber GRUB 2, versuche es erneut
Ich bekomme das gleiche Problem wieder gelöst;)
quelle
Hallo, ich hatte gerade das gleiche Problem. Nachdem ich os-prober installiert hatte, konnte grub-customizer mit os-prober das Betriebssystem auf der zweiten Festplatte finden und meinem Startmenü hinzufügen. Dies ist möglicherweise einfacher als das Bearbeiten der Konfigurationsdateien :)
quelle
Normalerweise schreibe ich
grub.cfg
manuell und benutzeupdate-grub
und habe nie einen sogenannten Master-Grub2-Bootloader, bei dem ich auswähle, von wo aus gebootet werden soll. Dann lasse ich jede Linux-Distribution ihren eigenen Bootloader auf ihrer eigenen Root-Partition installieren, damit Linux seinen eigenen Bootloader bearbeiten kann, ohne ihn zu berühren Mein Master Grub2 Bootloader.Und um zu einem anderen Festplatten-MBR zu springen, habe ich diese Art von Einträgen
grub.cfg
für ein normales Betriebssystem, die die Festplatte nicht so sehen müssen, als ob sie die erste Festplatte wäre:Also lädt es einfach den MBR auf die andere Festplatte, die ich will.
Aber für einige knifflige Linux (und auch einige Windows), die die andere Festplatte so sehen wollen, als ob sie die erste wäre, füge ich auch einige Befehle zu Grub-Menüeinträgen hinzu, also sieht es so aus:
Alles im Detail erklärt:
(hd #) repräsentiert die Festplatte, wobei # bei Null beginnt
drivemap tauscht die Laufwerke aus, sodass jede Festplatte als erste Festplatte oder als beliebige Nummer angezeigt werden kann (die Reihenfolge wird auf zwei sichtbaren Festplatten ausgetauscht).
Kettenlader (hd #) + 1 springt zum MBR der Festplatte
Kettenlader +1 springt zum ersten Sektor dessen, was auf (root) gespeichert ist
set root = ... setzt was (root) haben.
(root) ist wie eine Variable, kann verwendet werden, um weniger einzugeben
Die vollständige Dokumentation
grub.cfg
finden Sie auf der offiziellen Webseite:https://www.gnu.org/software/grub/manual/grub/grub.html
quelle
Ich denke, Sie sollten einen Eintrag für die zweite Festplatte in der Grub-Konfiguration hinzufügen.
Es spielt keine Rolle, welches Betriebssystem das ist.
Ich benutze Dual Book mit Grub2 auf Windows HDD. Es erkennt sowohl Windows als auch Linux und bietet mir ein Menü zur Auswahl eines Betriebssystems zum Booten.
Folgen Sie diesem Link, um eine erweiterte Konfiguration, ein Kettenladen und das Hinzufügen von Maunal-Einträgen zu grub zu erhalten:
https://help.ubuntu.com/community/Grub2/CustomMenus
quelle
# grub-install /dev/sdb
. Dies würde jedoch das gleiche GRUB-Menü auf HDD-2 replizieren. Kein Problem, aber ... würde das nicht den bereits vorhandenen MBR auf HDD-2 deaktivieren (nehmen wir an, dass dort FreeBSD installiert ist: Es zeichnet seine eigenen Daten auf MBR auf)?os-prober
Befehls?