如何在Windows XP中启用AHCI,而无需重新安装


15

这个问题是我在安装新的SSD驱动器之前需要做的很多事情的一部分,但是我认为这是值得回答的问题。

当前设置:一台双启动计算机,在SATA 6Gbps HDD上安装了Windows XP。BIOS始终以IDE模式配置。因此,如果我尝试在BIOS中更改为AHCI,因为Windows没有AHCI驱动程序,它将无法启动。

我已经知道可以重新安装整个操作系统。但是,如果可能的话,我想启用AHCI,而无需重新安装。

  • 在Windows中可以一次将驱动程序更改为AHCI吗?(例如,使用设备管理器)。如果可能的话,在仍然以IDE模式进入BIOS的同时更改驱动程序时,操作系统是否会崩溃?

  • 如果没有,是否可以使用Windows磁盘进行部分修复来安装它?如果存在这种方法,我当前的设置和应用程序将保持不变吗?

提前致谢。

更新
我的南桥是Intel(r)ICH10R。我的主板光盘中已经有正确的驱动程序。请注意,驱动程序对于32位和64位OS是不同的,因此选择正确的驱动程序很重要。这些文件称为“ iaStor.inf”和“ iaAHCI.inf”。


1
嗯?不必如此敌对。这是一种常见且可靠的方法(看来,除了nForce之外):安装SATA控制器/芯片组制造商的SATA驱动程序,该驱动程序提供AHCI / RAID支持。有一个类似的问题,可通过安装主板制造商的相应SATA(AHCI / RAID)驱动程序来解决。您甚至没有提供主板型号。再一次,没有必要如此敌对,我们只是因为希望/喜欢而有所帮助
鲍勃

1
实际上,维基百科:较早版本的操作系统需要特定于硬件的驱动程序才能支持AHCI。Windows XP不提供开箱即用的支持。换句话说,唯一的方法是安装第三方驱动程序。
鲍勃2012年

1
??鲍勃发布的链接正是您所要的:亲身经历过将AHCI驱动程序安装到现有XP安装中的人。
史蒂夫·贝内特

1
据我所知,这些“注册表黑客”是安装相同的SATA AHCI / RAID驱动程序的另一种方法(坦率地说,是愚蠢的)。其中许多人使用Intel芯片组,因此使用Intel SATA控制器(内置在芯片组中)iaStor.sys。您为什么不告诉我们您拥有哪种主板型号,而我们却可以告诉您要使用哪种驱动程序。简而言之,Windows XP没有AHCI / RAID驱动程序,您必须安装第三方驱动程序。最常见的是英特尔,因为最常见的控制器是英特尔。
鲍勃

1
@MisterSmith-我必须否决这个问题,直到这个问题完成为止。您提出了一个非常好的问题,但未能进行研究,因此没有发布所需的信息供人们回答您的问题。
Ramhound 2012年

Answers:


13

我将从为什么不修改就不能使用AHCI模式开始。安装Windows后,如果您具有被识别为AHCI / RAID的存储控制器,则仅安装(启用)AHCI / RAID驱动程序。Windows Vista和7通常会(通常)具有驱动程序,但通常会禁用它们。Vista和7带有通用的AHCI驱动程序,并且可能会从控制器制造商处获得更多针对硬件的驱动程序。制造商提供的驱动程序对于'FakeRAID'是必需的。可以通过两个快速,简单的注册表修改来启用通用AHCI驱动程序。

但是,Windows XP没有附带通用的AHCI驱动程序。这意味着没有现成的AHCI支持。原因?英特尔只是在2003年中期(即XP首次发布一年半之后)才发布了AHCI标准的初步规范(甚至还没有完成!)。Microsoft显然不适合将AHCI驱动程序作为Service Pack的一部分包含在内。

主板制造商通常在CD或网站上包含AHCI驱动程序。此驱动程序由存储控制器的制造商提供,通常在具有Intel CPU的系统上为Intel。其他一些候选人是nV​​idia(nForce)和Marvell(在某些AMD主板上)。它们通常不可互换。

