So, I'm pretty anal about keeping my systems free of unneeded drivers. I am running Windows 7 Ultimate 64Bit on everything in the house now. I just upgraded the Office PC after replacing the motherboard, processor and RAM and adding a new HDD. See sig for specs of all systems.
One driver that I've had difficulty removing on all the systems is the "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_MSAHCI" entry.
If you install Windows with AHCI enabled and don't provide 3rd Party Drivers using F6 during the install, you get the msahci.sys driver installed. After you update to your chipset manufacturer's specific AHCI/SATA drivers, msahci.sys still loads and you can find it in Device Manager under the "Non-Plug and Play Drivers" section when you choose to Show Hidden Devices.
Uninstalling it from there does not work because it comes back on the next boot, nor does disabling the msahci Service located at "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci". In order to disable it, you need to set the "Start" value to "3", Hex or Decimal, as both are the same for that particular value.
You have to delete the Enum/Root/LEGACY_MSAHCI key to get rid of it AND disable the Service. However, you cannot simply fire up regedit and delete the entry. You have to right-click the entry, select Permissions, click Advanced, select the Owner tab, select your name, click "Replace owner on subcontainers and objects", then click Ok, then select the Everyone group and then check the Full Control checkbox and then finally click Ok. Sheesh!
Once you've done all that, you can empty or delete the Key, reboot and msahci.sys no longer loads. If you ever need to re-enable the msahci driver, you can simply enable the msahci Service entry again in the registry and the Legacy key will get recreated. To enable the msahci service, set the "Start" value to "0".
Why am I telling you all of this? Well, since disabling the msachi driver, I've noticed quantifiable performance improvements with disk operations. Copying disk-to-disk is faster with measurable performance differences using Resource Monitor. The Disk spends more Active time at 80-100% than before and throughput is greatly increased. When doing disk-to-disk xfers, Explorer wouldn't always show the correct number of files or the actual size of the folder(s) being copied. This is no longer an issue.
Boot times are shorter as well, with the system being "ready to go", more quickly and programs launch faster after a fresh boot than they used to. The disk seems to spend less time "getting ready" than before. I tested this on 3 systems here at the house, all of them AMD based with either the SB750 or SB850 Southbridges. I am using the AMD Sata drivers from Catalyst 10.7.
A way to avoid this scenario possibly is to use the "F6" method during the installation of Windows. However, if you aren't using the "Standard AHCI 1.0 Serial ATA Controller" driver and for some reason msahci.sys is still loading, you should consider disabling it.
Hope you find this useful.
Peace.
IMPORTANT: For those reading this, make SURE you are using 3rd Party AHCI/SATA drivers BEFORE you remove or disable the msahci driver and Service!!! If you aren't absolutely sure, DON'T DO THIS! Removing these entries will make your system NON-BOOTABLE AND WILL CAUSE A BSOD ERROR OF 0X0000007b. Here is detailed information and troubleshooting for that error: Link
One driver that I've had difficulty removing on all the systems is the "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_MSAHCI" entry.
If you install Windows with AHCI enabled and don't provide 3rd Party Drivers using F6 during the install, you get the msahci.sys driver installed. After you update to your chipset manufacturer's specific AHCI/SATA drivers, msahci.sys still loads and you can find it in Device Manager under the "Non-Plug and Play Drivers" section when you choose to Show Hidden Devices.
Uninstalling it from there does not work because it comes back on the next boot, nor does disabling the msahci Service located at "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci". In order to disable it, you need to set the "Start" value to "3", Hex or Decimal, as both are the same for that particular value.
You have to delete the Enum/Root/LEGACY_MSAHCI key to get rid of it AND disable the Service. However, you cannot simply fire up regedit and delete the entry. You have to right-click the entry, select Permissions, click Advanced, select the Owner tab, select your name, click "Replace owner on subcontainers and objects", then click Ok, then select the Everyone group and then check the Full Control checkbox and then finally click Ok. Sheesh!
Once you've done all that, you can empty or delete the Key, reboot and msahci.sys no longer loads. If you ever need to re-enable the msahci driver, you can simply enable the msahci Service entry again in the registry and the Legacy key will get recreated. To enable the msahci service, set the "Start" value to "0".
Why am I telling you all of this? Well, since disabling the msachi driver, I've noticed quantifiable performance improvements with disk operations. Copying disk-to-disk is faster with measurable performance differences using Resource Monitor. The Disk spends more Active time at 80-100% than before and throughput is greatly increased. When doing disk-to-disk xfers, Explorer wouldn't always show the correct number of files or the actual size of the folder(s) being copied. This is no longer an issue.
Boot times are shorter as well, with the system being "ready to go", more quickly and programs launch faster after a fresh boot than they used to. The disk seems to spend less time "getting ready" than before. I tested this on 3 systems here at the house, all of them AMD based with either the SB750 or SB850 Southbridges. I am using the AMD Sata drivers from Catalyst 10.7.
A way to avoid this scenario possibly is to use the "F6" method during the installation of Windows. However, if you aren't using the "Standard AHCI 1.0 Serial ATA Controller" driver and for some reason msahci.sys is still loading, you should consider disabling it.
Hope you find this useful.
Peace.
IMPORTANT: For those reading this, make SURE you are using 3rd Party AHCI/SATA drivers BEFORE you remove or disable the msahci driver and Service!!! If you aren't absolutely sure, DON'T DO THIS! Removing these entries will make your system NON-BOOTABLE AND WILL CAUSE A BSOD ERROR OF 0X0000007b. Here is detailed information and troubleshooting for that error: Link
Comment