Hallo,
Habe auf einem Notebook zunächst WinXP installiert (funktionierte einwandfrei), dann Open SuSE 12.1 mit Grub als Bootmanager (funktionierte auch). Da ich die Linux Partitionen bei der Installation manuell angepasst habe, hatte ich überall unpartitionierte Bereiche auf der Festplatte, woraufhin ich mit GParted die Linux Partitionen ans Ende der Platte verschoben habe, um die Datenpartition von Windows zu vergrössern. Nun bekomme ich beim Booten die Meldung "Operating System not found". Vermutlich wird Grub nicht mehr gefunden. Wie kann ich das reparieren?
Meine Partitionierung derzeit:
sda1 Windows System (NTFS)
sda2 extended
sda5 Windows Daten (FAT32)
sda6 linux-swap
sda7 ext4 (Linux System)
sda8 ext4 (Linux Homeverzeichnis)
Linux 15.004 Themen, 106.699 Beiträge
Hallo Eisenvater,
ich habe vieles im Leben probiert und gemacht.
Werde jetzt ein Text aus einem Link kopieren. Weil es sonst unerwueschte Werbung bedeuten wuerde ;-)
Derzeit dürfte es denke ich nicht ungewöhnlich sein, dass viele PC-Nutzer wenn sie sich Vista installieren, sich noch XP auf der Platte so lange halten, bis wohl alles unter Vista sauber läuft. Sollen hier noch eine oder mehrere Linuxinstallationen dazu kommen, dann ist ein ordentliches Bootkonzept notwendig. Doch gerade durch das noch vorhandene XP ist dies einfacher zu erledigen, als man denkt.
Wir gehen nun von folgender Konstellation aus: Zuerst war Windows XP installiert. Auf eine weitere Partition hat man nun Vista installiert. Vista ersetze den XP Bootloader mit seinem neuen Vista/Longhorn Bootloader.
Jetzt soll nun Opensuse installiert werden. Dabei wollen wir aber nicht den linuxeigenen Grub (der wunderbar auch Vista anbooten kann) verwenden, sondern den Longhorn Bootloader weiter verwenden.
Jetzt hat man sicherlich schon im Internet oder in einigen PC Magazinen gelesen, dass man das durchaus lösen kann, nur muss man dazu einen etwas umständlichen Weg über das Konsolenprogramm bcdedit unter Vista gehen. Das kann sich mitunter einwenig kompliziert gestalten, ist aber in unserem Falle auch nicht wirklich notwendig.
Installiert nun erstmal Opensuse. Opensuse wird nun zum Ende der Grundinstallation seinen Bootloader in den Masterbootrecord (MBR) der Festplatte schreiben und dabei eiskalt den Longhorn Bootloader überscheiben. Vista lässt sich dann aus dem Linux- Grub heraus starten, von wo aus Ihr dann wiederum XP bei Bedarf starten könnt. Eine sehr unschöne Verschachtelung, wie ich finde.
Nach der Installation startet erstmal das frische Opensuse und öffnet ein Konsolenfenster. Jetzt wollen wir uns den Bootsektor aus dem MBR in eine Datei schreiben.
Dazu werdet ersteinmal root:
Code:
su
[Passwort eingeben]
Dann sichern wir uns den MBR als Datei weg:
Code:
dd if=/dev/sda of=/home/[euer username]/bootsek.lin bs=512 count=1
(in diesem Beispiel haben wir nur noch Sata- Festplatten im System. Bei einer IDE Platte als erste Harddisk ersetzt das /dev/sda in /dev/hda)
Unser Image liegt nun in unserem Home-Verzeichnis, heißt bootsek.lin und ist 512 Byte groß. Bitte kontrolliert, ob sie wirklich 512 B groß ist. Sollte da "0" stehen, dann ist was beim Kopieren schief gelaufen und wiederholt den Vorgang. Achtet dabei auf Tippfehler!
Diese Datei muss jetzt auf Eure Windows-XP Partition kopiert werden. Da Ihr vermutlich kein Schreibrecht auf eine NTFS Partition habt müsst Ihr die Datei via CD, Externe Festplatte, Diskette, USB-Stick oder gar per E-Mail unter Windows kopieren. Irgendeinen Weg findet Ihr, um das kleine Image "rüber" zu bringen. Dieses muss dann direkt im Wurzelverzeichnis liegen.
Macht nun unter Windows XP alle Dateien sichtbar. Jetzt noch die Datei boot.ini schreibbar setzen und öffnet diese mit einem Texteditor. Fügt nun zum Schluss der Datei folgende Zeile ein:
Code:
c:\bootsekt.lin=”Opensuse”
Speichert die Änderung und aktiviert zur Sicherheit wieder den Schreibschutz. Jetzt bootet das System neu. Dann werdet ihr wieder den Grub- Bootloader sehen. Startet diesemal Windows, damit der Vista Bootloader wieder erscheint. Jetzt seht Ihr im Vista Bootloader zusätzlich noch den Eintrag "Opensuse". Der Kniff hierbei ist, dass der Vistabootloader alle zusätzlichen Eintragungen aus der XP Boot.ini mit in sein Auswahlmenü packt. Hierbei ersparen wir uns den etwas komplizierteren Gang über den bcdedit.
Wenn Ihr dann Euer Windows XP auswählt, werdet Ihr hier wiederum ein Auswahlmenü zu Gesicht bekommen, das Euch wieder den Opensuse Eitrag zeigt. Da Ihr von da aus ja kein Linux starten wollt könnt Ihr in der boot.ini auch noch den timeout- Parameter von 30 auf 1 Sekunde setzen. D.h. das Menü wird nur kurz aufzucken und XP startet dann durch.
Wenn sich nun Opensuse im ersten Test wieder sauber aus dem Vista-Bootloader starten lässt können wir den Originalbootloader wieder herstellen. Opensuse hat uns bevor der Grub in den MBR wanderte uns freundlicherweise eine Sicherung des MBR angelegt. Diese liegt im Verzeichnis /boot und nennt sich backup_mbr :
Startet jetzt den YAST und klickt auf System -> Konfiguration des Bootloaders. Dort klickt auf "Weitere" -> "MBR von Festplatte wiederherstellen"
Danach folgt eine Sicherheitsabfrage, die Ihr mit "Ja" beantwortet:
Nun erhaltet Ihr die Bestätigung, dass soweit alles klar gelaufen ist:
Jetzt startet Eure Kiste neu. Danach solltet Ihr den Vista Bootloader wieder haben, der Euch entweder XP, Vista oder Opensuse bootet.
Solltet Ihr noch weiter Linux-Distributionen installieren wollen, dann legt jeweils ein Bootimage mit neuen Namen in das XP-Root-Verzeichnis und ergänzt die boot.ini um einen neuen Eintrag, der wiederum automatisch im Vistabootloader angezeigt wird.
Zudem habt Ihr nun unter Opensuse eine Sicherung des Original Vista Bootimage liegen. Auch wenn Ihr mit einer anderen Installation nun in den MBR schreibt, könnt Ihr in Zukunft mittels dem YAST ganz einfach den MBR wiederherstellen.
Ich denke, dass das im Grunde ein sehr einfacher Weg ist, alle Systeme sauber durchstarten zu lassen.
Viel Spaß mit Euren Systemen!
Gruesse
Sascha
P.S. Den Link poste ich gerne, wenn man mich fragt.