expertenaustausch > comp.os.* > comp.os.unix.linux.misc

Maxim Webster (07.09.2011, 22:22)
Moin,

ich hab meinem System (Ubuntu 10.04 LTS) kürzlich eine USB-Platte für
Backups zur Seite gestellt. Seitdem startet grub das System nicht mehr,
sondern bleibt mit der Meldung "GRUB LOADING." und einem blinkenden
Cursor hängen.

Ubuntu selbst ist auf den Platten sda1 und sdb1 als mdraid Level 1 (md0)
installiert. Der entsprechende Eintrag der grub.cfg lautet:

menuentry 'Ubuntu, with Linux 2.6.32-33-server' --class ubuntu --class
gnu-linux --class gnu --class os {
recordfail
insmod raid
insmod mdraid
insmod ext2
set root='(md0)'
search --no-floppy --fs-uuid --set
11a88ce6-2b0e-4e8d-a52a-e17fbf240aef
linux /boot/vmlinuz-2.6.32-33-server
root=UUID=11a88ce6-2b0e-4e8d-a52a-e17fbf240aef ro
initrd /boot/initrd.img-2.6.32-33-server
}

und in der device.map steht folgendes:

(md0) /dev/disk/by-id/md-uuid-35d2729d:0b8c3723:5062be47:04f04012
(hd0) /dev/disk/by-id/scsi-SATA_SAMSUNG_HM641JIS23TJDRZ600248
(hd1) /dev/disk/by-id/scsi-SATA_SAMSUNG_HM641JIS23TJDSZ50470

Dennoch - USB Platte dran: hängt beim Start, USB Platte ab: läuft

Ideen?

Gruß,

Maxim
Hauke Laging (07.09.2011, 22:44)
Maxim Webster wrote on Mittwoch, 7. September 2011 22:22:

> Dennoch - USB Platte dran: hängt beim Start, USB Platte ab: läuft
> Ideen?


Das klingt doch sehr nach einem BIOS-Problem. Schau doch mal
(dd if=/dev/sda bs=446 count=1 | less),
ob "GRUB LOADING." im MBR steht. Bei mir nicht, aber hier läuft noch die
alte Grub-Version, das heißt also nix.

Wenn Du eine USB-Platte hast, auf der keine Daten sind, die Du noch
brauchst, dann könntest Du ja aus Jux mal versuchen, den stage1 in dieselben
Sektoren auf der USB-Platte zu kopieren. Wenn sich dann die Fehlermeldung
ändert, ist klar, dass Grub gerade auf das USB-Laufwerk zugreift.

CU

Hauke
Sieghard Schicktanz (08.09.2011, 02:10)
Hallo Maxim,

Du schriebst am Wed, 07 Sep 2011 22:22:18 +0200:

> ich hab meinem System (Ubuntu 10.04 LTS) kürzlich eine USB-Platte für
> Backups zur Seite gestellt. Seitdem startet grub das System nicht mehr,
> sondern bleibt mit der Meldung "GRUB LOADING." und einem blinkenden
> Cursor hängen. ....
> root=UUID=11a88ce6-2b0e-4e8d-a52a-e17fbf240aef ro

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Hast Du evtl. Deine Systemplatte bzw. -Partition mal per "dd" komplett auf
die Backup-Platte ge"klon"t?
Dann könnte die UUID von der "mitgewandert" und damit doppelt vorhanden
sein. Kommt noch dazu, daß das System ggfs. die USB-Platte _vor_ die
Festplatte einsortiert, dann versucht der grub oder der Kernel ggfs. die zu
booten und läuft u.U. ins Leere, weil deren Einteilung anders ist.

Oder es ist sogar noch viel primitiver einfach so, daß die USB-Platte vor
der eingebauten angesprochen wird, und erfindet ganz einfach seine späteren
Teile nicht (die Moduln lädt der grub ja schließlich auch von seiner
Systemplatte). Dann hättest Du weitgehend verloren, wenn es nicht möglich
sein sollte, die USB.Platte anders einzusortieren - evtl. gibt's dazu ja
eine Einstellung im BIOS?
(Oft kann man da die Boot-Devices angeben und denen auch eine [Vorzugs-]
Reihenfolge geben. Hast Du die Maschine mal von USB gebootet und das dafür
ggfs. so eingestellt?)
Maxim Webster (08.09.2011, 09:25)
Am 08.09.2011 02:10, schrieb Sieghard Schicktanz:
> Hallo Maxim,
> Du schriebst am Wed, 07 Sep 2011 22:22:18 +0200:
> ...
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Hast Du evtl. Deine Systemplatte bzw. -Partition mal per "dd" komplett auf
> die Backup-Platte ge"klon"t?