安装XP时,可以从软盘(!!!)加载AHCI驱动程序或将其组合到安装CD上。但是,您要将驱动程序添加到现有安装中。

  1. 第一步是确定存储控制器或至少主板芯片组的制造商。通常在主板规格中列出。

  2. 下一步是确保您有可用的系统还原点。系统还原通常可以回滚驱动程序中的更改,从而可以防止在安装驱动程序时出错。

  3. 然后,这完全取决于您的控制器制造商。有许多注册表脚本可以插入正确的注册表项(需要驱动程序文件,并且经常提供下载文件)。由于这是非常具体的,以你所拥有的硬件,你必须提供该信息或者搜索自己(谷歌是一个很好的起点)。

    如果主板制造商提供了专门用于XP的SATA驱动程序安装程序包,请尝试首先安装它。如果它不起作用或未提供,则可能需要手动安装驱动程序。如果他们根本不提供驱动程序,那么您将无能为力。

    就个人而言,我建议您使用非注册方法,如果您可以避免的话。这涉及在设备管理器中选择SATA控制器条目,然后使用“更新驱动程序”选项来选择应从制造商处获取的AHCI / RAID驱动程序。对于Intel,应从安装程序包中手动提取它。有人注意到nVidia在IDE模式下更改了硬件ID,因此该方法可能不适用于nForce芯片组。这完全取决于您的控制器制造商。

是的,我可以互换使用存储控制器,芯片组和主板。控制器通常是芯片组的一部分。特定主板型号上的芯片组(和/或控制器)几乎总是相同的。


3
Nitpick:安装 XP时,无法从CD加载任何驱动程序-驱动程序只能从软盘加载,或者它们必须滑入Windows文本模式安装程序。在Vista和更高版本中进行设置可允许从其他类型的介质(包括USB和光盘驱动器)加载驱动程序。
afrazier 2012年

@感谢扩展的解释。我终于关注了BLAH-BLAH的帖子,并且有效。检查我的答案以获取详细信息。
史密斯先生2012年

@MisterSmith我只是注意到URL看起来如何...狡猾。对于那个很抱歉 :\。从快速浏览看来,这些说明确实是合理的,并且至少确实对您有用。
鲍勃2012年

9

到家后,并且没有对所有XD进行任何备份,我终于完成了工作。

花费不超过10分钟。我的方法基于此博客文章,因此其作者是最值得赞扬的作者。我还要提到Bob,他很快就将此链接发布为评论(对不起,Bob,是的,它有效)。我仍然想发布我遵循的步骤,因为存在一些差异,这可能对其他人有所帮助。

我有一个技嘉板,它附带一个Utility DVD,其中包含AHCI驱动程序。这是我的安装说明:

  1. (此步骤仅适用于技嘉MB所有者。您可以将驱动程序放在其他位置,然后转到#3)。转到\ BootDrv文件夹,然后将文件MSM32.exe复制到USB驱动器或硬盘驱动器分区。对于32位操作系统(Windows XP),这是正确的文件。根据主板手册,它也是Windows Vista 32bit的选择之一。如果您使用的是64位操作系统,请复制MSM64.exe。还有一个名为MSM2k.exe的文件,我想它是Windows 2k的驱动程序,但我猜这里。

  2. 在复制该文件的文件夹中,双击该文件,它会打开一个命令行提示符,要求您确认以提取文件。输入“是”,然后输入。该文件夹中将提取几个文件。这些是实际的驱动力。我们将需要这些文件来告诉设备管理器在哪里搜索驱动程序。打开设备管理器,然后展开“ IDE ATA / ATAPI控制器”节点。以我为例,列出了常规的IDE通道以及几个通用的Intel ICH10 SATA控制器。这些是Windows安装的通用驱动程序,我可以肯定地告诉您它们不起作用(经过测试在BIOS中启用AHCI并尝试加载操作系统会导致蜂鸣和重启)。

  3. 选择一个SATA控制器->右键单击它-> 更新驱动程序 -> 从列表或特定位置安装(高级) ->选中“ 请勿搜索 ”单选按钮,然后单击下一步->单击“ 使用光盘” “->单击“ 浏览 ”按钮,然后从任何位置选择包含驱动程序的文件夹。如果驱动程序位于CD或DVD中,请确保其在根文件夹中不包含AUTORUN.INF文件,因为文件选择器对话框正在查找.INF文件,并且不允许您浏览至子文件夹。

  4. 现在,带有驱动程序的列表至少填充了一个新选项。在这里,我为芯片组(ICH10R)选择了正确的芯片组。Windows显示警告消息。单击是。

  5. 驱动程序已安装,Windows要求重新启动,但尚未重新启动。而是在设备管理器中选择其余的SATA控制器,然后重复#3和#4。

  6. 安装第二个驱动程序后,Windows不会要求重新启动。但是现在是重启的时候了。启动计算机后,请准备好进入BIOS。

  7. 将BIOS(在我的情况下,在“ 集成的外围设备 ”->“ SATA RAID / AHCI模式 ”下)从IDE模式更改为AHCI。这可能会因系统和BIOS而异,并且如果没有AHCI选项可用,甚至可能需要选择RAID。该站点上存在更好的问题,可以更好地解释该主题,因此我不会深入研究。就我而言,有第二种选择,紧随 IDE / AHCI之后,称为“ SATA port0-3纯模式”。“。它已禁用,我启用了它。主板手册中对此选项的解释是DISABLED允许SATA控制器以旧式IDE模式运行,并且应该为不支持纯模式的操作系统(例如Windows)选择它9X / ME)。Windows XP支持纯模式,因此我启用了它。我想更多现代的操作系统也将支持它。保存BIOS并继续启动。

  8. Windows已正确加载。它以新的AHCI模式开始识别现有驱动器,并显示黄色气泡。之后,它要求第二次重启。选择确定以重新启动。

  9. Windows将再次加载,这次一切都应准备就绪。


