Grub Fehler 21

Rochus

Lieutenant
Registriert
Jan. 2007
Beiträge
641
Folgendes Problem:

Grub gibt mir beim booten die folgende Meldung aus: Grub Fehler 21

Hardwarekonfig:

SCSI-Raid mit Windoof drauf --> Bootplatte
Sata Platte --> NTFS
Ide Platte --> NTFS und die Linuxpartitionen

Lilo lässt sich auf keine Platte installieren.
Hab Grub auch in die MBR's der anderen Platten installiert, bringt auch nix, dann gibts Fehler 17...

Hab als Bootloader GAG versucht, damit kann ich Windoof starten, aber nicht das Linux auf der anderen PLatte.

Jetzt bräucht ich die Lösung des Problems oder nen gescheiten Bootloader....
 
GRUB ist ein gescheiter Bootloader!

Hast mal versucht, GRUB in die Linuxpartition zu installieren. Dort sollte es problemlos laufen.

Wenn Linux bootet und Windows nicht, ist es eine reine Konfig-Sache der "menu.lst".
 
ich wollte grub auch nicht verunglimpfen...

mit gescheit meinte ich einen botloader, der es mir ob meiner geringen fähigkeiten erlaubt alle bs wie gewünscht zu starten. ;)

sache ist, dass es egal ist wohin ich grub installiere, es geht nicht.
wie gesagt entweder fehler 21 oder 17.
 
Wenn du z.B. Suse installierst, wird GRUB automatisch raufgetan.

Das wäre ne Lösung für Leute mit wenig Zeit zum experimentieren ;)
 
-Kenny- schrieb:
Wenn du z.B. Suse installierst, wird GRUB automatisch raufgetan.

Das wäre ne Lösung für Leute mit wenig Zeit zum experimentieren ;)

ich habe bereits ein installiertes linux.
grub wurde da auch mitinstalliert.
es funktioniert aber nicht wie gewünscht.

das ist ja mein problem.

grub ist afaik auch korrekt installiert, zumindest sind die einträge für die partitionen und einzelnen mountpunkte korrekt.
beim booten erhalte ich statt dem grub bootloader screen jedoch diesen fehler.
ich denke es hat was mit dem mbr der scsi-platten zutun. wenn ich nach der fehlernummer google finde ich keine passende lösung.
 
Hi,

kannst du mal bitte deine

Code:
menu.lst

und die Ausgabe von

Code:
fdisk-l

posten?

Wäre sehr hilfreich ;)

Code:
grub fehler 21
in Google brachte einige Erklärungen.

Hier http://www.unixboard.de/vb3/showthread.php?t=14634 hatte jemand das gleiche Problem.

Vielleicht bringts dich ja weiter.
 
ich hab fast das selbe problem: ich habe immer grub error 19 und das direkt nach der ubuntu installation.
2 mal samsung SATA, aber ohne Raid verbund. das lief auch schon mal einwandfrei auf den platten, aber seit der neuen hardware ( cpu und board ) bekomme ich stets nach dem setup grub error 19, oder wars 17, und ich muss mit windows cd den mbr neu schreiben.
 
Aber, aber, wer wird denn gleich den Thread kapern? :D

Erster Eintrag von Google bei
Code:
grub 17

http://www.unixboard.de/vb3/showthread.php?t=15962

Übrigens zeigt der dritte Eintrag auf unser Forum...

Bitte ebenso Inhalt von

Code:
menu.lst

und Ausgabe von

Code:
sudo fdisk -l
posten.

Gruß

Zedar
 
stimmt, google leifert einiges, den fred auf den du verweist hatte ich auch schon durchstöbert....
hab mich auch am grub manual versucht Klick
^^ das sacht:
"Error 21 : Selected disk does not exist
This error is returned if the device part of a device- or full file name refers to a disk or BIOS device that is not present or not recognized by the BIOS in the system."

hier die menu.lst
Code:
# Modified by YaST2. Last modification on Di Sep 18 20:32:46 CEST 2007
default 0
timeout 8
gfxmenu (hd2,5)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 10.2
    root (hd2,5)
    kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/hdb6 vga=0x31a resume=/dev/hdb5 splash=silent showopts
    initrd /boot/initrd-2.6.18.2-34-default

###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows
    rootnoverify (hd0,0)
    chainloader (hd0,0)+1

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 10.2
    root (hd2,5)
    kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/hdb6 vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
    initrd /boot/initrd-2.6.18.2-34-default

fdisk -l gibt aus:

Code:
Platte /dev/sda: 320.0 GByte, 320072933376 Byte
255 heads, 63 sectors/track, 38913 cylinders
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sda1               1       38913   312568641    7  HPFS/NTFS

Platte /dev/sdb: 72.8 GByte, 72834854400 Byte
255 heads, 63 sectors/track, 8855 cylinders
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdb1   *           1        8854    71119723+   7  HPFS/NTFS

