Grub wiederherstellen

S

Snowstar

Jungspund
Hallöchen,

ich habe ein kleines Problem: Ich habe heute auf einer zweiten Partition WinXP installiert, jetzt ist nur das Problem, dass ich Linux nicht mehr starten kann, da nur noch dieser doofe Windowsloader kommt (habe noch Win98 auf einer anderen Partition). Nun meine Frage: Wie kann ich es wieder so einrichten, dass ich die verschiedenen OS mit Grub auswählen kann??? Linux (Debian) ist auf der Platte noch drauf, nur kann ich es nicht starten.

Danke im Vorraus

SNOWSTAR
 
Hallo
Am einfachsten ist es, wenn du dir eine LiveCD Knoppix/Kanotix/Ubuntu oder was auch immer nimmst, diese bootest und von dort den grub neu installierst.

Den grub zurückschreiben geht mit dem installscript sehr einfach.

grub-install --root-directory=/dev/hdX /dev/hda
Das istalliert dir den grub in den MBR der ersten Festplatte (/dev/hda)
/dev/hdX musst du anpassen, das ist die Partition wo der Ordner /boot/grub liegt, in welchem die menu.lst ist.
Wenn du dein Linux gesamt in eine Partition installiert hast, ist das genau diese Partition.
IMHO ist es immer gut eine RescueCD oder Startdiskette mit installiertem grub zu haben.
Gruß Wolfgang
PS Solltest du eine LiveCD nicht haben, dann gibt es noch andere Wege, die etwas aufwändiger sind. Dann müsstest du hier nochmal nachfragen.
 
Wolfgang_1 schrieb:
grub-install --root-directory=/dev/hdX /dev/hda
Genau das habe ich gemacht...
Das istalliert dir den grub in den MBR der ersten Festplatte (/dev/hda)
...genau das hat er nicht gemacht.
Wenn ich grub-install --root-directory=/dev/hda3 /dev/hda eingebe, kommt da nur "kann Verzeichnis /dev/hda3/boot nicht anlegen: ist kein Verzeichnis". menu.lst liegt definitiv auf hda3, dort ist auch der Ordner /boot/grub, aber es klappt einfach nicht *gr*
Hab ich vielleicht irgendwie irgendwas falsch eingegeben???
 
grub installieren

Hallo


Poste doch mal deine Partitonstabelle !


Hast bzw,. Hattest du ev. eine /boot Part. ?


Du mußt vor der zeile im vorherigen post natürlich sudo su grub-install /dev.... machen, bei Knoppix hast du ja keine Rootrechte und die brauchst du für die Aktion.

Mfg
schwedenmann

Ansonsten mit einer LiveCd die grub verwendet (z.B. Kanotix) in dein Linux booten und dann grub-install /dev/hda ausführen.
 
Zuletzt bearbeitet:
Partitionsmäßig sieht das Ganze in etwa so aus:
Name Flags Part. Typ Dateisystem Bezeichner
hda1 Boot Primäre Win95 FAT32 (LBA)
hda2 Primäre NTFS []
hda3 Primäre Linux ext3 [/]
hda5 Logische Linux swap

root war ich vorher schon, hat aber natürlich nichts gebracht 8)
 
Zuletzt bearbeitet:
Snowstar schrieb:
Genau das habe ich gemacht...

...genau das hat er nicht gemacht.
Wenn ich grub-install --root-directory=/dev/hda3 /dev/hda eingebe, kommt da nur "kann Verzeichnis /dev/hda3/boot nicht anlegen: ist kein Verzeichnis". menu.lst liegt definitiv auf hda3, dort ist auch der Ordner /boot/grub, aber es klappt einfach nicht *gr*
Hab ich vielleicht irgendwie irgendwas falsch eingegeben???

Sorry, und Asche über mein Haupt.
Fehler von mir, aber manchmal ist man betriebsblind und sieht etwas anderes als man schreibt. Jemand anderes hat es offensichtlich auch nicht gesehen.