3

“更新驱动程序”方法不适用于我,但我发现另一种方法也很简单,并且可以保证工作。

在我的电脑上尝试上述方法会使驱动程序在完全更新之前重新启动。我有一个Ivy Bridge(Z77)主板。

所以我做到了

在IDE模式下使用可运行的XP,请执行以下步骤:

  1. 在主板cd上找到Intel RST驱动程序包(如果没有cd,请下载最新版本)。解压缩此文件以获得2个文件iaAHCI.inf和iaStor.sys。

  2. 此处获取注册表文件。阅读他的简短说明,并按说做。然后编辑_07b-AHCI-SATA-forPE.reg文件以添加英特尔7系列AHCI SATA。在记事本中的上一步中打开iaAHCI.inf。复制/粘贴2个旧条目在注册表文件中,并使用iaAHCI.inf中的值修改2个新条目。将修改后的_07b-AHCI-SATA-forPE.reg文件和iaStor.sys(来自步骤1)放到它们自己的文件夹中。

  3. 制作BartPE光盘-下载并安装Bart的PE构建器,并在此处(http://regeditpe.sourceforge.net)获得注册表编辑器PE插件v1.0a 。将您的XP安装CD放在一个文件夹中。它必须具有SP3。您可以使用(http://www.nliteos.com/download.html)上的nLite将SP3压缩到CD中) 如果你需要。不要使用nLite制作或燃烧iso。我们只需要BartPE的补充源即可。运行Bart的PE Builder。在构建器中,选择以XP SP3为源的文件夹,并添加将_07b-AHCI-SATA-forPE.reg和iaAHCI.inf用作自定义文件的源的文件夹,以便它们包含在我们构建的BartPE光盘中。最后,添加通过单击“插件”按钮下载的Registry Editor PE插件。确保启用了注册表编辑器PE插件。现在构建iso,然后将其刻录到空CD。

  4. 用BartPE光盘启动。在Bart PE菜单(在左下角)中,使用注册表编辑器PE加载实际XP系统的注册表。显示消息时,单击确定。然后,在常规的Regedit窗口中,将_07b-AHCI-SATA-forPE.reg文件导入“文件”菜单/“导入...”中,然后将iaStor.sys复制到C:驱动器上的\ windows \ system32 \ drivers文件夹中。2文件应位于BartPE光盘的根文件夹中,既可以位于一个文件夹中,也可以作为单独的文件,这取决于您将它们包含在PE Builder中的方式。

  5. XP安装的注册表已更改并保存,iaStor.sys已复制到它的system32 \ drivers文件夹中。现在,您可以重新启动BIOS并将SATA设置为AHCI模式,然后保存BIOS并重新启动XP安装。XP现在将检测到新硬件并进行安装。请稍候,系统将提示您重新启动。重新启动后,您可以在设备管理器中看到您的SATA设备现在以AHCI模式运行。您可能想立即以常规方式安装Intel RST软件包以从中获取所有软件。全做完了 :)

注意:如果将来需要在RAID中运行SATA,为将来的需要,最好在此过程中包含_07b-RAID-SATA-forPE.reg。您无需编辑该文件,只需将其包含在BartPE中并使用Registry Editor PE导入即可。


2

对于MSI GA-MA790XT-UD4P上的AMD SB750芯片组,我在这里或其他地方找到的某些选项对我不起作用,因此我使用了另一种方法,该方法介于全自动和手动注册表破解之间。

我从MSI网站下载了驱动程序并解压缩了它们。然后,我使用以下命令手动安装了INF文件:

rundll32 setupapi.dll,InstallHinfSection Napa_Inst 132 .\ahcix86.inf

