Wo ist GRUB installiert?

Ugglan - Mittwoch, 09. Juni 2010 20:15:46 - 4 Antworten

Hallo,

nachdem mein Rechner in letzter Zeit Zicken macht, wollte ich mir als Notsystem das aktuelle Ubuntu auf eine (bootbare) SD-Karte installieren. Hat im Großen und Ganzen auch geklappt, nur mit dem Bootloader hat das nicht so ganz hingehauen...

Was ich machen wollte:
a) Auf der SD-Karte eine ext4-Partition erstellen und darauf Ubuntu installieren
b) Die SD-Karte bootbar machen, so dass sie das auf ihr installierte Ubuntu bootet
c) Die eingebaute Festplatte (bzw. SSD) unangetastet lassen

Die Bootauswahl sollte par BIOS erfolgen, und die interne SSD als auch die SD-Karte "für sich" lauffähig sein, ohne auf den anderen Datenträger angewiesen zu sein.

a) hat geklappt, b) und c) leider nicht happy
Der Rechner bootet nur über die eingebaute Platte, die SD ist nicht bootfähig.
Ohne SD-Karte bootet der Rechner aber auch nicht! (Irgendwas mit "Medium not found" und 'ner ellenlangen Nummer.)

Meine Vermutung:
Die neue Ubuntu-Installation hat den MBR der internen SSD überschrieben und auf die SD-Karte umgebogen.

Meine Fragen:
- Wie bekommt man eigentlich raus, wohin der Rechner bootet, wenn mehrere grub-Instanzen auf mehreren Partitionen existieren?

- Wie biege ich den MBR der internen SSD wieder so zurück, wie's vorher war?
- Wie mache ich die SD-Karte bootbar, so dass sie das neue Ubuntu bootet?

Verschiedene Versuche meinerseits schlugen bereits fehl, teilweise erschwert durch einen grub/grub2-Mix auf den verfügbaren Linuxen sowie Kommando-Differenzen zwischen den Versionen von Grub sad

Der "alte" Grub war auf sda2 [ext3] in /boot/grub; das konnte ich an den Einträgen in grub.cfg schon nachvollziehen.

Der Rechner als auch die Karte sind in der Lage, von SD zu booten, ich hatte früher schon mal ein bootbares System auf der SD-Karte. Es geht also nur um das "wie".

Grub2 scheint noch zu neu zu sein, als dass ich ein Äquivalent zu "root (hd0,2); setup" gefunden hätte.

Danke für Hinweise!

Ugglan

Antworten
Re: Wo ist GRUB installiert?
Philipp Klaus, Freitag, 11. Juni 2010 16:26:58
Ein/Ausklappen

GRUB ist mit einem kleinen Teil im MBR installiert, wo Verweise auf die weiteren Dateien im Filesystem liegen (normalerweise unter /boot/grub/).

Zu Deinen Fragen:
1. Der Rechner bootet immer den MBR jenes Volumes (Platte oder SD-Karte), welches als erstes in der Boot-Reihenfolge des BIOS eingetragen ist. Wird dort nichts gefunden, wird das nächste Volume in der Liste probiert. Partitionen sind übrigens nicht gleich Volumes, den MBR (der erste Sektor nach der Partitionstabelle) gibt's Volume nur einmal, die Partitionen können dann noch Boot-Records haben, die jedoch nur aktiv werden, wenn der MBR sie ansteuert.

2. Wenn es sich um verschiedene Versionen von GRUB handelt, am besten, indem Du GRUB in der gewünschten Version nochmals installierst. In vielen Fällen genügt ein grub-install, manchmal musst Du manuell nachhelfen (grub starten und dann dort "install", "help install" gibt Auskunft).

3. Siehe 2. ;-) Du musst also auch dort einen Grub in den MBR schreiben, welcher dann natürlich nur auf dieses Volume verweisen darf, also die HD nicht benötigen darf

Viel Erfolg!


Bewertung: 243 Punkte bei 62 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
-
Re: Wo ist GRUB installiert?
Ugglan , Mittwoch, 16. Juni 2010 11:47:17
Ein/Ausklappen

Ich habe die SD-Karte bootbar bekommen. Ein simples

sudo grub-setup /dev/sdb

schreibt den Bootsektor in den MBR der Festplatte "sowie in die verborgenen Sektoren direkt im Anschluss an den MBR".

/dev/sdb ist bei mir die SD-Karte, leicht erkennbar daran, dass sie, im Gegensatz zur internen SSD, nur zwei Partitionen hat:

ls -1a /dev/sd*
sda
sda1
sda2
sda3
sda4
sdb
sdb1
sdb2

Die "verborgenen Sektoren im Anschluss an den MBR" haben mich aber doch stutzig gemacht. Der Hinweis auf die zusätzlichen Sektoren könnte der Grund dafür sein, warum ein Zurückspielen des Bootsektor-"Backups" mit

