Die verflixten 40 GB
16. Oktober 2020 um 17:41 Uhr von Atari-Frosch
Nachdem ich mir kürzlich mit ausführlicher Beteiligung von Murphy ein Testsystem gebaut hatte, war ich in den letzten Tagen unter anderem damit beschäftigt, an diesem System IDE-Festplatten zu testen. Nach ein paar Tests hatte ich dem Test-PC zusätzlich eine der kleineren bereits getesteten Festplatten eingebaut (IDE primary slave), um die genaueren Plattendaten abspeichern zu können. Die sollten auf Dauer in mein Hardware-Wiki wandern. Ein Teil davon sind mittlerweile auch schon drin.
Nun habe ich fast alle Platten durch, und irgendwann fiel auf, daß Platten einer bestimmten Größe grundsätzlich nicht vom BIOS erkannt werden, obwohl sie physisch laufen. Der Erkennungsprozeß kann auch nicht übersprungen werden; auf die entsprechende Taste (F4) reagiert das System nicht. Wenn ich ins BIOS gehe und dort explizit die IDE-Geräte checken lasse, passiert dasselbe: Die alleine an den Secondary IDE angehängte Festplatte wird nicht erkannt, der Erkennungsprozeß kann nicht abgebrochen werden.
Wären das jetzt allesamt Festplatten vom selben Hersteller, würde ich sagen, OK, die altern halt nicht gut. Nur: Es sind Festplatten von IBM, Hitachi, Maxtor, ExcelStor und Western Digital. Also fing ich an, im Netz nach Antworten zu suchen:
- Das BIOS scheint hier nicht an eines der bekannten Größenlimits bei IDE-Festplatten zu stoßen. Bei 40 GB gibt es keine solche Grenze. Andererseits hatte ich deutlich größere Festplatten dran gehabt – bis zu 250 GB –, die anstandslos in voller Größe erkannt wurden und angesprochen werden konnten.
- Für die genaue BIOS-Version „Award BIOS 4.51PG“ – so meldet es sich beim Booten – finde ich zwar durchaus Hinweise im Netz, daß es die 32-GB-Grenze hätte, aber wenn diese hier relevant wäre, dürften auch größere Festplatten nicht oder nicht in voller Größe erkannt werden. Oder?
- Ein Wechsel des IDE-Kabels hilft auch nicht: Die Festplatten werden weiterhin nicht erkannt.
Und selbst wenn die 32-GB-Grenze gelten würde: Sobald Linux übernimmt, sollte das, was das BIOS kann, eigentlich kein Thema mehr sein, oder? Und zwar egal, ob die Platte 40, 80, 120, 160 oder 250 GB oder noch mehr kann. Es gibt aus meiner Sicht keinen logischen Grund dafür, daß das BIOS Platten mit einer bestimmten Größe überhaupt nicht erkennen kann – und größere dann doch wieder. Logisch wäre es, wenn dann auch größere Platten nicht erkannt werden könnten.
Ich wollte es denn doch nochmal ganz genau wissen. Also jumperte ich eine der Platten um auf „32-GB-Clip“. Und ich dachte, mich laust der Affe (RW): Sie wurde vom BIOS erkannt. Allerdings wohl nur vom BIOS: Linux will von einem Gerät am Secondary IDE nichts wissen …
Logic fails me.
Die insgesamt 12 40-GB-IDE-Platten lege ich dann mal zurück, bis ich sie an einem anderen Mainboard testen kann. Beinahe hätte ich sie wegen dieses Problems zum Sperrmüll gegeben …
20. Oktober 2020 at 10:20
Oje, lang lang ist es her …
Deine 40 GB Grenze ist in Fakt die 32 GB Grenze, je nach dem ob du mit 1000 oder 1024 rechnest!
Altes BIOS mit Cylinder/Head/Sector Adressierung:
max 1023 Cyl, max 255 Head, max 63 Sec, SecSize 512 Byte
1023 * 255 * 63 * 512 dann hast du die Größe in Byte, rechne um in MB oder GB dann hast du deine Grenze.
Manche alte BIOS hatten eine gesondert einschaltbare LBA Funktion. Für Linux immer auf EIN stellen, sonst wird Platte beim Start in die C/H/S Adressierung geschaltet. Aus Sicherheitsgründen *darf* Linux die Adressierung dann nicht in LBA umschalten, sonst zerrupft es die Partitionierung.
Mein Tip (sofern du noch so alte Hardware am Start haben willst) und BIOS LBA Funktion nicht kann:
Kleines Boot Device (kleiner als die 40 GB), alle anderen Platten im BIOS abmelden, dann vom Boot Device Linux Kernel starten … Linux sollte dann die restlichen Platten finden und da nicht durch BIOS blockiert im LBA Modus ansprechen.
21. Oktober 2020 at 16:29
@SackohneSenf: Wie gesagt, der Witz ist ja, daß größere Platten – bis zu 250 GB! – erkannt und vollständig angesprochen werden konnten. Nur die Platten mit 40 GB Kapazität hatten dieses Problem.
Aber stimmt, CHS hätte ich mal umrechnen können.
Andererseits: Ist es nicht so, daß die größeren Platten ein Standard-CHS übermitteln, so daß die Erkennung als solche funktioniert, aber das OS bei Übernahme der Information die Platte nochmal direkt fragt, wie sie wirklich „aussieht“? Oder waren die Platten mit 40 GB HDD, die an der Grenze sind, dazu gerade noch nicht in der Lage?
Was ich später noch hatte: eine 120-GB-HDD, die scheinbar vom BIOS erkannt wurde, aber vom Linux nicht. Da gab es einfach kein /dev/sdb. Die hab ich auch mal noch zum Test an einem anderen Board zurückgelegt.
23. Oktober 2020 at 6:32
Ich bin etwas unsicher, weil schon so lange her. Meines Wissens nach gibt es / gab es drei Adressierungsarten:
1. C/H/S – kam noch von vor IDE Ära und dann die ersten IDE Platten, die zusätzlich den LBA Modus schon kannten
2. direkte Ansprache im LBA Modus (hatte aber den Nachteil, dass bei falschen CHS-Einträgen die Partitionierung komplett durcheinander kam.
3. … und drum hat man in die IDE Platten so ab der Größe 150 – 200 GB rum, einen Emulationsmodus eingebaut. Die Platten haben dann die erhaltene Adressierung in die intern genutzte tatsächliche Adresse selbst umgerechnet. Gleichzeitig hat man das genutzt, um auf den längeren Spuren mehr Sektoren unter zu bringen (nicht lineare Adressierung). Das ist der heutige Standard Modus (das was die meisten unter LBA verstehen).
Bei IDE Platten gibt es also drei Bereiche die je nach BIOS unterschiedlich Ärger bereiten können:
1. Die anfängliche IDE Ära bis zur 32 GB (CHS) Grenze (denk dran, das ist deine 40 GB Grenze)
2. Die kurze Zeit genutzte reine LBA Adressierung, die man meist nur nutzen konnte, wenn das BIOS den Modus unterstützt hat und einen speziellen CHS Eintrag dafür bereit gestellt hat. Das war die Ära in der einfach nicht jede Platte an jedem Board laufen wollte … fluchen hin oder her!
3. Den danach etablierten Emulationsmodus, der so ab 150 bis 200 GB bei den IDE Platten eingeführt wurde.
Achtung das gilt nur für 3,5″ IDE Platten und größer, die ersten 2,5″ IDE Platten kamen in der Regel bereits mit dem Emulationsmodus in den Handel (keine Ahnung ob es da Modelle gab, die gezickt haben).