右键单击安装INF无效,因为没有DefaultInstall节,这Napa_Inst是INF文件中的节前缀。安装功能的文档在这里(如果您使用Google,还有其他一些函数调用也可以从CLI安装INF)。这将驱动程序文件复制到System32\Drivers该服务并创建了该服务的注册表项。但是,它在启动时仍然不存在,并导致BSOD。我使用了这些说明的一部分来创建关键设备数据库条目:

HKLM\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#VEN_1002&CC_0106\Service -> "ahcix86" (REG_SZ)
HKLM\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#VEN_1002&CC_0106\ClassGUID -> "{4D36E97B-E325-11CE-BFC1-08002BE10318}" (REG_SZ)

GUID类与INF文件中的值匹配。供应商ID用于AMD(也显示在INF文件中),兼容性代码用于AHCI。根据链接,0104可用于RAID。

然后,Windows会正常启动并检测到新设备,并要求重新启动。现在一切都很好。


0

我有一个带有双启动XP和Windows 7的P5GD1 Pro(ASus)主板。经过数小时的互联网搜索,我发现最简单的方法是通过反复试验和重新安装映像,但是,有一种更简单的方法。如果您安装了可以在Google上搜索到的CPU Z(cpuid),它将在主板上告诉您南桥版本。然后,您可以从此信息中识别驱动程序。

您需要南桥版本,因为通过设备管理器通过ata存储控制器的更新驱动程序安装驱动程序时,它将为您提供许多版本...如果选择错误的版本,您可能会发现自己无法启动和必须像我一样重新安装您的映像...

对我而言,P5GD1 Pro(以及可能的其他任何主板)使用的程序是使用驱动程序光盘上的intel AHCI文件夹(如果找不到,可以在google或82801FB驱动程序上找到),然后简单地更新驱动程序在设备中管理ATA存储控制器。选择安装光盘并浏览以获取Intel或任何版本的驱动程序文件,然后选择与南桥版本匹配的驱动程序以获取CPUZ中指示的版本。使用CPUZ来识别您的南桥将使您免于做我做的事情,而又难以找到困难的方法。然后重新启动哪个窗口将要求yu执行任何操作,输入BIOS并为IDE配置启用AHCI。然后,它应该启动并安装光盘,然后要求重新启动。

另外请注意,如果更新到固态驱动器,这会将您的速度提高到以前的速度的1/3 ...

确定驱动程序后,只需5分钟即可完成。要确定哪个芯片组,可以使用CPUID(CPU Z)或其他一些系统信息程序,并确定您的南桥版本。


0

在现有的Windows XP安装上启用AHCI。

  1. 从主板制造商处下载Intel Sata RAID / AHCI存储驱动程序软盘(在Windows安装F6时使用),并将文件解压缩到HD上的目录中。

  2. 在设备管理器中,更改现有的IDE ATA / ATAPI控制器:

    一种。打开IDE ATA / ATAPI控制器(单击+)
    。右键单击列出的第一个英特尔控制器
    。选择“更新驱动程序...”
    。选择“否,这次不行,从列表或特定位置安装(高级)”
    e。选择“不要搜索。我将选择要安装的驱动程序”
    。选择“标准双通道PCI IDE控制器”,然后单击“下一步”(不要重新启动)
    。重复步骤c。到F。对于第二个控制器

  3. 重启。

  4. 在设备管理器中,更新现有IDE ATA / ATAPI控制器的驱动程序:

    一种。打开IDE ATA / ATAPI控制器(单击+)
    。右键单击第一个标准双通道PCI IDE控制器
    c。选择“更新驱动程序...”
    。选择“否,这次不行,从列表或特定位置安装(高级)”
    e。选择“不要搜索。我将选择要安装的驱动程序”
    。单击“从磁盘安装”,然后浏览到带有AHCI驱动程序的目录
    g。选择iaAHCI.inf,然后单击“下一步”
    。忽略任何警告并重新启动

    (如果出现蓝屏,并且在这些步骤中系统重新引导,请对第二个控制器重复这些操作)

  5. 重启

  6. 输入系统BIOS,并将控制器更改为AHCI并保存。

您的系统现在应该在AHCI模式下运行。

可能您可以安装Intel Matrix Storage Manager。尽管我不确定,但它可能会提高性能。


这与接受的答案有何不同?
UnclickableCharacter16年

-1

如果要从XP SP3磁盘进行安装/维修(至少:如果SP2有效,则为dunno),则可以F5在提示您按时按,以强制支持AHCI F6。选择基于“ 486”的系统,一切顺利。


1
显然这不起作用。
toriningen
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.