( vl | 2023. 08. 02., sze – 21:38 )

meg megnézi, hogy a BIOS drivekód 80h-e, és ha igen, akkor elérhető-e a port (ha FFh-t olvas a státuszportról, akkor úgy veszi, nincs). Ha minden oké, akkor direkt ATA, ha ezek közül bármi nem teljesül, akkor fallbackel INT 13h-ra.

Szerintem a logikád hibás. Semmi nem garantálja, hogy ha létezik az első IDE port, akkor az INT 13h 80h diszk az pont ezzel esik egybe. Ha mondjuk egy szép régi (mondjuk Adaptec 2940) SCSI kártya is van a gépben, bekonfigurálva bootolható diszkkel, meg egy classic IDE kártya is van a gépben, rajta egy IDE diszkkel, akkor a BIOS 80h diszk attól függően lesz az egyik vagy a másik, hogy az Adaptec BIOS-ában hogyan állítottad be (róla akarsz-e bootolni vagy sem).

De későbbi generációs alaplapok (olyan 2000-2010 magasságában), ahol több IDE kontroller is volt az alaplapra ráintegrálva, tudtak olyat, hogy a BIOS diszk boot sorrendet BIOS-ban lehetett felülbírálni. Ilyenkor a HW nem változott (azaz az IDE kontrollerek pont ugyanazon a címen maradtak), viszont hogy melyik a 80h a BIOS szerint, az változott a beállításoktól függően. Így megeshetett, hogy az első IDE kontroller címén elérhető első diszk nem pont a 80h volt.

Általában de, a hw-s RAID kártyák mind emulálják. Muszáj nekik, ettől lesznek hw-s RAID-ek. SCSI-ban nem vagyok biztos, olyant kb. 20 éve használtam utoljára.

Már miért lenne muszáj nekik? Ott a BIOS extension a kártyán, berakja magát az INT 13h-ra, aztán lesznek szívesek a boot loaderek azt használni. A DOS eleve az INT 13h-t használta, rendes modern OS alatt pedig amúgy is használhatatlan lenne egy ilyen IDE emuláció, ott nem nélkülözhető a rendes driver amúgy sem.

egyébként nem valószínű, hogy régi BIOS-os gépeken tényleg találsz NVME-t

Egy komplett "tick-tock" CPU generáció (Gen6 Skylake/Gen7 Kaby Lake) alaplapjain ott figyelnek az M.2 slotok, és a Gen8-ig nem volt szokásos az UEFI-only bootolás belső diszkről. Szóval de, vagy 2 éven át ez volt a helyzet.