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

DMA Modus, BIOS und GRUB - Suse 10.2

StarMatz

Newbie
Hallo, ich hatte mal wieder die Problematik, daß K3B mir plötzlich meine DVDs verbrannt hatte (nach einem Update des selbigen). Also Rechte kontrolliert und hmmm...kein DMA Modus eingeschaltet (warum auch immer). Nach einem Reboot ist mir dann aber aufgefallen, daß ich den DMA Modus zwar eingeschaltet habe, es mir aber über YAST2 nicht gelingt einen höheren DMA-Modus einzustellen als UltraDMA33 !

im bootlog stehen dabei folgende Meldungen:
<4>hda: Speed warnings UDMA 3/4/5 is not functional.
<4>ide0: Speed warnings UDMA 3/4/5 is not functional.
<4>ide1: Speed warnings UDMA 3/4/5 is not functional.

Ich habe einen nForce2 Chipsatz (Abit AN7) und dieser wird auch aufgeführt
<6>NFORCE2: IDE controller at PCI slot 0000:00:09.0
<6>NFORCE2: chipset revision 162
<6>NFORCE2: not 100% native mode: will probe irqs later
<6>NFORCE2: 0000:00:09.0 (rev a2) UDMA133 controller
<6> ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:DMA
<6> ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd:DMA
<7>Probing IDE interface ide0...
<4>hda: QUANTUM FIREBALLlct08 26, ATA DISK drive
<4>hdb: QUANTUM FIREBALLlct08 26, ATA DISK drive
<4>ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
<6>hda: max request size: 128KiB
<6>hda: 50859648 sectors (26040 MB) w/418KiB Cache, CHS=50456/16/63, UDMA(33)
<6>hda: cache flushes not supported
<6> hda: hda1 hda2 hda3
<6>hdb: max request size: 128KiB
<6>hdb: 50859648 sectors (26040 MB) w/418KiB Cache, CHS=50456/16/63, UDMA(33)
<6>hdb: cache flushes not supported
<6> hdb: hdb1
<7>Probing IDE interface ide1...
<4>hdc: TSSTcorpCD/DVDW SH-S182M, ATAPI CD/DVD-ROM drive
<4>hdd: SAMSUNG SP1203N, ATA DISK drive
<4>ide1 at 0x170-0x177,0x376 on irq 15
<6>hdd: max request size: 512KiB
<6>hdd: 234493056 sectors (120060 MB) w/2048KiB Cache, CHS=16383/255/63, UDMA(33)
<6>hdd: cache flushes supported
<6> hdd: hdd1 hdd2

Die IDE-Platten habe ich im BIOS (Standard Settings) auf NONE gestellt wegen dem "SATA-IDE-BIOS Problem mit GRUB (Fehler 13 beim Windows-Boot)" und dem "YAST kommt beim Installieren durcheinander" Fehlern (Hab ich schon mal in nem anderen Thread geschrieben - im Forum suchen nach Author StarMatz)

Nun habe ich versucht im BIOS die IDE-Platten wieder einzuschalten (Also von NONE auf AUTO) und siehe da, in YAST kann ich den UltraDMA-Modus jeder Platte korrekt einstellen !

