• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Linux startet nicht auf einen Toshiba PC mit Windows 7

Martin70

Newbie
Ich habe mir einen Toshiba Laptop gekauft. Auf diesen Laptop ist Windows 7 vorinstalliert. Zunächst war die Festplatte auf zwei Partitionen aufgeteilt für das Betriebssystem.

Auf diesen Rechner habe ich openSUSE 11.2 installiert. Die Installation hat die erste Windows-Partition
geteilt und Linux-Partitionen erstellt.
Code:
fdisk zeigt folgende Partitionen an:
Device           Boot           Start             End        Id        System
/dev/sda1       *                     1              52       27        Unknown
Partition does not end of cylinder boundary
/dev/sda2                            52           9001         7        HPFS/NTFS
/dev/sda3                       19528          38914         7        HPFS/NTFS
/dev/sda4                        9001          19508          f        W95 Ext'd (LBA)
/dev/sda5                        9001           9263         82        Linux swap / Solaris
/dev/sda6                        9263          11873         83       Linux
/dev/sda7                       11874         19507         83        Linux

Grub konnte nun Linux auf der Partition /dev/sda6 starten, aber beim Starten von Windows 7
erschien folgende Meldung
Code:
rootnoverify (hd0,1)
chainloader +1
BootManager is missing
Press Cntrl+Alt+Del to restart

Jetzt habe ich versucht Linux von Windows 7 Bootloader zu starten.
Ich habe versucht, den ursprünglichen MBR mit Yast2 zurückzuschreiben. Zunächst habe ich den
aktuellen MBR mit dem dd Kommando gesichert. Diese Datei habe ich auf die NTFS-Partition kopiert.
Das Tool versagte allerdings den Dienst, um den Masterbootrecord zurückzuschreiben. Danach
habe ich mit dem dd-Kommando den vorherigen MBR wieder installiert.

Beim nächsten Windows 7 Start hat er sich dann zunächst einmal restauriert.

Mit folgenden Administrator-Kommandos habe ich den Bootstarter angepasst:

bcdedit /copy {ntldr} /d "openSUSE"
bcdedit /set {123456} device boot
bcdedit /set {123456} path \suse.lin
bcdedit /displayorder {123456} /addlast
Wobei {ntldr} der Bezeichner (GUID) des 1. Window-Startladeprogramm bezeichnet
{123456} der neu erstellte Bezeichner (GUID)
Die Bezeichnung \suse.lin ist die Datei mit den Masterbootrecord von Linux
Soweit ich die Rezepte aus den Internet verstanden habe, habe ich sie richtig ausgeführt.

Das Ergebnis ist allerdings ernüchternd:
Windows 7 startet
aber
openSUSE startet nicht. Stattdessen ruft sich Windows 7 selber auf und versucht sich zu reparieren,
was allerdings scheitert. Es bleibt nur übrig den Rechner neu mit Windows 7 zu starten.

Ich favorisiere ganz klar, Linux von Windows 7 Bootmanager aus zu starten. Notfalls könnte man auch
wieder GRUB installieren. Man müsste ihn allerdings beibringen, Windows 7 zu starten.

Ich bedanke mich herzlichst für Euere Mithilfe

Gruß Martin70
 

mrehm

Hacker
schau mal hier, vielleicht hilft dir das:

http://www.linux-club.de/viewtopic.php?f=4&t=108933

Deine bootflag ist auf sda1 gesetzt, sollte der MBR sein, aber da scheint sich dein Grub nicht angesiedelt zu haben

Die erweiterte Partition (mit linux) ist bei dir /sda4; schieb den bootflag dahin, dann sollte auch win7 wieder bootbar sein

Zitat josef-wien
Zu Möglichkeit Nr. 2 kannst Du von der DVD das Rettungssystem starten und mittels
Code: Alles auswählen
fdisk -l
nachschauen, ob eine Partition aktiv ist (die ist mit einem Stern gekennzeichnet); aktivieren kannst Du eine Partition z. B. mit
Code: Alles auswählen
sfdisk -A2 /dev/sda
(als Ziffer nach dem A ist die Nummer Deiner erweiterten Partition anzugeben).

Wenn Du keine DVD mit Rettungssystem hast, meldest du dich auf der konsole als root/su + password an und arbeitest das ab.

Danach solltest Du dein WIN7 mit dem openSUSE-Bootmanager auch wieder starten koennen.

