星期日, 三月 17, 2013

强制Windows XP硬盘IDE控制器运行DMA模式


前几天电脑速度突然变慢,找了许久不见原因,又不太想重装。无意发现硬盘运行时CPU占用50%(双核,一个核占满),去设备管理器检查确认硬盘运行于PIO模式,但是直接在设备管理器中修改不管用,Google知需要修改注册表,主要项目和其对应关系为:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}
000 - IDE控制器本身
001 - 主通道
002 - 从通道
需要修改的项目在001或者002下,根据主板上硬盘挂载口不同选择,主要项目是MasterDeviceTimingMode/MasterDeviceTimingModeAllowed/SecondaryDeviceTimingMode/SecondaryDeviceTimingModeAllowed这四项,其中Master和Slave各对应两项,内容含义为(十六进制):
UDMA 6 (Ultra ATA 133) = 10010
UDMA 5 (Ultra ATA 100) = 10010
UDMA 4 (Ultra ATA 66) = 8010
UDMA 3 = 6010
UDMA 2 = 2010
PIO Only = 10
Multi-word DMA Mode 2 = 410 (For most burners)
Multi-word DMA Mode 1 = 210
因为这台电脑的硬盘是支持DMA100的,而且连接在主通道Master接口上,所以将001下的MasterDeviceTimingMode/MasterDeviceTimingModeAllowed改为10010,重新启动电脑,检查设备管理器,硬盘传输模式重新变为DMA100,电脑速度也恢复正常。
根据MS官方的说法,Windows在硬盘传输过程中如果发生多次数据校验错误会自动把硬盘降一个档次使用,从DMA变为PIO方式。所以,如果发生这种情况,应该检查硬盘数据线是否正常,如果更换不能解决,应该考虑备份数据,可能需要换硬盘。

没有评论: