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

[gelöst] WinXP bootet manchmal, manchmal nicht

Hi,
Ich habe nach Installation von der OpenSuse 12.3 das Problem, daß WinXP (installiert auf 3. HD) manchmal nicht bootet. Bootloader ist Grub2 und befinet sich im Bootsector der ersten HD, auf welcher auch die SuSE installiert ist. Konfiguration habe ich mit Yast durchgeführt. Das WinXP wird auch vom OS-Prober erkannt und ein Eintrag im Grub2-Startmenue angelegt. Allerdings startet das Xp nicht, wenn vorher Linux lief. Starte ich hingegen das WinXP "manuell" (über BIOS-Auswahl), dann kann ich danach das WinXP auch per GRUB2 starten, bis ich mal wieder Linux laufen hatte.

Ich hoffe mir kann jemand helfen.
Danke schonmal und Grüße

Hier ein Auszug aus der Config:
### BEGIN /etc/grub.d/30_os-prober ###

menuentry 'Windows NT/2000/XP (on /dev/sdc1)' --class windows --class os $menuentry_id_option 'osprober-chain-6874576B74573B50' {
insmod part_msdos
insmod ntfs
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos1 --hint-efi=hd2,msdos1 --hint-baremetal=ahci2,msdos1 --hint='hd1,msdos1' 6874576B74573B50
else
search --no-floppy --fs-uuid --set=root 6874576B74573B50
fi
drivemap -s (hd0) ${root}
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
 

spoensche

Moderator
Teammitglied
Eigentlich müsstest du dich freuen das M$ nicht mehr bootet.;) :)

harnisch999 schrieb:
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos1 --hint-efi=hd2,msdos1 --hint-baremetal=ahci2,msdos1 --hint='hd1,msdos1' 6874576B74573B50

Kann auch nicht funktionieren. Einmal definierst du hd1 als die Windows XP Partition und beim anderen mal hd2. Da dein Windows auf /dev/sdc1 installiert ist (also auf der 3.Platte, 1.Partition) muss es aber hd2 sein. Wenn du kein UEFI verwendest, dann solltest du auch die Parameter --hint-efi rausnehemen.
 

josef-wien

Ultimate Guru
spoensche schrieb:
Da dein Windows auf /dev/sdc1 installiert ist (also auf der 3.Platte, 1.Partition) muss es aber hd2 sein.
Die Schlußfolgerung paßt nicht. hd1 ist die Platte mit der BIOS-ID 0x81, hd2 ist die Platte mit der BIOS-ID 0x82, das hat nichts mit Linux und /dev/sdX zu tun. Ich habe irgendwie das Gefühl, daß das BIOS die Reihenfolge der zweiten und dritten Platte jeweils nach eigenem Gutdünken festlegt.
 
OP
H

harnisch999

Newbie
Hallo,
Erstmal vielen dank für die super schnelle Hilfe. Im Prinzip ist das schon richtig, ich benötige M$ nicht unbedingt, nur leider bin ich nicht der einzige User am Rechner, da sind noch Frau und Kinder, welche irgendwie noch nicht den Draht zum Linux gefunden haben.

Anyway, vielleicht hilft zur Klärung des Sachverhaltes der Inhalt der devipe.map:

(hd0) /dev/disk/by-id/ata-WDC_WD5000AZRX-00A8LB0_WD-WCC1U0244516
(hd1) /dev/disk/by-id/ata-ST3250318AS_6VM7GSSL
(hd2) /dev/disk/by-id/ata-ST3160812A_4LS0ZYGB

hd1 ist die Disk, welche das XP enthält, also die ST325...

Ich versuche mal, alle Einstellungen in der Konfig auf hd1 zu stellen, vielleicht funxt es ja.

Grüße
Thomas
 
OP
H

harnisch999

Newbie
Funktioniert nicht. Irgendwie bin ich zu dumm...

PS: Noch ein weiterer (hoffentlich) hilfreicher Hinweis: Die Fehlermeldung bei Versuch Win zu starten lautet "hd1 cannot get C/H/S values", ich habe keine blase Ahnung was dies bedeutet. Google hat mir nicht wirklich wietergeholfen, leider...
 

RME

Advanced Hacker
Hallo,

Was hast Du für ein Motherboard?

Ich würde (wenn möglich) mal die SATA Kabel umstecken; wenn Du noch reserve Anschlüsse hast, dann mal die Windows HDD nach "oben" (höhere SATA Nummer) verschieben.

Gruss,
Roland
 
OP
H

harnisch999