Nein. Die Backup-Platte wird per rsnapshot nur mit Dateien bestückt,
keine Images. Die UUID ist die des RAIDs.

> Oder es ist sogar noch viel primitiver einfach so, daß die USB-Platte vor
> der eingebauten angesprochen wird, und erfindet ganz einfach seine späteren
> Teile nicht (die Moduln lädt der grub ja schließlich auch von seiner
> Systemplatte). Dann hättest Du weitgehend verloren, wenn es nicht möglich
> sein sollte, die USB.Platte anders einzusortieren - evtl. gibt's dazu ja
> eine Einstellung im BIOS?


Ich glaube, daß dies eher die Ursache ist, aber ich finde im Bios keine
Möglichkeit das zu ändern, bzw. ich habe dort die internen Platten vor
der USB Platte eingestellt. Aber kann natürlich sein, daß Grub die
nochmal neu sortiert.

Könnte man auf der Backup-Platte nicht einfach auch ein grub-install
ansetzen, damit die notwendigen Strukturen angelegt werden?

Gruß,

Maxim
Hauke Laging (08.09.2011, 13:38)
Sieghard Schicktanz wrote on Donnerstag, 8. September 2011 02:10:

> Hast Du evtl. Deine Systemplatte bzw. -Partition mal per "dd" komplett auf
> die Backup-Platte ge"klon"t?
> Dann könnte die UUID von der "mitgewandert" und damit doppelt vorhanden
> sein.


Und wenn schon. Weder der Bootloader noch stage1 interessieren sich für
UUIDs. Kann man Grub überhaupt darauf konfigurieren? Sollte mich wundern.

Diese Werte werden AFAIK nur von den Bootscripten aus der initrd
ausgewertet, also sehr lange nach diesem Problem.

CU

Hauke
Günther Frings (08.09.2011, 13:45)
Hi,

On Thu, 08 Sep 2011 13:38:40 +0200, Hauke Laging wrote:
> Und wenn schon. Weder der Bootloader noch stage1 interessieren sich für
> UUIDs. Kann man Grub überhaupt darauf konfigurieren? Sollte mich
> wundern.


Doch, mit "search" kann man nach UUID, Dateien und ähnlichem suchen. Aber
in diesem Fall komme ich ebenso zu dem Schluss, das UUIDs mit dem
genannten Problem nur schwer vorstellbar etwas zu tun haben.

Grüße!
Sieghard Schicktanz (08.09.2011, 19:42)
Hallo Maxim,

Du schriebst am Thu, 08 Sep 2011 09:25:18 +0200:

> Könnte man auf der Backup-Platte nicht einfach auch ein grub-install
> ansetzen, damit die notwendigen Strukturen angelegt werden?


Sicher. Dann kannst Du auch per "C"ommandline-Befehl mal nachschauen, was
denn jetzt eigentlich welche Platte grade ist beim Booten. Vielleicht löst
das ja das Rätsel...
Sieghard Schicktanz (08.09.2011, 19:43)
Hallo Hauke,

Du schriebst am Thu, 08 Sep 2011 13:38:40 +0200:

> UUIDs. Kann man Grub überhaupt darauf konfigurieren? Sollte mich wundern.


Grub 2 schon.
Und bei grub 1 hat das m.W. eine verbreitete Distribution auch mal
'reingepatcht.
Hauke Laging (08.09.2011, 22:40)
Maxim Webster wrote on Donnerstag, 8. September 2011 09:25:

> Könnte man auf der Backup-Platte nicht einfach auch ein grub-install
> ansetzen, damit die notwendigen Strukturen angelegt werden?


"Einfach" geht das sicher nicht. Aus dem MBR wird der stage1 loader geladen.
Und das passiert über Blocklisten. Man müsste also /boot/grub/stage1 und
*_stage1_5 in dieselben Blöcke auf der USB-Platte kopieren wie auf der
normalen Platte. Das kann man vermutlich schlicht vergessen, wenn dort auf
der USB-Platte ein Dateisystem liegt. Man könnte allerdings eine ausreichend
große (lückenlose!) Datei dort erzeugen, in der man beliebig herumschreiben
kann, so dass man sie wie freien Plattenplatz behandeln kann.

Dann müsste man herausfinden, welche Blöcke die Dateien auf der Hauptplatte
belegen. Dafür braucht man womöglich nicht mal Dateisystemtricks; mag sein,
dass man grub-install so gesprächig machen kann, dass es einem dies mitteilt
(die Blockliste ist ja Parameter eines der Aufrufe).