AAABER...nun kann ich nicht mehr Windows per GRUB booten, weil ja aus der Sicht des BIOS sda ja nicht mehr die erste platte und sdb die zweite ist....hmmm...(eingestellt ist zwar, daß nur von der SATA-Platte sda gebootet werden kann, nur meldet das BIOS irgendwie die anderen IDE Platten davor, so daß dann nur die Meldung beim Start von Windows kommt "Cant load NTLDR...please press CTRL+ALT+DEL to reset.."

Meine device.map sieht so aus
(hd0) /dev/sda
(hd1) /dev/sdb

Also wie kommt Grub dazu überhaupt eine IDE-Platte anzusprechen ? (Vermutung !)

und meine menu.lst sieht so aus
# Modified by YaST2. Last modification on Di Jan 2 18:55:06 UTC 2007
default 0
timeout 60
gfxmenu (hd0,1)/boot/message
##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 10.2
root (hd0,1)
kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/sda2 vga=0x317 resume=/dev/sda1 showopts
initrd /boot/initrd-2.6.18.2-34-default

###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows
rootnoverify (hd0,0)
chainloader (hd1,0)+1
map (hd0) (hd1)
map (hd1) (hd0)

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 10.2
root (hd0,1)
kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/sda2 vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
initrd /boot/initrd-2.6.18.2-34-default

Mit im BIOS deaktivierten IDE-Platte funktioniert das Wunderbar...Dualboot mit Suse und Windows...nur halt DMA bei Suse nicht (in Windows schon....hmmm)

SOOOOO....nun kommts....(folgendes beruht auf Vermutungen)
Wenn ich im BIOS die IDE Platten deaktiviert habe (nicht den Controller!)
Ist die Reihenfolge so:
1. sda
2. sdb
Wenn ich die IDE Platte aktiviere siehts so aus
1. hda
2. hdb
3. hdd
4. sda
5. sdb
Obwohl das BIOS den Bootsektor von sda startet, wenn Grub ja diese Liste vom Bios bekommt, sieht er eben nicht mehr sda als erste Platte, er kann halt nur das System auf sda booten weil er ja vom Bios gestartet wurde...alle andern Partitionen sieht er halt nicht so wie der Anwender es laut BIOS Setup denken würde....?!??!??!!?

VERMUTUNG:
Also müsste ich die device.map so abändern, daß dann folgendes drin steht ?!?
(hd0) /dev/sda
(hd1) /dev/sdb
(hd2) /dev/hda

und stattdessen in der menu.lst folgendes rein muss ?!???
...
###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows
rootnoverify (hd0,0)
chainloader (hd2,0)+1
map (hd1) (hd2)
map (hd2) (hd1)
...
und das, obwohl ich die ide-platte nicht als boot-device deklariert habe (First, second or third boot device)

Da ich mir mal mein System zerschossen hatte (Yast findet die sda nicht und meldet unbekanntes Gerät wenn die IDE-Platte aktiviert sind und ein bootsektor geschrieben werden soll (Reperatur) !!!), als ich die Einträge für GRUB verändert hatte. Nun bin ich sehr vorsichtig mit Änderungen am System geworden...würde gerne wissen ob das von einem erfahrerenen Suse-Nutzer so bestätigt werden kann.:oops:

Hoffe ihr konntet mir ein bisschen folgen... :roll:

Danke für Eure Geduld schonmal...

StarMatz
 

admine

Ultimate Guru
Wenn du in der device.map /dev/hda auf (hd2) mappst und Windows auf /dev/sdb liegt, warum willst du dann überhaupt etwas an der menu.lst ändern :roll:

So wie du den Windows-Eintrag ändern willst, würde Windows auf /dev/hda liegen.
 
OP
S

StarMatz

Newbie
admine schrieb:
Wenn du in der device.map /dev/hda auf (hd2) mappst und Windows auf /dev/sdb liegt, warum willst du dann überhaupt etwas an der menu.lst ändern :roll:

Weil es nicht funktioniert, sobald die IDE-Platten im BIOS eingetragen wurden. Grub nimmt halt einfach nicht sdb, warum auch immer. Ich hatte mal gelesen, daß das BIOS eine Liste der Festplatten übergibt und scheinbar werden die Ide-platten einfach VOR die Sata-Platten geschoben...warum auch immer...ob es nun ein Bug von Grub ist oder ein Bug im BIOS weis ich nicht, ich weis nur eben das er nicht sdb anspricht...

admine schrieb:
So wie du den Windows-Eintrag ändern willst, würde Windows auf /dev/hda liegen.

ja ich denke, so meine vermutung, würde es grub laut bios sehen, wobei hda in wirklichkeit sdb wäre....ist halt spekulation...

Also nochmal etwas deutlicher was ich meine:
Im Bios ist folgende Reihenfolge eingetragen:
1. sda
2. sdb
3. hda
4. hdb
5. hdd

Aaaaber Grub sieht es vermutlich so:
1. sda (weil Bootplatte)
2. hda
3. hdb
4. hdd
5. sdb
Grub geht aber wohl davon aus das nach sda eben sdb liegt, was aber nicht der fall ist - Folge: Windows bootet nicht ! Watt nu ?

Also müsste ich die 5. Platte mit der 1. Platte tauschen....

Aber wie nah ist die device.map an das Bios angelehnt ?
Muss ich eine bestimmte reihenfolge dort einhalten ?
Weil die Bezeichnungen scheinen ja irgendwie nicht zu stimmen...
Wenn ich die IDE-Platten aus dem System nehme klappts ja mit dem Booten von beiden Systemen ohne Probleme....
...wenn ich mal mutig bin werde ich es mal probieren, hab allerdings angst mein system zu schotten...läuft ja ansonsten alles sehr gut !
 
OP
S

StarMatz

Newbie
HA ! VOLLTREFFER...ich habs nun doch versucht und meine Vermutung ist in etwa richtig gewesen...BIOS und GRUB sind sich nicht Grün mit den Laufwerken !

Also ich habe jetzt die device.map folgendermaßen erweitert:
(hd0) /dev/sda
(hd1) /dev/sdb
(hd2) /dev/hda
(hd3) /dev/hdb
(hd4) /dev/hdd
(hdc ist mein DVD-Brenner)

Und meine provisorische menu.lst sieht so aus:
# Modified by YaST2. Last modification on Di Jan 2 18:55:06 UTC 2007
default 0
timeout 60
gfxmenu (hd0,1)/boot/message
##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 10.2
root (hd0,1)
kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/sda2 vga=0x317 resume=/dev/sda1 showopts
initrd /boot/initrd-2.6.18.2-34-default

###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows
rootnoverify (hd0,0)
chainloader (hd1,0)+1
map (hd0) (hd1)
map (hd1) (hd0)

###Don't change this comment - YaST2 identifier: Original name: windowstest###
title Windowstest
rootnoverify (hd0,0)
chainloader (hd1,0)+1
map (hd0) (hd3)
map (hd3) (hd0)

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 10.2
root (hd0,1)
kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/sda2 vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
initrd /boot/initrd-2.6.18.2-34-default

Windows lässt sich nicht über den Menüpunk "Windows" starten, obwohl dies logischerweise der fall sein sollte, den Windows liegt auf sdb (also laut device.map hd1 !) und openSUSE10.2 liegt auf sda (laut device.map hd0 !).

Sooo...der Menüpunkt Windowstest startet witzigerweise WindowsXP !!!!!
Obwohl ich als Platte ja hd3 angegeben habe, was der zweiten IDE-Platte entspricht. WindowsXP liegt aber auf der 2. SATA Platte !!!)

