Suport AHCI în Windows 95/98/ME? Da, se poate!

June 12, 2020

AHCI vine de la Advanced Host Controller Interface și este un standard creat de Intel pentru implementarea bus-ul SATA. (de la Serial-ATA) Primele plăci de bază cu SATA au apărut în anul 2003, când Windows XP era în plină expansiune, dar și epoca în care Windows 9x/ME încă aveau un cuvânt de spus, drept dovadă Microsoft a fost nevoită să le prelungească suportul cu doi ani până în iulie 2006.

Placă de baza socket A cu chipset VIA KT600 si interfață SATA 150.

În mod firesc, sistemele de operare lansate înainte de apariția AHCI/SATA nu oferă suport nativ pentru acest standard. În aceste condiții interfața AHCI a fost gândită să emuleze standardele deja implementate – respectiv standardul PATA, cunoscut și sub denumirea de IDE. (deși din dpdv tehnic se poate nuanța)

Așadar, atunci când ne-am cumpărat primul hard disk SATA cel mai probabil l-am folosit în modul compatibil IDE. Adică hard disk-ul nostru a fost controlat de sistemul de operare folosind același rutine ca și la hard disk-urile mai vechi pe care le conectam cu acea panglică lată pe placa de bază. Cu alte cuvinte, cabluri diferite – dar același protocol.

AHCI în Windows 9x

Avem vești bune! Compatibilitatea standardului AHCI nu se limitează doar la posibilitatea de a rula în modul PATA. Standardul AHCI oferă suport pentru controlul hard disk-ului prin BIOS, folosind int 13h. Asta înseamna că vom putea folosi standardul AHCI împreună cu versiunile antice de DOS din anii ’80, respectiv vom putea accesa hard disk-ul și din toate versiunile de Windows care se bazează pe DOS: Windows 1x, 2x, 3x, 95, 98 & Me.

Atunci când sistemul de operare se bazează exclusiv pe BIOS pentru a controla hard disk-ul vom avea parte de o rată de transfer va fi limitată. Cât de limitată? De câțiva MB/s. Am obținut maxim 10MB/s pe o placa de bază X470. În practică, nu prea mai contează această viteză limitată în condițiile în care folosim un SSD și un sistem de operare/programe mai vechi care oricum lucrează cu fișiere de mici dimensiuni. Un sistem de operare precum Windows 98 se va încărca sub 10 secunde. Nu vom simți o nevoie acută de o viteză mai mare, decât atunci când lucrăm cu fișiere de mari dimensiuni.

Și totuși, cum ar fi să avem suport AHCI și în Windows 9x și, astfel, să avem rate de transfer de zeci de mega pe secundă?

Viteze de 90MB/s la scriere din Windows 98SE folosind AHCI patch by R. Loew

Ei bine, acest lucru este posibil datorită lui R. Loew (1952-1919) care a conceput drivere AHCI pentru Windows 9x. Pînă în anul 2019 acestea nu au fost distribuite ca software gratuit, ci puteau fi achiziționate de la autor contra $20. În 2019, după ce R. Loew a trecut în neființă, familia a pus gratuit aceste drivere la dispoziția publicului în mod gratuit. Pot fi găsite pe archive.org sau chiar la sfârșitul articolului.

Cum instalăm AHCI Patch?

De ce avem nevoie?

DOS
Windows 95, 98, 98SE or ME.
AHCI capable Motherboard and/or Card(s).

Conținut pachet:

AHCI.PDR AHCI Driver
AHCI4.INF 4 Port Driver INF File
AHCI6.INF 6 Port Driver INF File
AHCILDR.COM BIOS Replacement for older AHCI implementations
AHCIMAP.COM AHCI Disk Driver Mapper
README.TXT This File
LICENSE.TXT License File
HISTORY.TXT Revision History

Așadar, avem două fișiere .inf: ahci4.inf pentru plăcile de bază cu 4 porturi SATA și ahci6.inf. Putem folosi ahcimap.com pentru a determina câte porturi avem la dispoziție. Nu încele din urmă, avem și fișierul ahci.pdr care este driverul în sine. Dacă lucrurile merg prost după instalare, putem șterge redenumi acest fișier și Windows-ul va reveni fără nicio altă setare la starea anterioară, conectarea prin BIOS. Fișierul AHCILDR.COM e doar pentru situații de urgență, când avem un controller SATA mai vechi și după ce instalăm patch-ul Windows va da o eroare. Acesta trebuie chemat la dotorie prin introducerea unei linii suplimentare in autoexec.bat: C:\adresă\ahcildr.com, unde adresă e folderul în care l-am descărcat.

Porturile SATA vor fi văzute în Windows 9x ca un „PCI Card”. (cu semn de exclamare galben în Control Panel/Device manager)

Pentru a instala driverele vom face click pe toate device-urile „PCI Card” necunoscute, vom selecta „Update Driver” și vom indica drept locație pentru drivere folderul cu fișierele de mai sus, de unde selectăm ahci4.inf sau ahci6.inf. Nu deranjăm alte device-uri care nu au drivere dar sunt recunoscute drept „Ethernet Controller” sau „Multimedia Audio Device” pentru că este evident că nu acolo se ascunde controller-ul nostru SATA.

Autorul ne indică să repetăm mișcare pentru toate device-urile PCI necunoscute, deoarece în funcție de câte drive-uri avem conectate, este posibil ca BIOS-ul să raporteze mai multe porturi AHCI.

SATA patch

Deși suportul pentru AHCI a fost instalat și vom avea viteze mari de copiere, Windows încă nu e convins că sistemul nostru a renunțat la accesul prin BIOS și va raporta că funcționează tot în „compatibility mode”. Pentru a rezolva și acest ultim aspect, trebuie să mai instalăm un patch tot de la R. Loew. Acest patch va modifica fișierul esdi_506.pdr astfel încât să se înțeleagă cu interfața AHCI.

După acest ultim pas, SSD-urile noastre vor fi listate în Control Panel iar Windows va raporta ca este optimizat pentru performanță maximă. Mulțumiri, R. Loew!

DOWNLOAD:

Comentarii

Nelamuriri? Intrebari?

Intreaba sau cauta raspunsul la sectiunea de intrebari si raspunsuri.