硬盘DMA模式被改为PIO的解决方法

2012-7-7 王健宇 转载

大家都知道,硬盘必须打开DMA模式才会跑得快。而开启各种硬件设备的DMA模式的条件,除主板BIOS必须打开DMA支持选项外,Windows操作系统内的IDE设备也要设成正确的DMA模式才行。不过,据说Windows XP若发生多次存取错误(如死机后不正常关机),就会自动把硬盘降为较低速的DMA模式或更慢的PIO模式。这个问题应该如何发现并解决呢?
  近几年来生产的硬盘,大致采用Ultra DMA 33/66/100/133等几种传输模式(目前市场上所能买到的都是DMA100以上的硬盘),数字越大代表数据传输速度越快。一般情况下,Windows XP会根据硬盘本身的技术规格,自动把它设为正确的DMA模式。
  不过根据微软公司公布的一篇技术性文章( http://support.microsoft.com/?kbid=817472)指出,当XP系统发生多次错误后,硬盘的传输模式很可能会被系统自动修改降低。如果你发现硬盘速度突然变慢了,可能就是发生了此问题。下面,笔者告诉你如何强制固定硬盘的DMA模式,不让操作系统修改,从而使你的电脑一直保持在最佳状态。
  1、首先,我们如何才能知道硬盘的DMA模式是否被XP系统修改呢?在桌面“我的电脑”图标上单击鼠标右键,并于随后出现的快捷功能菜单中点选“管理”一项。
2、打开“计算机管理”窗口后,点选左边小窗口的“设备管理器”,然后展开右方小窗口的“IDE ATA/ATAPI控制器”。在“主要IDE通道”一项上双击鼠标左键,弹出“主要IDE通道属性”设置窗口,再切换到“高级设置”标签页,就可以检查XP系统中实际的DMA模式。
其中,“设备0”和“设备1”两栏分别代表IDE排线连接的第一个硬件设备和第二个硬件设备。请大家根据自己硬盘所接的位置来辨别。例如笔者电脑中的“设备0”为硬盘,“设备1”为光驱。如果电脑中的另一条IDE排线还接着另外一个硬盘,则请检查“次要IDE通道”的内容。
  至于“当前传送模式”一栏中的代号,分别为:“模式0(DMA)”、“模式2(DMA 33)”、“模式4(DMA 66)”、“模式5(DMA 100)”、“模式6(DMA 133)”,请大家自己对照电脑硬盘的技术规格来判断。
3、若上面一步中显示的系统DMA模式与你的硬盘实际规格不一样,则可能是被XP系统修改了。这时即使你现在在“当前传送模式”一栏改成正确的DMA模式,下次开机还是会跳回原设置。因此,我们必须先切换到“驱动程序”标签页,并单击“卸载”按钮,然后重新启动电脑。
4、重开机后,在XP桌面上点击“开始”→“运行”,输入“regedit”以运行“注册表编辑器”程序。然后查找下面的主键:“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0001”
  5、找到该主键后,在注册表编辑器右方窗口的空白处单击鼠标右键,点击“新建”→“DWORD值”。
 6、将此DWORD值重新命名为“ResetErrorCountersOnSuccess”(注意大小写),然后在该DWORD值上单击鼠标右键,在随后出现的快捷菜单中点“修改”一项。
  7、出现“编辑DWORD值”对话框后,将“数值数据”一栏由原本的“0”改为“1”,然后再点“确定”按钮。重新启动电脑后,现在系统可以强制改回与硬盘技术规格相符的DMA模式。
8、有一点需要补充的是,如果你的电脑包含两个以上的IDE控制器(装有两个以上的硬盘),则在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}”主键下,可能还有“0002”、“0003”……等子项,代表每一组主要和次要IDE通道,请大家按相同的方法来进行修改即可。
同样,你也可以参照微软的技术文章http://support.microsoft.com/?kbid=817472,来解决此类的问题,笔者所玩的机子,很早之前就出现了这类的问题,苦于不知道从何下手解决,有时两天就要装一次系统,而且也不敢装别的软件,总以为是装了某个软件导致的,最后了现,也不是这么回事.于是找到这篇文章,现在也正在用这个方法,希望能解决.

标签: 硬盘DMA模式被改为PIO的解决方法

发表评论:

Powered by emlog sitemap