Autor Thema: Anzahl der Festplatten bestimmen  (Gelesen 8002 mal)

[MM]

  • Beiträge: 130
    • Profil anzeigen
    • www.mmcoding.eu
Gespeichert
« am: 04. September 2005, 16:58 »
Hallo, um die Anzahl der installierten Floppy Disks zu bestimmen gibt es ja netter Weise den Interrupt 0x11, aber wie kann ich herausfinden, wie viele Hard Disks angeschlossen sind?
Gibt es da auch einen solchen netten Bios-Interrupt, oder muss ich wirklich auf verdacht versuchen den Status von Laufwerk 0x80 und 0x81 zu lesen um aus dem Fehlercode meine Schlüsse zu ziehen?

MM

DarkThing

  • Beiträge: 652
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 05. September 2005, 14:49 »
Diese Information kann man aus dem CMOS lesen.
CMOS-Werte werden so gelesen:

out 0x70, Adresse
in 0x71, Ergebnis

Die entsprechende Adresse ist für die erste Festplatte 0x11 und für die 2. 0x12. So bekommt die "Festplattenart", ka was genau das heißt aber vermutlich bedeutet 0 als Ergebnis, dass diese HDD nicht vorhanden ist.

[MM]

  • Beiträge: 130
    • Profil anzeigen
    • www.mmcoding.eu
Gespeichert
« Antwort #2 am: 05. September 2005, 22:57 »
Ich nicht finden.
Ich denke mal, du meintest http://osdev.org/ aber deren Auswahl an HowTos ist, naja, sehr begrenzt...
Und in deren Forum habe ich auch nichts gefunden.
Könntest du mir also nochmal einen Tip geben?

MM

hannibal

  • Host
  • Beiträge: 400
    • Profil anzeigen
    • brainsware - the rock.
Gespeichert
« Antwort #3 am: 05. September 2005, 23:33 »
Zitat von: T0ast3r
CMOS wird von BIOPS verwaltet!
Hallo?
Windows hat eigene Einstellungen!
Seit Windows 98!
Und genau deswegen werden normalerweise die Sachen nicht mehr selbst in den CMOs RAM eingefügt, das ist nun aufgabe des OSes.
Windows Longhorn z. B. sucht nach allem bei der installation, also eine hardware erkennung.
außerdem gibt es für festplatten den command Drive Diagnostic!
Also schau mal bei dieser englichen os devel seite rein!
steht link im ll unter links!
musst suchen!
und wenn du nicht finden, mich kontaktieren!


was denkst du wohl wo windows nachsieht?! :)
im uebrigen will er glaube ich sein eigenes betriebssystem entwickeln und nicht windows ..
\\o
o//
\o/

[MM]

  • Beiträge: 130
    • Profil anzeigen
    • www.mmcoding.eu
Gespeichert
« Antwort #4 am: 06. September 2005, 00:03 »
Laß uns einfach sagen, ich will wissen wieviele Festplatten installiert sind, und das ohne das irgend ein System läuft.
Und das mit dem auslesen aus dem CMOS, ist das nicht etwas unsicher, da Herstellergebunden:
http://www-user.tu-chemnitz.de/~mad/BiosKompendium/isicmos.htm
Die Adresse 11h ist es offenbar  nur für IBM-PS/2 bei AMI und AWARD stehen an der Stelle ganz andere Daten.
Mich würde viel mehr eine Möglichkeit interessieren, die überall geht.

MM

hannibal

  • Host
  • Beiträge: 400
    • Profil anzeigen
    • brainsware - the rock.
Gespeichert
« Antwort #5 am: 06. September 2005, 00:27 »
ich hab jetzt auf die schnell leider nix dafuer gefunden, aber du kannst doch probieren, ob du per ports auf die festplatte zugreifen kannst, daraus eine schleife machen und schaun wieviele festplatten du hast...aber ich bin mir sicher es gibt eine elegantere methode ;)
\\o
o//
\o/

DarkThing

  • Beiträge: 652
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 06. September 2005, 13:40 »
Ich hab das ganze von http://www.webhochhaus.de/tobias/hw_cmos.htm Vermutlich gibt es auch einen BIOS-Interrupt dafür, der aber auch nur da (oder an einer anderen Adresse) lesen wird.

hannibal

  • Host
  • Beiträge: 400
    • Profil anzeigen
    • brainsware - the rock.
Gespeichert
« Antwort #7 am: 07. September 2005, 14:59 »
Zitat von: T0ast3r

@hanniball: Ab WINDOWS 98 ist das nicht mehr der FALL!
DAS IST FAKT!
NEHM DIR z. B. WINDOWS LONGHORN als Beispiel vor:
Bei dem Setup machts ne Hardwareerkennung, aber nicht zum Spaß!
(ich weiß ja nicht obst du schon windows Longhorn in den Händen hast)
Longhorn = eXPedition


die hardwareerkennung ist natuerlich nicht zum spass, aber wo soll denn windows sonst die daten hernehmen, wenn nicht aus dem cmos speicher, oder einfach die ports abklappern? ich denke nicht, dass windows zaubern kann. ;)
\\o
o//
\o/

SSJ7Gohan

  • Beiträge: 398
    • Profil anzeigen
Gespeichert
« Antwort #8 am: 07. September 2005, 20:27 »
@Toaster
die hardwareerkennung ist natuerlich nicht zum spass, aber wo soll denn windows sonst die daten hernehmen, wenn nicht aus dem cmos speicher, oder einfach die ports abklappern? ich denke nicht, dass windows zaubern kann. Winken
Dann benutzt Windows halt Ports für die Hardwareerkennung. Eines von beiden MUSS es aber nutzen, eine andere Möglichkeit gibt es nicht.

Das CMOS wird aber trotzdem noch für Informationen wie Datum und Uhrzeit und evt. für die RTC gebraucht.

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #9 am: 07. September 2005, 20:46 »
Zitat von: T0ast3r
DOCH!
HOL DIR WINDOWS LONGHORN UND SIEH NACH!!!!!!!!!!!!!!!!

Musst du hier so rumschreien? Außerdem möchte ich mich um Longhorn/Vista drücken, solange es möglich ist.

Ein Betriebssystem ohne Hardwareerkennung ist Mist. Ich würde (werde?) mein OS bei moderaten Anforderungen halten (386 nicht unbedingt, aber nen 486er sollte schon hinkommen). Und bei nPnP-Devices ist eine Hardwareerkennung sehr wichtig - oder man macht es wie Linux und lässt den Benutzer selbst erklären, was für Hardware er hat.

Wahrscheinlich - und das wäre eine Idee für Lost - sollte die Hardwareerkennung nicht allumfassend sein, sondern eine Erkennung einzelner Komponenten. Also Erkennung für Laufwerke, Chips, PnP-Devices(!) und so weiter.

CMOS-RAM abfragen fände ich eine miese Idee, besser ist es da schon, ein ATA(PI) Command zu schicken und das Resultat auszuwerten.

Svenska

hannibal

  • Host
  • Beiträge: 400
    • Profil anzeigen
    • brainsware - the rock.
Gespeichert
« Antwort #10 am: 10. September 2005, 00:55 »
Zitat von: T0ast3r
Ich schrei nicht rum, bzw. will ich nicht rumschreien.
Ich kann euch nur sagen: Longhorn ist ur coool!  :P


jaja..longhorn ist auch sicher ein supertolles betriebssystem, nur nuetzt es nichts sich auf ein closed-source produkt zu beziehen, wenn man was davon lernen will :P
\\o
o//
\o/

 

Einloggen