Platte /dev/hdb: 251.0 GByte, 251000193024 Byte
255 heads, 63 sectors/track, 30515 cylinders
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/hdb1   *           1       26501   212861250    7  HPFS/NTFS
/dev/hdb2           26502       30515    32242455    f  W95 Erw. (LBA)
/dev/hdb5           26502       26763     2104483+  82  Linux Swap / Solaris
/dev/hdb6           26764       28293    12289693+  83  Linux
/dev/hdb7           28294       30515    17848183+  83  Linux

windows ist auf dem scsi raid...
dann muss ichschätzungsweise in der menu.lst die windows partition schonmal von hd0 auf sdb1 umstellen?!
wo steht hier denn auf welcher platte grub überhaupt installiert ist?
 
Zuletzt bearbeitet:
Rochus schrieb:
dann muss ichschätzungsweise in der menu.lst die windows partition schonmal von hd0 auf sdb1 umstellen?!

also das ist schonmal schmarrn... :rolleyes:

ich hab bis jetzt herausgefunden, das grub eine andere Bezeichnungskonvention als linux besitzt.
hd0 ist immer die erste festplatte, die 0 nach dem Komma zeigt auf die jeweilige partition.
wobei hier jeweils bei 0 angefangen wird zu zählen, also zb. hd3,4 -> 4 platte und 5 partition...
in der device.map kann man jene bezeichnungen nachschauen bzw. editieren.
nun steht in meiner device.map folgendes:
Code:
(hd2)	/dev/hdb
(hd1)	/dev/sda
(hd0)	/dev/sdb

also scheint es doch als wäre in der menu.ls alles korrekt eingestellt.
hd2,5 birgt das gfxmenu.
root partition ist in der menu.ls ebenfalls korrekt eingestellt
der windows eintrag mit chainload scheint auch korrekt zu sein.

hab alles mit nem editor nochma eingestellt, mit grub-install /dev/sdb installiert ( auf jeder platte einmal).
nix is.
ich raff einfach nich, wo es hier hakt...
 
hem ja, aber wie soll ich das alles posten wennnich gar net in linux komme, die menu.lst kannich zwar von der live cd posten wennich die partition mounte, aber mit fdisk -l wird das dann wohl nix, oder hilft das auch unter live cd. btw ich denke es ist error 19. bin mir leider nur nicht sicher nun, dafuer müsst ichs installen
hab auch nur hier gepostet weil ich zufällig ueber den thread gestolpert bin.
hatte mal gegoogelt, da kam was raus von wegen grunb erkennt datei system nicht... aber auch nix genaues.
 
BasCom schrieb:
hem ja, aber wie soll ich das alles posten wennnich gar net in linux komme

ich kenn die ubuntu installation jetzt nich, aber wenn du vom installationsmedium bootest, gibt es da sicherlich die möglichkeit dein ubuntu zum booten zu bewegen.
der menüpunkt müsste "von partition starten" oder "installiertes system starten" heissen.
dann noch die root partition auswählen und fertig.
---------------------------------------------------------------------------------------------------------------------------------------------------------------

was mein problem angeht, so wird das immer merkwürdiger.
wenn ich grub von cd starte und mir mit
Code:
root (hd +tab
die erkannten devices anzeigen lasse, bekomme ich folgendes feedback:
Code:
Possible drives are: hd0 hd1

also irgendwie fehlt da eine platte...
 
Zuletzt bearbeitet:
Also wenn der Fehler nach dem auswählen in Grub auftaucht (also nicht schon bevor das Grub-Menü kommt), denke ich auch, das die HDs falsch zugeordnet sind.

Du hast es schon richtig erkannt - Grub fängt mit "0" an zu zählen. Wenn dein Linux-Kernel also auf hdb6 liegt, müsste es hd2,7 lauten.

Es kann auch sein das Grub SATA-Raids als eine Festplatte erkennt. In dem Fall wäre hd1,7 richtig.

Probier mal die beiden Sachen aus. Wenns nicht klappt, melde dich noch mal.

Gruß

Zedar
 
Zuletzt bearbeitet:
Zedar schrieb:
Also wenn der Fehler nach dem auswählen in Grub auftaucht (also nicht schon bevor das Grub-Menü kommt)

der fehler kommt vor dem grub menü... ich habe grub noch separat auf cd, daher konnte ich das testen.
 
Dann scheint Grub nicht so sicher zu sein, wo er sich hininstalliert hat.

Die genauen Config Dateien kenne ich leider auch nicht aus dem Kopf, ich denke dein Problem könnte damit gelöst werden, die Config von Grub dementsprechend anzupassen.

Entweder das oder Grub erkennt das Laufwerk nicht, auf das er installiert ist. In dem Fall müsstest du Grub da hin installieren, wo er es erkennt. Schau mal im Grub-Wiki nach, ob Grub vll. Probleme mit SATA-Raids hat. Ich würde Grub generell auf der Partition lassen, wo du Linux installiert hast.

Grub dürfte in etwa so gut (oder schlecht) in Hardware Erkennung sein wie die gängigen Installationsroutinen, also wäre das noch ein Versuch Wert.

Gruß

Zedar


Edit:

@BasCom: Du kannst ruhig mal von deiner LiveCd aus
Code:
fdisk -l
eingeben, das dürfte bis auf ganz wenige Ausnahmen die gleiche Ausgabe bringen wie von deiner Linux-Distri.

Schreib bitte noch mal genau welchen Fehler Grub ausgibt und ob du in Grub auswählen kannst, oder ob er gleich gar nicht startet.

Auch dir: Gruß

Zedar :)