Newbie
RME schrieb:
Was hast Du für ein Motherboard?
MSI Z77A-G43

RME schrieb:
Ich würde (wenn möglich) mal die SATA Kabel umstecken; wenn Du noch reserve Anschlüsse hast, dann mal die Windows HDD nach "oben" (höhere SATA Nummer) verschieben.
Die Platte steckt an SATA2, die Linux-Platte an SATA1, kann es mal an anderen Anschlüssen probieren.

Danke für den Hinweis

LG
 

spoensche

Moderator
Teammitglied
harnisch999 schrieb:
Erstmal vielen dank für die super schnelle Hilfe. Im Prinzip ist das schon richtig, ich benötige M$ nicht unbedingt, nur leider bin ich nicht der einzige User am Rechner, da sind noch Frau und Kinder, welche irgendwie noch nicht den Draht zum Linux gefunden haben.

Das Frauen bei Technik eher einen kurzen Draht, dafür aber eine um den Faktor 100 längere Leitung haben und beiden Füßen auch drauf stehen ist ja bekannt. :roll: ;) Kinder kann man dagegen in die richtige Richtung stupsen und ehe man sich versieht muss man zu sehen das sie einen auch noch mal an den Rechner lassen. ;):)

Spass bei Seite.

harnisch999 schrieb:
Anyway, vielleicht hilft zur Klärung des Sachverhaltes der Inhalt der devipe.map:

(hd0) /dev/disk/by-id/ata-WDC_WD5000AZRX-00A8LB0_WD-WCC1U0244516
(hd1) /dev/disk/by-id/ata-ST3250318AS_6VM7GSSL
(hd2) /dev/disk/by-id/ata-ST3160812A_4LS0ZYGB

hd1 ist die Disk, welche das XP enthält, also die ST325...

Ich versuche mal, alle Einstellungen in der Konfig auf hd1 zu stellen, vielleicht funxt es ja.

Dann ist die Info /dev/sdc im Menüeintrag nicht ganz aktuell und du musst bei den Menüparametern hd1 verwenden. Du solltest dich vorher mit
Code:
fdisk -l
vergewissern, auf welcher Platte den das M$ Dateisystem existiert.
 
OP
H

harnisch999

Newbie
fdisk -l liefert:

Disk /dev/sdc: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x87116e13

Device Boot Start End Blocks Id System
/dev/sdc1 * 63 102398309 51199123+ 7 HPFS/NTFS/exFAT
/dev/sdc2 102398310 409593239 153597465 f W95 Ext'd (LBA)
/dev/sdc3 409593240 488392064 39399412+ c W95 FAT32 (LBA)
/dev/sdc5 102398373 409593239 153597433+ 7 HPFS/NTFS/exFAT


Dies ist die XP-Platte. Gemappt in device.map als (hd1):

(hd0) /dev/disk/by-id/ata-WDC_WD5000AZRX-00A8LB0_WD-WCC1U0244516
(hd1) /dev/disk/by-id/ata-ST3250318AS_6VM7GSSL
(hd2) /dev/disk/by-id/ata-ST3160812A_4LS0ZYGB


Manuell habe ich in der grub.cfg folgenden Eintrag erstellt:

menuentry 'Windows XP (on /dev/sdc1)'{
insmod part_msdos
insmod ntfs
set root='hd1,msdos1'
drivemap -s (hd0) ${root}
chainloader +1
}