Ich favorisiere ganz klar, Linux von Windows 7 Bootmanager aus zu starten. Notfalls könnte man auch
wieder GRUB installieren. Man müsste ihn allerdings beibringen, Windows 7 zu starten.

Besser Win7 vom Linux-Grub starten, ist eigentlich auch kein Problem.
Ich habe noch nicht gesehen, dass WinXP/Vista/7 Linux starten kann...

und hier

http://www.linux-club.de/viewtopic.php?f=4&t=109783

Don't trust me, I'm a bloody amateur!
Das bitte beruecksichtigen, vor Datenverlust!

Gruss

Martin
 
OP
M

Martin70

Newbie
Vielen Dank für die Hilfe,

ich habe das Bootflag mit sfdisk von sda1 in sda4 verschoben.

Danach kann die Linuxpartition wieder gestartet werden.

Leider kann ich danach aber Windows 7 mit Grub nicht mehr starten.

Wie schon nach der ursprünglichen Installation erscheint nach dem Starten von Windows 7 mit GRUB
folgende Meldung:

rootnoverify (hd0,1)
chainloader +1
Bootmgr is missing

Press Ctrl+Alt+Del to restart.

Bedauerlicherweise bin ich nicht weitergekommen. Schade

Gruß Martin70
 

mrehm

Hacker
Versuche mal eine Aenderung in der /boot/grub/menu.lst

In der Konsole als root mit einem Texteditor /boot/grub/menu.lst oeffnen und im Windows-Eintrag die Zeile

Code:
rootnoverify (hd0,1)

aendern auf

Code:
rootnoverify (hd0,0)


Gruss

Martin
 

josef-wien

Ultimate Guru
Den ganzen einleitenden Zirkus mit dem MBR hättest Du Dir sparen können. Sofern Du bei der Installation nichts anderes bestimmst, legt openSUSE einen generischen MBR an (bzw. läßt den von Windows erzeugten unverändert) und installiert GRUB in die Systempartition (bzw. in die erweiterte Partition, wenn die Systempartition eine logische Partition ist). Mit einem generischen MBR wird der Bootsektor jener Partition gestartet, die als "aktiv" gekennzeichnet ist.

Wenn mit aktiver sda1 (hd0,0) Windows und mit aktiver sda4 (hd0,3) Linux gestartet wird, hast Du eine Windows-Bootpartition (oder eine von Toshiba für den Start von Windows hergerichtete erste primäre Partition), daher muß die von mrehm beschriebene Änderung der menu.lst zum Ziel führen, eventuell ist noch eine Zeile
Code:
makeactive
einzufügen, aber ich glaube, gelesen zu haben, daß Windows 7 darauf nicht mehr angewiesen ist.
 

mrehm

Hacker
josef-wien schrieb

Wenn mit aktiver sda1 (hd0,0) Windows und mit aktiver sda4 (hd0,3) Linux gestartet wird, hast Du eine Windows-Bootpartition (oder eine von Toshiba für den Start von Windows hergerichtete erste primäre Partition)


Genau das ist das Problem von Martin70

laut menu.lst soll bei ihm Windows von /sda2 (hd0.1) starten, die StartPartition ist aber /sda1 (hd0.0), also kann windows nicht aus Grub starten

Gleiches Verhalten bei meinem IBMT60 mit WIN7 und opensuse, nur dass die Suse hier die Start/RecoveryPartition als solche erkannt hat und den menu.lst-Eintrag selbst auf /sda1 gesetzt hat

Wenn ich den -existierenden- Grub-Eintrag fuer /sda2 aufrufe, bekomme ich die gleiche Fehlermeldung wie Martin70

Gruss

Martin
 
OP
M

Martin70

Newbie
[Gelöst]
Ich habe, wie vorgeschlagen in der GRUB-Konfigurationsdatei /boot/grub/menu.lst den Wert von (hd0,1) auf (hd0,0) geändert. Es wäre irgendwo auch von mir aus die nächsten Spielereien gewesen, an diesen
Werten herumzudrehen, falls ich keine andere Information bekommen hätte!

Seitdem läßt sich sowohl Windowss 7 als auch openSUSE von GRUB aus starten.

Vielen Dank

Martin70
 

mrehm

Hacker
freut mich, auch mal helfen zu koennen statt immer nur um Hilfe zu bitten!

Dann waere noch nett, wenn Du deinen Eingangsbeitrag editierst und in der Titelzeile auf "geloest setzt.

Gruss

Martin
 
Oben