By the Way. Wenn ich auf Google verweise, ist das nicht böse gemeint. Wenn ihr euch ernsthaft mit Linux beschäftigen wollt, werdet ihr ganz oft Problemchen kriegen, die man gut mit Google lösen kann, gerade am Anfang kann man so mehr lernen, als wenn man alles vorgekaut kriegt (wenn überhaupt jemand das tun will...). Wer allerdings dann verständnisfragen hat, dem helfe ich natürlich gern, ich weiß noch genau wie das war, Linux war zwar auf der Platte, aber sonst keine Ahnung.
 
Zuletzt bearbeitet:
hab jetzt keine lust hier alles durchzulesen - also falls es schon mal in Betracht gezogen wurde...sry

schätze mal das Hauptprob ist wohl das dein SCSI-Raid die Boot-Part enthält bzw die aktive ist
was zB auch n grosser Nachteil ist falls mal ein Platte vom Raid abschmiert...
wäre auf jeden Fall besser-auch für Grub- du macht ne andere Platte zur Aktiven etw die SATA oder die
IDE - das ist eigentlich nicht so schwer wenn du einfach das Raid abklemmts - dann per >Live-CD >Grub
auf eine Platte deiner Wahl rauf - dann klemmste das Raid wieder ran und editierst die MENU.LST
enprechend der >Windows-Part und fertig - dann sollte es funzen...
 
Hi
wollte mich auch mal in der Reihe anstellen :freaky:
Grub sagt Error 21 und Lilo schreibt ein paar Zeilen mit 01 01... voll :-(
Über CD lässt sich die Inst problemlos starten. Raids sind keine verbaut.

Naja, hatte gestern nacht keinen Bock mehr drauf und werde mich wohl heute Abend nochmal drann setzten müssen.

greetz
Nils
 
@ gaunt: Probier mal meinen link in meinem ersten Post in diesem Thread.

Gruß

Zedar
 
Hi
Also ich (vermute) mein Problem konnte ich lösen.

In meinem Fall war ein IDE Controller das Problem. Um den Bootvorgang zu beschleunigen hatte ich den (vermeintlich unnötigen) Biosrom deaktiviert. Ich wollte eh nie davon Booten und Raid wird nicht benutzt. Soweit auch kein Problem da sowohl Windows als auch Linux anstandslos den Treiber geschluckt hatten und die Platten zur Verfügung stellten.
Aber:
Direkt beim Booten nach dem Bios sind noch keine Treiber geladen und offensichtlich sah dann für den Bootmanager alles anderes aus als ers in seiner Konfig stehen hatte.

Intelligenterweise hab ichs dann noch geschafft mir meine Windows Inst zu zerschießen;-)
Die wiederherzustellen hat gedauert sodas ich gestern keine Bock mehr hatte mich da noch weiter mit zu beschäftigen. Also gehts heute Abend weiter...

Im übrigen:
Der Link bringt mich nicht wirklich weiter. Was da drinn steht habe ich eigentlich alles ausprobiert. Aber es gibt ja noch viele andere Links;-) Und was sieht man da:
Das Problem tritt seeehhhr oft auf. Mit Vorliebe dann wenn zusätzliche Controller, Raids, exteren Bootmedien... verwendet werden.

Eine Lösung bei der ich mir zu 99% sicher bin das sie fast immer gehen wird (Vorrausgesetzt beide OS lassen sich erstmal installieren):
- Linux installieren und den Bootsektor irgendwo in Root schreiben.
- Den BS dann auslesen und in ne Datei schreiben (Befehl suche ich nachher mal raus).
- Windows ganz normal installieren (bzw. Reparieren)
- Die Linux Bootsektor Datei über den Bootmanager von Windows starten.

greetz
Nils
 
gaunt schrieb:
- Die Linux Bootsektor Datei über den Bootmanager von Windows starten.

ich hab das bei mir auch mit dem doppelten bootloader lösen müssen. mit gag starte ich windows oder eben die root partition auf der linnuxplatte, in der grub installiert ist.

scheint nur so zu gehen.
 
Zurück
Oben