:(
grub-install --root-directory=/mnt/hda3 /dev/hda

Natürlich musst du den Mountpoint beim root-directory angeben. Die Partition muss natürlich auch vorher schreibbar (su ! oder gleich als root) gemountet sein.
Grub meckert ja auch, weil er das Verzeichnis nicht schreibbar öffnen kann.

Also versuch es nochmal.
Gruß Wolfgang
 
Wolfgang_1 schrieb:
grub-install --root-directory=/mnt/hda3 /dev/hda
Jetzt hat er immerhin versucht was zu machen.
Probing devices to guess BIOS drives
end_request: I/O error, dev 02:00 (floppy), sector 0 das kam dann ca. sieben mal (2x Sektor 0, dann 1-6)
und dann kam 55x modprobe: modprobe: Can´t locate module block-major-55 (da hörte es dann auf).
Zum Schluss meinte er noch /dev/root: not found or not a block device. Was ist denn diesmal kaputt???
Gibt es auf der Debian-CD nicht irgendein Rettungstool, welches man gleich zu Beginn von der CD starten kann, um den Bootloader wiederherzustellen?
 
Meine vorgehensweise ist meist geringfügig anders, da ich kein Vertrauen in unterschiedliche GRUB/LILO-Versionen hab:

In Deinem Fall:

1. Live-CD booten
2. mount /dev/hda3 /mnt
3. chroot /mnt /bin/bash
4. grub-install /dev/hda

Oder, falls das nicht geht:

4. grub
-> root (hd0,2)
-> setup (hd0)
-> quit

5. exit
6. reboot
 
Goodspeed1978 schrieb:
1. Live-CD booten
2. mount /dev/hda3 /mnt
3. chroot /mnt /bin/bash
4. grub-install /dev/hda
Oder, falls das nicht geht:
4. grub
-> root (hd0,2)
-> setup (hd0)
-> quit
5. exit
6. reboot
Hab ich gemacht, jetzt ist Grub auch wieder da, nur kann ich Linux immernoch nicht starten; es kommt jetzt immer:
Booting ´Debian GNU/Linux`
root (hd0,1)
Filesystem type unknown, partition type 0x7
kernel /boot/vmlinuz-2.4.26-1-386 root=/dev/hd0,2 ro
Error 17: Cannot mount selected partition


Muss ich an der Menu.lst was ändern, damit es wieder geht?
Ein anderes "Problem" (was eigentlich keines in dem Sinne ist):
wenn ich den Punkt Windows 98 wähle, wird danach der Windowsloader gestartet, wo ich XP und Win98 auswählen kann. Hätte das nur ganz gerne so, dass XP gleich bei Grub angezeigt wird und das der Winloader nicht mehr kommt.
Immerhin geht es vorwärts...
 
Snowstar schrieb:
Hab ich gemacht, jetzt ist Grub auch wieder da, nur kann ich Linux immernoch nicht starten; es kommt jetzt immer:
Booting ´Debian GNU/Linux`
root (hd0,1)
Filesystem type unknown, partition type 0x7
kernel /boot/vmlinuz-2.4.26-1-386 root=/dev/hd0,2 ro
Error 17: Cannot mount selected partition


Muss ich an der Menu.lst was ändern, damit es wieder geht?
Ein anderes "Problem" (was eigentlich keines in dem Sinne ist):
wenn ich den Punkt Windows 98 wähle, wird danach der Windowsloader gestartet, wo ich XP und Win98 auswählen kann. Hätte das nur ganz gerne so, dass XP gleich bei Grub angezeigt wird und das der Winloader nicht mehr kommt.
Immerhin geht es vorwärts...


Das ist ja kein Wunder :)
Nach deiner geposteten Plattenconfiguration versuchst du grub deine zweite Partition als Linux zu verkaufen.
Der erkannte Typ 0x7 ist eindeutig!
Boote den Grub, bei der Auswahl markiere dein Linux und drücke auf
e =>steht für edit.
Dann wählst du die erste Zeile wo
root (hd0,1) steht aus und nochmal e
Dort änderst du das in
root (hd0,2)
undgibst
<ENTER >
ein
Dann die nächste Zeile
dort ändern in
kernel /boot/vmlinuz-2.4.26-1-386 root=/dev/hda3 ro
ENTER
b
Dann sollte dein Linux erscheinen.
Dann musst du das dauerhaft in deiner menu.lst ändern.
Hoffe es hilft dir weiter.
:headup:
Gruß Wolfgang
 
HEUREKA!!!!!! Es hat geklappt! Vielen, vielen Dank an euch alle!!
Nun zu meinem letzten "Miniproblem": Bei Grub habe ich die Einträge
Debian GNU/Linux
Debian GNU/Linux (recovery mode)
Windows 98

Alles schön und gut, und wie bringe ich WinXp da jetzt zusätzlich rein???
Wenn ich beim Eintrag Win98 auf <Enter> drücke, kommt danach der Winloader mit
WinXP Professional
noch einmal WinXP Professional (welches aber nicht startet)
und Win98.
Genau so möchte ich es aber nicht haben, (wer will das schon???) wie ich im letzten Post schon geschrieben habe. Wie kriegt man das hin? Das wäre dann das letzte, was ich (erstmal) machen wollte.
 
Hallo
poste mal deine menu.list, ich versuche dir dann zu sagen was du ändern musst.
Auf jeden Fall musst du die primären Partitionen von wxp und w98 voreinander verstecken und jeweils die andere aktiv setzen.
z.B.

title windoze98 von hda0
unhide (hd0,0)
hide (hd0,1)
rootnoverify (hd0,0)
makeactive
chainloader +1
savedefault