Fazit: Entweder das BIOS ist buggy (stammt aus den SATA-Anfangszeiten -> nForce2 Ultra 400 / MCP-T
und/oder Grub verwechselt IDE mit SATA....?!?

Naja, jedenfalls freue ich mich das jetzt wenigstens das jetzt funktioniert...und ich vollen DMA-Speed bekomme...

Ok, hoffe ich konnte hier anderen Linuxanwendern ein wenig helfen...
 
OP
S

StarMatz

Newbie
Nachtrag, ich hatte doch wieder das Problem, daß aus irgendeinem Grund der DMA des DVD-Brenners deaktiviert wurde. Ich hab es mit Yast im Laufenden Betrieb getestet -> Nach dem Booten: UltraDMA33 und wenn ich dann DVDs Brennen wollte war plötzlich der DMA-Modus deaktiviert und die Brenngeschwindigkeit grottenschlecht...)

Da aber noch eine Festplatte des gleichen Herstellers als Slave mit UltraDMA133 mitlief (gerundete Kabel) habe ich dessen Speed auf UltraDMA100 runtergeschaltet (vermutung Kabel schlecht) und siehe da, bisher kein Ausfall mehr des DVD-DMAs ! Da mein Linux-System eh komplett auf SATA läuft kann ich das ruhig verkraften !

Hoffe ich konnte hier einigen Helfen...
 
Oben