Dann kann man mittels dd diese Blöcke kopieren. Der nächste spaßige Teil ist
dann die Konfigurationsdatei. Irgendwo muss Grub sich ja merken, wo die
steht. Deshalb muss diese Datei wohl in der Partition derselben Nummer und
mit demselben Dateisystem auf der USB-Platte vorhanden sein. Wenn man Pech
hat, lässt die sich nicht so ohne weiteres anlegen. Allerdings könnte man
dann natürlich eine Konfigurationsdatei mit angepassten Plattenkennungen
wählen, so dass dann korrekt gebootet wird. :-)

Klingt nach einer reizvollen Bastelei. Man stelle sich das Ganze mal mit
Windoze vor, hihi. Wenn es auf diesem Weg funktioniert hat und Du mächtig
stolz bist, kannste dann mal schauen, ob Du ein BIOS-Update findest, das das
Problem behebt...

Ein weiterer Gedanke: Vielleicht kann man das Problem "lösen", indem Du
einen nicht mehr benötigten USB-Stick permanent am Rechner stecken lässt.
Vielleicht lässt es sich einrichten, dass der Rechner immer von dem bootet.

CU

Hauke
Sieghard Schicktanz (09.09.2011, 20:12)
Hallo Hauke,

Du schriebst am Thu, 08 Sep 2011 22:40:48 +0200:

> > Könnte man auf der Backup-Platte nicht einfach auch ein grub-install ....

> "Einfach" geht das sicher nicht. Aus dem MBR wird der stage1 loader
> geladen. Und das passiert über Blocklisten. Man müsste


Neinneinnein - der "stage1 loader" _ist_ der (Lader im) MBR.

> also /boot/grub/stage1 und *_stage1_5 in dieselben Blöcke auf der
> USB-Platte kopieren wie auf der normalen Platte. Das kann man vermutlich


Das ist auch nicht nötig - die jeweilige Blockliste steht in der "stage1",
aber unabhängig davon dürfte die trotzdem praktisch immer in denselben
Blöcken landen, weil die in die Reste der Spur 1 der Platte geschrieben
wird; die erste Partition fängt erst im ersten Sektor der _zweiten_ Spur
an. Dabei werden _alle_ partitionierten Medien recht ähnlich behandelt.

> schlicht vergessen, wenn dort auf der USB-Platte ein Dateisystem liegt.


Tut es nur, wenn das Medium nicht partitioniert ist.
Nebenbei _könnte_ der grub sogar die stage1_5 aus einer Datei in einem
Dateisystem laden, wenn man ihm die als Blockliste präsentiert. Ein
Programm zum Erstellen einer solchen hat er "an Bord".

> Man könnte allerdings eine ausreichend große (lückenlose!) Datei dort


Die Blockliste muß nicht mal lückenlos sein.

> Dann kann man mittels dd diese Blöcke kopieren. Der nächste spaßige Teil


Überflüssig. Das macht der grub alles schon selber richtig. Man kann ihm
sogar sagen, daß er auf einer Platte installieren soll, die später beim
Systemstart ganz anders heißt.

> ist dann die Konfigurationsdatei. Irgendwo muss Grub sich ja merken, wo
> die steht. Deshalb muss diese Datei wohl in der Partition derselben
> Nummer und mit demselben Dateisystem auf der USB-Platte vorhanden sein.


Durchaus nicht - er ist durchaus "schlau" genug, das auf das jeweilige
Boot-Device umzusetzen; man _kann_ ihn aber auch dazu bringen, die Dateien
von einer _festgelegten_ Platte zu holen.

> Wenn man Pech hat, lässt die sich nicht so ohne weiteres anlegen.


Die Chancen sind gering. Immerhin kennt er die meisten gängigen
Dateisysteme. Der grub 1 hat zwar Probleme mit NTFS - da brauchte man
Blocklisten - aber der grub 2 sollte sich da kaum verblüffen lassen. Was
grundsätzlich nicht gehen dürfte, sind aber wohl Swap-Partitionen. ;-)

> Allerdings könnte man dann natürlich eine Konfigurationsdatei mit
> angepassten Plattenkennungen wählen, so dass dann korrekt gebootet


Sollte man evtl. auch, zumindest versuchen. Sonst muß man jedesmal per
"E"dit-Befehl die Partitionsangaben für den grub und das root-Filesystem
anpassen, was auf Dauer eher lästig ist.

> Klingt nach einer reizvollen Bastelei. Man stelle sich das Ganze mal mit
> Windoze vor, hihi. Wenn es auf diesem Weg funktioniert hat und Du mächtig


Mit Win geht das nicht, da brauchst Du einen speziellen Boot-Lader.
Mit dem grub ist das alles kein Problem und überhaupt kein Grund, darauf
"mächtig stolz" zu sein - man muß nur die Dokumentation lesen, man page
reicht...
Ähnliche Themen