title windoze XP von hda1
unhide (hd0,1)
hide (hd0,0)
rootnoverify (hd0,0)
makeactive
chainloader +1
savedefault


Ungesehen mein Vorschlag

Gruß Wolfgang
 
Das ist das, wie es jetzt aussieht:
title: Debian/GNU Linux
root: (hd0,2)
kernel: /boot/vmlinuz-2.4.26-1-386 root=/dev/hd0,2 ro
initrd: /boot/initrd.img-2.4.26-1-386
savedefault:
boot:

#This entry automatically added by the Debian installer for a non-linux OS
#on dev/hda1
title: Windows 98
root: (hd0,0)
savedefault:
makeactive
chainloader: +1
Bitte eine genaue Anleitung, was ich da jetzt ändern soll.
 
Snowstar schrieb:
Das ist das, wie es jetzt aussieht:
title: Debian/GNU Linux
root: (hd0,2)
kernel: /boot/vmlinuz-2.4.26-1-386 root=/dev/hd0,2 ro
initrd: /boot/initrd.img-2.4.26-1-386
savedefault:
boot:

#This entry automatically added by the Debian installer for a non-linux OS
#on dev/hda1
title: Windows 98
root: (hd0,0)
savedefault:
makeactive
chainloader: +1
Bitte eine genaue Anleitung, was ich da jetzt ändern soll.

Wenn deine Windows98 wirklich alleine ( d.h. der Bootloader von Wintendo XP ist in einer eigenen Partition!) in einer Partition startbar ist, dann passt das was ich da oben schon geschrieben habe.
also ergibt sich folgendes:

title Debian/GNU Linux
root (hd0,2)
kernel /boot/vmlinuz-2.4.26-1-386 root=/dev/hda3 ro
initrd /boot/initrd.img-2.4.26-1-386
savedefault
boot

title Wintendo98 von hda0
unhide (hd0,0)
hide (hd0,1)
rootnoverify (hd0,0)
makeactive
chainloader +1
savedefault

title Wintendo XP von hda1
unhide (hd0,1)
hide (hd0,0)
rootnoverify (hd0,0)
makeactive
chainloader +1
savedefault


Gruß Wolle

PS wenn der Bootloader von Wintendo XP aber mit in der Partition von W98 liegt, kannst du das W98 so nicht ohne Wintendo XP Dialog starten!
 
Unter XP kann ich auf Laufwerk C zugreifen, obwohl XP auf D liegt. Das würde ich ganz gerne auch so belassen. Wenn ich die Partitionen jetzt voreinander verstecke, betrifft das dann nur den Bootloader und ich kann trotzdem noch unter XP auf C zugreifen, oder ist C unter XP dann "versteckt"???
Eine andere Frage: gibt es noch andere Möglichkeiten, zum Beispiel WinBootloader löschen oder sowas???
 
Meine vorgehensweise ist meist geringfügig anders, da ich kein Vertrauen in unterschiedliche GRUB/LILO-Versionen hab:

In Deinem Fall:

1. Live-CD booten
2. mount /dev/hda3 /mnt
3. chroot /mnt /bin/bash
4. grub-install /dev/hda

Oder, falls das nicht geht:

4. grub
-> root (hd0,2)
-> setup (hd0)
-> quit

5. exit
6. reboot

das selbe problem habe ich auch, nur bei mir kommt beim schritt 3 (root (hd0,3)) eine fehlermedlung, und zwar Error 21: Selected Disk does not exist. (hd0, 3 sollte aber richtig sein) Wenn ich statt hd0 hda0 schreibe, heisst es Error 23: Error while parsing number. :hilfe2:
 
Btw. ... das ist Schritt 4 ;)

Dann poste doch mal bitte die Ausgabe von
Code:
fdisk -l
und den Inhalt von /boot/grub/device.map

Oder versuch mal vor dem chroot-Schritt noch:
Code:
mount -o bind /dev /mnt/dev
mount -t proc none /mnt/proc
 
Zuletzt bearbeitet:
Btw. ... das ist Schritt 4 ;)
Ups :D

Dann poste doch mal bitte die Ausgabe von
Code:
fdisk -l
und den Inhalt von /boot/grub/device.map

Oder versuch mal vor dem chroot-Schritt noch:
Code:
mount -o bind /dev /mnt/dev
mount -t proc none /mnt/proc

Hat sich erledigt... ich habe es mit der super grub disk versucht und dort in die konsole gewechselt. anschliessend diese schritte probiert und jetzt geht es =)

trotzdem danke ;)
 

Ähnliche Themen

(schwerer) Umgang mit der Version von vmlinuz

es kommen abwechselnd neuere Distributionen...

Keine grafische Oberfläche (Debian Installation)

Linux "vergisst" Dateisystem?

Mobiles Linux auf USB-Stick

Zurück
Oben