Funktioniert aber nicht :(. Könnte es sein, daß ich die "3." Platte (sdc) nicht als "2." Platte (hd1) mappen kann, sondern zwingend als hd2? Und spielt es evtl. eine Rolle, in welcher Reihenfolge die 3 Platten in der Bootpriorität im BIOS stehen?
 

josef-wien

Ultimate Guru
harnisch999 schrieb:
Und spielt es evtl. eine Rolle, in welcher Reihenfolge die 3 Platten in der Bootpriorität im BIOS stehen?
Ein vernünftiges BIOS hält sich an diese Reihenfolge, aber ob Deines in diese Kategorie fällt? Ändert es vielleicht eigenmächtig die Reihenfolge, wenn Du im BIOS-Boot-Menü die zu startende Platte auswählst?

Was kommt als root bei
Code:
hwinfo --disk | egrep "Device Files:|BIOS id:"
heraus?

P. S. Die Datei device.map dient ausschließlich im laufenden Linux als Übersetzungstabelle zwischen Linux und GRUB[2]. Während des Startvorgangs spielt sie überhaupt nicht mit.
 
OP
H

harnisch999

Newbie
josef-wien schrieb:
Ein vernünftiges BIOS hält sich an diese Reihenfolge, aber ob Deines in diese Kategorie fällt? Ändert es vielleicht eigenmächtig die Reihenfolge, wenn Du im BIOS-Boot-Menü die zu startende Platte auswählst?
Nicht daß ich wüsste, nö.

josef-wien schrieb:
Was kommt als root bei
Code:
hwinfo --disk | egrep "Device Files:|BIOS id:"
heraus?
.
Device Files: /dev/sda, /dev/disk/by-id/ata-WDC_WD5000AZRX-00A8LB0_WD-WCC1U0244516, /dev/disk/by-id/scsi-SATA_WDC_WD5000AZRX-0_WD-WCC1U0244516, /dev/disk/by-id/wwn-0x50014ee25d25a2a3, /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0
BIOS id: 0x80
Device Files: /dev/sdb, /dev/disk/by-id/ata-ST3160812A_4LS0ZYGB, /dev/disk/by-id/scsi-SATA_ST3160812A_4LS0ZYGB, /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:1:0
BIOS id: 0x81
Device Files: /dev/sdc, /dev/disk/by-id/ata-ST3250318AS_6VM7GSSL, /dev/disk/by-id/scsi-SATA_ST3250318AS_6VM7GSSL, /dev/disk/by-id/wwn-0x5000c5001b791f3f, /dev/disk/by-path/pci-0000:00:1f.2-scsi-1:0:0:0
BIOS id: 0x82
 
OP
H

harnisch999

Newbie
RME schrieb:
Hallo,
Ich würde (wenn möglich) mal die SATA Kabel umstecken; wenn Du noch reserve Anschlüsse hast, dann mal die Windows HDD nach "oben" (höhere SATA Nummer) verschieben.

Done, die Windoof-Pladde ist jetzt am letzten SATA-Port, die Linux-Pladde am ersten. Keine Änderung im Verhalten.

Ich habe noch folgendes festgestellt. Auch ein Start vom Windows per Grub2 (welcher ja einmalig möglich ist nachdem ich Windows einmal per BIOS-Bootmenue gestartet habe), hat die gleiche Auswirkung wie ein linuxstart, also ich kann nicht noch ein zweites Mal das Windows per Grub2 booten.

Dann habe ich mal die vormals 2. Platte rausgeschmissen, also Strom und SATA-Kabel ab, die Windows-Platte ist also jetzt /dev/sdb, auch dies bringt keine Veränderung.
 

spoensche

Moderator
Teammitglied
War die WinXP Platte ursprünglich mal die 1. Platte? Wenn ja boote mal dein Windows und öffne mal die Datei C:\BOOT.INI mit dem Editor.

Wenn du folgende Zeile siehst:
Code:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP"

dann must du den Wert von rdisk(0) ändern.

/dev/sdb = rdisk(1)
/dev/sdc = rdisk(2)
 

josef-wien

Ultimate Guru
spoensche schrieb:
den Wert von rdisk(0) ändern
Mein Wissen hört zwar mit Windows NT auf, aber hier denke ich, daß Du sehr falsch liegst.

Aber auf Grund dieses Anstosses fällt mir etwas auf:
harnisch999 schrieb:
set root='hd1,msdos1'
drivemap -s (hd0) ${root}
Da wundert mich
harnisch999 schrieb:
hd1 cannot get C/H/S values
jetzt nicht mehr, Du tauschst für Windows eine Platte mit einer Partition, und das kann nicht funktionieren. Das muß (bei zwei vorhandenen Festplatten)
drivemap -s (hd0) (hd1)
heißen. Was aber nicht klärt, warum es einmalig funktioniert ...
 
OP
H

harnisch999

Newbie
josef-wien schrieb:
... Du tauschst für Windows eine Platte mit einer Partition, und das kann nicht funktionieren. Das muß (bei zwei vorhandenen Festplatten)
drivemap -s (hd0) (hd1)
heißen. Was aber nicht klärt, warum es einmalig funktioniert ...

Habs geändert, tut aber nix zur Sache, also gleiches verhalten wie vorher.

Anderes Ding: Kann es sein, daß meine Probleme mit der Unterschiedlichkeit der beien HDDs zu tun hat? Eine (die Linuxplatte, welche auch den Bootloader beherbergt) ist ziemlich neu, und wird vom BIOS als UEFI-Platte verwaltet (keine Ahnung ob man das so sprechen kann), die andere (Windows) ist deutlich älter, und definitiv nicht UEFI. Ich habe auch mal GRUB (legacy) ausprobiert, hat die gleichen Symptome, nur die Fehlermeldung ist eine andere. Hier wird mir gesagt, daß hd1 nicht vorhanden ist. Irgendwer scheint die alte Platte nicht zu finden. Hätte es womöglich Sinn, den Bootloader auf eine Diskette oder USB-Stick zu packen, so daß beim Systemstart nciht der Bootloader von der neuen HDD gelesen werden muß und sich dann vielleicht im BIOS irgendwas umschaltet?
 

RME

Advanced Hacker
Hast Du mal verifiziert ob

Code:
ls -l /dev/disk/by-id /dev/disk/by-path
bezüglich aliases und links ok ist?

(falls Du die Ausgabe posten willst, bitte 'code' Tags benützen)

-/-
 
OP
H

harnisch999

Newbie
RME schrieb:
Hast Du mal verifiziert ob
Code:
ls -l /dev/disk/by-id /dev/disk/by-path
bezüglich aliases und links ok ist?
-/-

Code:
lrwxrwxrwx 1 root root  9 Sep 11 20:51 ata-ST1000DM003-1CH162_Z1D3KK64 -> ../../sdc
lrwxrwxrwx 1 root root 10 Sep 11 20:51 ata-ST1000DM003-1CH162_Z1D3KK64-part1 -> ../../sdc1
lrwxrwxrwx 1 root root  9 Sep 11 20:51 ata-ST3250318AS_6VM7GSSL -> ../../sdb
lrwxrwxrwx 1 root root 10 Sep 11 20:51 ata-ST3250318AS_6VM7GSSL-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Sep 11 20:51 ata-ST3250318AS_6VM7GSSL-part2 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Sep 11 20:51 ata-ST3250318AS_6VM7GSSL-part3 -> ../../sdb3
lrwxrwxrwx 1 root root 10 Sep 11 20:51 ata-ST3250318AS_6VM7GSSL-part5 -> ../../sdb5
lrwxrwxrwx 1 root root  9 Sep 11 20:51 ata-WDC_WD5000AZRX-00A8LB0_WD-WCC1U0244516 -> ../../sda
lrwxrwxrwx 1 root root 10 Sep 11 20:51 ata-WDC_WD5000AZRX-00A8LB0_WD-WCC1U0244516-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Sep 11 20:51 ata-WDC_WD5000AZRX-00A8LB0_WD-WCC1U0244516-part2 -> ../../sda2
lrwxrwxrwx 1 root root  9 Sep 11 20:51 ata-_NEC_DVD_RW_ND-4550A -> ../../sr0
lrwxrwxrwx 1 root root  9 Sep 11 20:51 scsi-1ATA_ST3250318AS_6VM7GSSL -> ../../sdb
lrwxrwxrwx 1 root root 10 Sep 11 20:51 scsi-1ATA_ST3250318AS_6VM7GSSL-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Sep 11 20:51 scsi-1ATA_ST3250318AS_6VM7GSSL-part2 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Sep 11 20:51 scsi-1ATA_ST3250318AS_6VM7GSSL-part3 -> ../../sdb3
lrwxrwxrwx 1 root root 10 Sep 11 20:51 scsi-1ATA_ST3250318AS_6VM7GSSL-part5 -> ../../sdb5
lrwxrwxrwx 1 root root  9 Sep 11 20:51 scsi-1ATA_WDC_WD5000AZRX-00A8LB0_WD-WCC1U0244516 -> ../../sda
lrwxrwxrwx 1 root root 10 Sep 11 20:51 scsi-1ATA_WDC_WD5000AZRX-00A8LB0_WD-WCC1U0244516-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Sep 11 20:51 scsi-1ATA_WDC_WD5000AZRX-00A8LB0_WD-WCC1U0244516-part2 -> ../../sda2
lrwxrwxrwx 1 root root  9 Sep 11 20:51 scsi-SATA_ST3250318AS_6VM7GSSL -> ../../sdb
lrwxrwxrwx 1 root root 10 Sep 11 20:51 scsi-SATA_ST3250318AS_6VM7GSSL-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Sep 11 20:51 scsi-SATA_ST3250318AS_6VM7GSSL-part2 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Sep 11 20:51 scsi-SATA_ST3250318AS_6VM7GSSL-part3 -> ../../sdb3
lrwxrwxrwx 1 root root 10 Sep 11 20:51 scsi-SATA_ST3250318AS_6VM7GSSL-part5 -> ../../sdb5
lrwxrwxrwx 1 root root  9 Sep 11 20:51 scsi-SATA_WDC_WD5000AZRX-0_WD-WCC1U0244516 -> ../../sda
lrwxrwxrwx 1 root root 10 Sep 11 20:51 scsi-SATA_WDC_WD5000AZRX-0_WD-WCC1U0244516-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Sep 11 20:51 scsi-SATA_WDC_WD5000AZRX-0_WD-WCC1U0244516-part2 -> ../../sda2
lrwxrwxrwx 1 root root  9 Sep 11 20:51 scsi-SIntenso_USB_3.0_Device_CA300000000000000513 -> ../../sdc
lrwxrwxrwx 1 root root 10 Sep 11 20:51 scsi-SIntenso_USB_3.0_Device_CA300000000000000513-part1 -> ../../sdc1
lrwxrwxrwx 1 root root  9 Sep 11 20:51 wwn-0x5000c5001b791f3f -> ../../sdb
lrwxrwxrwx 1 root root 10 Sep 11 20:51 wwn-0x5000c5001b791f3f-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Sep 11 20:51 wwn-0x5000c5001b791f3f-part2 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Sep 11 20:51 wwn-0x5000c5001b791f3f-part3 -> ../../sdb3
lrwxrwxrwx 1 root root 10 Sep 11 20:51 wwn-0x5000c5001b791f3f-part5 -> ../../sdb5
lrwxrwxrwx 1 root root  9 Sep 11 20:51 wwn-0x5000c5004fef0f63 -> ../../sdc
lrwxrwxrwx 1 root root 10 Sep 11 20:51 wwn-0x5000c5004fef0f63-part1 -> ../../sdc1
lrwxrwxrwx 1 root root  9 Sep 11 20:51 wwn-0x50014ee25d25a2a3 -> ../../sda                                                                                                                        
lrwxrwxrwx 1 root root 10 Sep 11 20:51 wwn-0x50014ee25d25a2a3-part1 -> ../../sda1                                                                                                                 
lrwxrwxrwx 1 root root 10 Sep 11 20:51 wwn-0x50014ee25d25a2a3-part2 -> ../../sda2                                                                                                                 
                                                                                                                                                                                                  
/dev/disk/by-path:                                                                                                                                                                                
total 0                                                                                                                                                                                           
lrwxrwxrwx 1 root root  9 Sep 11 20:51 pci-0000:00:14.0-usb-0:4:1.0-scsi-0:0:0:0 -> ../../sdc                                                                                                     
lrwxrwxrwx 1 root root 10 Sep 11 20:51 pci-0000:00:14.0-usb-0:4:1.0-scsi-0:0:0:0-part1 -> ../../sdc1                                                                                              
lrwxrwxrwx 1 root root  9 Sep 11 20:51 pci-0000:00:1f.2-scsi-0:0:0:0 -> ../../sda                                                                                                                 
lrwxrwxrwx 1 root root 10 Sep 11 20:51 pci-0000:00:1f.2-scsi-0:0:0:0-part1 -> ../../sda1                                                                                                          
lrwxrwxrwx 1 root root 10 Sep 11 20:51 pci-0000:00:1f.2-scsi-0:0:0:0-part2 -> ../../sda2                                                                                                          
lrwxrwxrwx 1 root root  9 Sep 11 20:51 pci-0000:00:1f.5-scsi-0:0:0:0 -> ../../sr0                                                                                                                 
lrwxrwxrwx 1 root root  9 Sep 11 20:51 pci-0000:00:1f.5-scsi-1:0:0:0 -> ../../sdb                                                                                                                 
lrwxrwxrwx 1 root root 10 Sep 11 20:51 pci-0000:00:1f.5-scsi-1:0:0:0-part1 -> ../../sdb1                                                                                                          
lrwxrwxrwx 1 root root 10 Sep 11 20:51 pci-0000:00:1f.5-scsi-1:0:0:0-part2 -> ../../sdb2                                                                                                          
lrwxrwxrwx 1 root root 10 Sep 11 20:51 pci-0000:00:1f.5-scsi-1:0:0:0-part3 -> ../../sdb3                                                                                                          
lrwxrwxrwx 1 root root 10 Sep 11 20:51 pci-0000:00:1f.5-scsi-1:0:0:0-part5 -> ../../sdb5
 

josef-wien

Ultimate Guru
RME schrieb:
Hast Du mal verifiziert
Bitte keine falschen Spuren legen. Hier geht es nicht um Linux, sondern darum, daß GRUB2 (manchmal) den Boot-Code im Boot-Sektor einer Windows-Partition nicht starten kann.

Schön langsam denke ich, daß das Problem im BIOS zu liegen scheint, aber frage mich nicht, wo.
 
Oben