dd if=/media/USBSTICK/BACKUP/bootsektor of=/dev/sda bs=512 count=1

auf die SSD nicht funktioniert hat. Offenbar belegt der Bootsektor im Jahre 2010 mehr als 512 Bytes, so dass diese einfache Methode nicht mehr funktioniert. Aber das ist eine andere Baustelle, um die ich mich kümmern muss, bevor mir die nächste Installation wieder den Bootloader zerschießt :-)

Die Reparatur des auf der internen SSD installierten Grub ist gerade um einen Schwierigkeitsgrad erhöht worden, da durch ein Update des neuen Ubuntu-Systems die Booteinträge für die SSD verschwunden sind... manchmal hasse ich selbstkonfigurierende Systeme :-(

Danke für die Hilfe, und ich berichte weiter über Fortschritte...

Ugglan


Bewertung: 186 Punkte bei 110 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
-
Re: Wo ist GRUB installiert?
Joerg Schiermeier, Freitag, 18. Juni 2010 08:03:00
Ein/Ausklappen

Zeig doch mal die Ausgabe von
sudo fdisk -l /dev/sd{a,b}
Dann können wir sehen, wie Deine Partitionen eingerichtet sind. Ferner ist dann sichtbar, welche als 'bootbar' vorgesehen sind, die tragen ein Sternchen.

Ich hab hier GRUB (v1), und da gibt es noch die Datei
/boot/grub/device.map
mit dem Inhalt
(fd0) /dev/fd0
(hd0) /dev/sda
(hd1) /dev/sdb
in der das Mapping der Partitionen zu sehen ist.

Auch ein Lesen der 'info grub' könnte helfen.




Bewertung: 182 Punkte bei 104 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
-
Re: Wo ist GRUB installiert?
Joerg Schiermeier, Freitag, 18. Juni 2010 08:05:21
Ein/Ausklappen

Aargh, nicht der _Partitionen_:
> in der das Mapping der Partitionen zu sehen ist.
sondern der Geräte.



Bewertung: 250 Punkte bei 70 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Ähnliche Artikel

Aktuelle Fragen

Bash awk Verständnis-Frage
Josef Federl, 22.07.2017 17:46, 2 Antworten
#!/bin/bash # Skriptdateiname = test.sh spaltennummer=10 wert=zehner awk '{ $'$spaltennummer'...
Bash - verschachtelte Variablenersetzung, das geht doch eleganter als meine Lösung?
Josef Federl, 18.07.2017 20:24, 2 Antworten
#!/bin/bash #Ziel des Skriptes wird sein die ID zu extrahieren hier nur als Consolentest: root@...
Speicherplatzfreigabe mit "sudo apt-get clean" scheitert
Siegfried Böttcher, 16.07.2017 21:16, 3 Antworten
Speicherplatzfreigabe mit "sudo apt-get clean" scheitert, weil aus mir unerfindlichen Gründen im...
Möchte Zattoo vom PC am Fernsehgerät sehen können
Ilona Nikoui, 15.07.2017 18:25, 3 Antworten
Hallo, ich habe mein Fernsehgerät, ein LG 26LE3300 mit dem PC verbunden per HDMI Kabel, wie empfo...
TUXEDO und Hardwareauswahl , fragwürdig / Kritik
Josef Federl, 11.07.2017 12:44, 7 Antworten
Auf tuxedocomputers.com steht: "....Aber wir können auch Linux und das so, dass "einfach" alles...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] Linux.Fibel.org im Internet
Alfred Zahlten, 27.07.2017 23:53
Am 21.07.2017 um 12:33 schrieb Nguyen Dong Loan: > Vielleicht hast Du es ja noch nicht mit bekommen, aber...
Re: [EasyLinux-Ubuntu] HP officejet pro 6960 all-in-one
Alfred Zahlten, 27.07.2017 23:35
Am 27.07.2017 um 19:54 schrieb Bernhard Maurer: such mal nach xsane, nach dem Start sucht er nach einem Scann...
Re: [EasyLinux-Ubuntu] Technische Frage: 4G/LTE Router
Alfred Zahlten, 27.07.2017 23:24
Am 25.07.2017 um 19:18 schrieb Udo Teichmann: Hallo Udo, schau dir auch mal den ZTE MF60 an. http://www.tes...
[EasyLinux-Ubuntu] HP officejet pro 6960 all-in-one
Bernhard Maurer, 27.07.2017 19:54
Hallo, hatte wegen dem Drucker schon mal gefragt. Drucken und kopieren läuft. Wie bringe ich ihm scannen...
Re: [EasyLinux-Ubuntu] HP Drucker
Bernhard Maurer, 27.07.2017 09:41
Hallo Hartmut, danke, HPLIP war nicht installiert. Habe ich gemacht und Drucker läuft. Danke. Schönen G...