Jump to content

- - - - -

StorAhci V1.0 SATA AHCI Controller Driver for Windows 2003 Server SP1 and SP2

storahci sata ahci controller driver windows 2003 server

  • Please log in to reply
1 reply to this topic

#1 schtrom



  • Members
  • 18 posts

Posted 28 September 2020 - 12:53 PM

Download-Link: https://sourceforge....r-windows-2003/


Today we present the new SATA AHCI Controller driver StorAhci version 1.0. StorAhci is based on Microsoft's storahci sample driver for Windows 8 and was changed to support Windows Server 2003 SP1 and SP2 with out of the box storport.sys driver. In addition we added a txtsetup.oem file to load it from a driver floppy disk at the F6 text setup stage. StorAhci is a universal SATA AHCI Controller driver for use with AMD, Intel and any other chipsets.

A special thank goes out to Skulltrail192 for his One-Core-API storahci driver, which was an inspiration for me to port the driver to Windows Server 2003.

How we build the StorAhci driver

We use the source files from the original WDK 8 StorAhci driver sample, which is freely available from Microsoft. The include files are taken from WDK 8 version 8.59.29757. To compile the Windows 2003 compatible driver we use DDK version 7600.16385.1. Our intention was to apply the smallest possible changes to the original code to prevent bugs. We have changed the following things to make the driver work for Windows 2003 Server:

  • added INF and txtsetup.oem file to install the driver
  • added makefile and sources file to compile the driver
  • changed resource file
  • added StorPortPatch header and code file with a few necessary StorPort functions and replaced the function StorPortExtendedFunction
  • changed very important code sections like follows:
  • size of HW_INITIALIZATION_DATA corrected to comply with storport.sys
  • blocked read and write access beyond the end of the structure     PORT_CONFIGURATION_INFORMATION
  • setup physical address for ReadLogExtPageDataPhysicalAddress correctly
  • PREfast and SAL (source code annotation language) changes to make the code compatible with the DDK version 7600.16385.1
  • fixed PREfast and SAL warnings and errors


Which operating systems are supported?

StorAhci is build for Windows 2003 Server with Service Pack 1 and Service Pack 2 in both the x86 and the x64 editions. The driver does not work on Windows 2003 Server without Service Pack, because StorPortNotification inside storport.sys does not support the needed notification types. The driver was only tested on Windows 2003 Server with Service Pack 1 and 2, because starting with Windows Vista Microsoft includes a SATA AHCI driver on the installation media.

Kai Schtrom


#2 danshin

  • Members
  • 1 posts
    Abu Dhabi

Posted 03 October 2020 - 03:21 PM



Thank you very much for a proper porting of the Win8 AHCI driver.

For now, I've tried your driver on VM only, works just fine. Will try it on real hardware soon.


What is so special for the Win8 driver, that it needs your own AllocatePool / FreePool replacements? Even the Win7 ported storport.sys requires them. I'm just curious about this.


If possible, could you please "merge" the InitializeTimer and FreeTimer found in storpor8.c of NTOSKRNL_Emu (https://github.com/M...AD/NTOSKRNL_Emu)? Tried to do it myself, but is not easy as I'm still learning.

Also tagged with one or more of these keywords: storahci, sata, ahci, controller, driver, windows, 2003, server

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users