winlin
Goto Top

Mit ext22fsd grub bearbeiten

Hallo Leute,

ich habe ein Laptop auf dem zuerst Red Hat Linux 5 installiert wurde. Danach wurde Windows 7 installiert (Laptop hat nur eine 500GB Plate die partitioniert wurde) und hat dabei natürlich den Bootloader überschrieben. Ich möchte nun gerne das Windows nicht automatisch startet sondern das ich das Auswahlmenü erhalte mit der Option Linux oder Windows zu starten. Unter Windows habe ich ext2fsd installiert und habe /boot gemountet und kann somit auf das grub Verzeichnis zugreifen. Meine grub.conf und menu.lst sehen so aus:

grub.conf generated by anaconda
#
  1. Note that you do not have to rerun grub after making changes to this file
  2. NOTICE: You have a /boot partition. This means that
  3. all kernel and initrd paths are relative to /boot/, eg.
  4. root (hd0,0)
  5. kernel /vmlinuz-version ro root=/dev/mapper/luks-583ffbe7-0343-430c-8976-a725eacad270
  6. initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=30
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Office -- Red Hat Enterprise Linux Client
root (hd0,0)
kernel /vmlinuz-2.6.18-238.el5 ro root=/dev/mapper/luks-2bac1a87-0a71-4a23-85d8-49868126fba8 netprofile=OFFICE rhgb quiet
initrd /initrd-2.6.18-238.el5.img
title Home -- Red Hat Enterprise Linux Client
root (hd0,1)
kernel /vmlinuz-2.6.18-238.el5 ro root=/dev/mapper/luks-2bac1a87-0a71-4a23-85d8-49868126fba8 netprofile=HOME rhgb quiet
initrd /initrd-2.6.18-238.el5.img
title Windows 7
rootnoverify (hd0,2)
chainloader +1
makeactive

WAS MUSS ICH MACHEN DAMIT ICH DAS AUSWAHLMENÜ BEKOMME MIT DER AUSWAHL DER BETRIEBSSYSTEME?!?!

Content-ID: 178603

Url: https://administrator.de/contentid/178603

Ausgedruckt am: 15.11.2024 um 16:11 Uhr

HGGIGO
HGGIGO 09.01.2012 um 15:54:20 Uhr
Goto Top
Hallo winlin,

Windows hat den MBR überschrieben, also mit der config kommst du nicht weiter. Am einfachsten du startest dein Red Hat per LiveCD oder mit SuperGrup! Mache Distributionen bieten eine Systemreparatur an, mit dieser einfach grub neu installieren und update-grub ausführen. Beim Starten mit SuperGrub die richtige HDD wählen und vom Prinzip das selbe. Weiß nicht genau wie es unter Red Hat ist aber es gibt reichlich Anleitungen wie man seinen Grub wiederherstellt.
winlin
winlin 09.01.2012 um 16:15:42 Uhr
Goto Top
ein update-grub reicht nicht aus????
Wie geh ich vor nachdem ich die live cd eingeschiben habe und das terminal geöffnet hab????
grub eingeben
und dann grub-install --root-directory= ????????????

wie bekomm ich raus wo /boot ist?
HGGIGO
HGGIGO 09.01.2012 um 16:22:30 Uhr
Goto Top
Zitat von @winlin:
ein update-grub reicht nicht aus????

Richtig, der Grub muss neu installiert werden in den MBR oder Bootsektor.

Wie geh ich vor nachdem ich die live cd eingeschiben habe und das terminal geöffnet hab????

http://linuxkp.de/tipps/grub-wiederherstellen-nach-einer-windows-instal ...

Der letzte schritt mit dem hinzufügen von Windows 7 in die menu.lst sollte durch update-grub von allein gehen.
64748
64748 09.01.2012 um 17:31:43 Uhr
Goto Top
Hallo,
Zitat von @winlin:
wie bekomm ich raus wo /boot ist?
poste mal bitte (von Linux aus) die Ausgabe von
fdisk -l
und bitte die /etc/inittab

Wegen der Neuinstallation von Grub, das bedeutet lediglich, dass der Grub neu in den MBR geschrieben wird, weil dort nach der Win 7 Installation der Bootloader von Windows sitzt.

Gruß

Markus
winlin
winlin 10.01.2012 um 09:53:42 Uhr
Goto Top
fdisk -l ergibt:
DEVICE BOOT START SYSTEM
/dev/sda1 1 Linux
/dev/sda2 33 Linux extended
/dev/sda3 * 38278 HPFS/NTFS
/dev/sda4 38290 HPFS/NTFS


Kannst du mir sagen wie der Befehl lautet sobal ich Ubuntu LiveCD gestartet habe?
- Gebe zuerst sudo -i ein damit ich root werde.
- fdisk -l ergibt obige Ausgabe
- Bootloader neu schreiben, etwa so?
grub-install --root-directory=/boot /dev/sda1

Das ergibt folgende Fehlermeldung:
Probing devices to guess bios drives. This may take a long time. Could not find device /boot/boot.
Not found or not a block device.
64748
64748 10.01.2012 um 10:29:08 Uhr
Goto Top
Guten Morgen winlin,

ich bin kein Exerte für Grub weil ich immer noch lilo benutze. Meines Erachtens sollte es ausreichen, wenn Du grub-install ohne irgendeine Option aufrufst (vorausgesetzt Deine oben gepostete grub.conf Datei ist korrekt für Dein System.

Der Befehl führ nur dazu, dass Grub den MBR von /dev/sda wieder überschreibt. Du kannst demnach auch nichts falsch machen, wenn Du den Befehl ohne Optionen ausführst. Es passiert entweder nix (also es ändert sich nichts) oder Du kannst dann nur RedHat booten, oder eben beide Systeme wie gewünscht.

Probier es einfach aus.

Markus
64748
64748 10.01.2012 um 10:41:42 Uhr
Goto Top
Hallo, ich muss mich korrigieren.

Wenn Du
grub-install /dev/sda
ausführst, dann schreibt Grub sich neu in den MBR, hält aber die Konfiguration bei, die in grub.conf festgelegt ist.

Es gibt zusätzlich den Befehl "update-grub" mit dem vorher eine neue Konfiguration (automatisch) generiert werden kann.

Hier steht alles erklärt: http://wiki.ubuntuusers.de/GRUB (für Deine Konfiguration siehe Methode 3).

Markus
winlin
winlin 10.01.2012 um 10:42:02 Uhr
Goto Top
habe mal die anleitung vom o.g. Link verwendet:
sudo mount/dev/sda1 /mnt

hat geklappt! Unter /mnt habe ich das VBrzeichnis grub und darin die grub.conf etc. Der folgende Befehl klappte aber nicht:
sudo mount -t proc /mnt/proc 
Fehlermeldung:
Usage: mount -V : print version
mount -h : print this help
mount : list mounted filesystems
mount -l : idem, including volume labels
So far the informational part. Next the mounting.
The command is `mount [-t fstype] something somewhere'.
Details found in /etc/fstab may be omitted.
mount -a [-t|-O] ... : mount all stuff from /etc/fstab
mount device : mount device at the known place
mount directory : mount known device here
mount -t type dev dir : ordinary mount command
Note that one does not really mount a device, one mounts
a filesystem (of the given type) found on the device.
One can also mount an already visible directory tree elsewhere:
mount --bind olddir newdir
or move a subtree:
mount --move olddir newdir
One can change the type of mount containing the directory dir:
mount --make-shared dir
mount --make-slave dir
mount --make-private dir
mount --make-unbindable dir
One can change the type of all the mounts in a mount subtree
containing the directory dir:
mount --make-rshared dir
mount --make-rslave dir
mount --make-rprivate dir
mount --make-runbindable dir
A device can be given by name, say /dev/hda1 or /dev/cdrom,
or by label, using -L label or by uuid, using -U uuid .
Other options: [-nfFrsvw] [-o options] [-p passwdfd].
For many more details, say man 8 mount .


Dieser Befehl geht dann auch nicht, dieselber Fehlermeldung:
 sudo mount -o bind /dev /mnt/dev 
64748
64748 10.01.2012 um 10:57:14 Uhr
Goto Top
Kann es sein, dass /dev/sda1 Dein /boot Verzeichnis ist? dann ist voraussichtlich /dev/sda2 Dein / Verzeichnis und Du müsstest folgendermaßen mounten
mount /dev/sda2 /mnt
mount /dev/sda1 /mnt/boot
mount -t proc none /mnt/proc
mount -o bind /dev /mnt/dev
chroot /mnt /bin/bash

Markus
winlin
winlin 10.01.2012 um 11:14:15 Uhr
Goto Top
beim befehl mount /dev/sda2 /mnt sagt er :
you must specify the filesystem type

PS: sorry fuer die für dich einfachen Fragenface-smile))
64748
64748 10.01.2012 um 11:26:38 Uhr
Goto Top
Ach so, Du hast /dev/sda2 als extended angelegt, die Ausgabe von "fdisk -l" zeigt aber auch nicht alles an. Du musst wissen, wo genau sich Dein / (root) Verzeichnis von Linux befindet. Wenn /dev/sda2 extended ist, dann liegen die sog. logischen Partitionen in /dev/sda5, /dev/sda6 usw. die kannst Du auch alle mal ausprobieren. Also
mount /dev/sda5 /mnt
dann gucken was da drin ist (mit ls /mnt) und wenn Du das / Verzeichnis gefunden hast, dann machst Du so weiter wie oben beschrieben, also mit dem Befehl in der zweiten Zeile.

Noch eine Frage: LVM oder RAID wird auf dem Rechner nicht genutzt?

Markus
winlin
winlin 10.01.2012 um 12:25:08 Uhr
Goto Top
mount /dev/sda5 /mnt
ergibt: mount: special device /dev/sda5 does not exist!

fdisk -l
/dev/sda1 1 Linux
/dev/sda2 33 Linux extended
/dev/sda3 * 38278 HPFS/NTFS
/dev/sda4 38290 HPFS/NTFS
64748
64748 10.01.2012 um 15:46:23 Uhr
Goto Top
Ich denke, das sieht sehr schlecht aus.

Wer hat denn Windows auf dem Rechner installiert? Normalerweise ist es üblich, dass man zuerst Windows und danach LInux installiert, das ist Standard und die Installationsroutinen der Linuxdistributionen erkennen ohne Probleme ein Windows und binden es ein.

Umgekehrt ist es so, dass Windows kein Linux erkennt. Hier bei Dir ist es im besten Falle so, dass Windows nur die Partitionstabelle überschrieben hat. Die kann man zur Not wieder herstellen, dazu muss man allerdings wissen, wie die vorher ausgesehen hat.

Im schlechteren Falle hat Windows nicht nur die Partitionstabelle überschrieben, sondern auch gleich noch die erweiterte Linuxpartition (da wo RedHat war) als freien Festplattenplatz erkannt und überschrieben.

Kannst Du genau beschreiben, wie vorgegangen wurde, also Windows installiert wurde? Also bei der Partitionierung.

Die einfachste Lösung in Deinem Fall wäre es (unter Verlust aller Daten), sowohl Windows (zuerst) und danach Linux neu zu installieren. Zwei Windowspartitionen in der richtigen größe am "Anfang" der Platte, dahinter Linux, evtl nur auf einer erweiterten Partition.

Markus