|
马上注册,结交更多好友,享用更多功能,让你轻松玩转闽南师范大学。
您需要 登录 才可以下载或查看,没有账号?立即加入
×
小生最近老遇上一些莫名其妙的问题,最近又是:好好的一块硬盘,用了一段时间速度就由原来的50M/S以上降到3M/S不到。。。机子开始出现卡机、鼠标飘动等现象。。。。。重装系统、GHOST完后又没问题,可是用一段时间又出现。。。。 开始以为是硬盘问题,差点就把硬盘扔了。 ,最近经过一番调查,排除了硬件故障的可能,于是经过翻阅资料、死命百度,终于。。。。终于啊 ,让我解决了!
4 F$ b8 I: @) ]) t2 Z$ ]: B
+ `( G6 M/ i0 d如下是教程!
5 c% t M* B P H4 P
9 _" n, Y; X+ [+ K$ m6 x3 g& |硬盘使用DMA模式相比以前的PIO模式传输的速度要快2~8倍。DMA模式的起用对系统的性能起到了实质的作用。但笔者发现一个新的“问题”——Windows 2000、XP、2003系统有时会自行关闭硬盘的DMA模式,自动改用PIO模式运行!这就造成在使用以上系统中硬盘性能突然下降,其中最明显的现象有:系统起动速度明显变慢,一般来说正常Windows XP系统启动时那个由左向右运动的滑条最多走2~4次系统就能启动,但这一问题发生时可能会走5~8次或更多!而且在运行系统时进行硬盘操作时明显感觉变慢,在运行一些大的软件时CPU占用率时常达到100%而产生停顿,玩一些大型3D游戏时(比如极品飞车12)画面时有明显停顿(很多人这时以为是自己的显卡问题,当然如果你使用的是三年前的显卡玩这些游戏是有点老了,但如果你用的是今年才买的GF显卡那就不是它的问题了),出现以上问题时大家最好看看自己硬盘的DMA模式是不是被Windows 系统自行关闭了。查看自己的系统是否打开DMA模式:$ t: v6 B' j6 ?, }
1. 双击“管理工具”,然后双击“计算机管理”;% M; n$ N5 o9 g( v) D$ L5 ?
2. 单击“系统工具”,然后单击“设备管理器”;
# }; ^+ m) }# j/ P& X. g3 t5 s# J& B 3. 展开“IDE ATA/ATAPI 控制器”节点;
2 a7 j/ f$ Q" M4 @" H# u. J, T9 w6 j 4. 双击您的“主要IDE控制器”;2 o. C1 ~: |) g @7 s2 S; }* `1 h9 x
5. 点击“高级设置”。
; p! T6 p( S9 h0 C: n7 g5 N6 H 看到“设备0”,下面的传输模式应设为“DMA(若可用)”,再下面“当前传输模式”,如果是“Ultra DMA Mode *(*为数字,DMA33为2,DMA66为4,DMA100为5、DMA133为6)”,那么你的系统正常,但如果以前你自己设的是“Ultra DMA Mode 6”又没有改动,而现在是“Ultra DMA Mode 4”或“Ultra DMA Mode 2”更或者是“PIO 模式”而且改不过来!可能就是系统自行关闭了DMA模式了。. n% C$ G/ C* E, P5 L- }
分析问题:
# T& c/ B) G3 C, @ 好了,先来说说问题是如何产生的。; W' t. D- l5 Z$ v0 ^; y2 R
在Windows 2000/XP/2003中有这样一个设定: Windows IDE/ATAPI 端口驱动程序 (Atapi.sys) 累积收到总共6个超时或循环冗余检验 (CRC) 错误后,驱动程序将把通信速度(传送模式)从最快的直接内存访问 (DMA) 模式分步骤降为较慢的 DMA 模式。如果驱动程序继续收到超时或 CRC 错误,则驱动程序最终将把传送模式降为最慢的模式(PIO 模式)。 问题就在这里!一般来说一个正常的硬盘很少会有超时或循环冗余检验 (CRC) 错误,但是当我们使用这些系统里的挂起(也有叫休眠)并恢复计算机后就很容易造成超时或循环冗余检验 (CRC) 错误。因为系统设定的超时值为4秒,当系统向 ATA 磁盘发出读取请求时如果硬盘回应时间超过 4 秒的超时值时才会产生超时或循环冗余检验 (CRC) 错误,但因为系统在挂起(也有叫休眠)时硬盘是在停转状态中,恢复计算机时硬盘有个从停止到运动的过程,这就很容易造成大部分硬盘回应时间超过 4 秒的超时值。也就是说当我们使用计算机挂起6次后系统就会把通信速度(传送模式)从最快的直接内存访问 (DMA) 模式分步骤降为较慢的 DMA 模式。如果挂起6次以上则驱动程序最终将把传送模式降为最慢的模式(PIO 模式)。这就是Windows 系统突然变慢的原因。/ V- ?/ j& h8 ~5 T
! X9 e5 A6 O2 `" Q/ M; p解决问题:
. }4 [3 ^$ M v9 v 若要为受影响的设备重新启用典型DMA或更快DMA的传送模式,请执行以下操作:/ g7 n7 W+ {1 \7 [' t
1. 双击“管理工具”,然后双击“计算机管理”;
5 L4 C( \' Z6 V 2. 单击“系统工具”,然后单击“设备管理器”;
* K! @1 Q0 C. t1 o+ l 3. 展开“IDE ATA/ATAPI 控制器”节点;& R% x' v {0 O- B* l$ r
4. 双击您要为其恢复典型 DMA 传送模式的控制器;
& a. p$ _# L, ?( O7 V 5. 单击“驱动程序”选项卡;
9 s! Q! w8 r+ V 6. 单击“卸载”。
# D5 W7 b' q) T+ A5 f6 y U* M 当此过程完成后,重新启动您的计算机。当 Windows 重新启动后,将重新枚举硬盘控制器,同时与该控制器相连的每个设备的传送模式将重置为默认值。
$ T! G. H e7 d0 H+ U+ ^1 R 但这样只是把硬盘设备的传送模式重置为默认值,当我们再使用挂起系统时系统又会自行关闭DMA模式!所以我们还要做以下操作:" L. ^) ^ B3 [ z6 U0 |) F
1. 单击“开始”,单击“运行”,键入 Regedit,然后单击“确定”。4 _$ g( z7 n/ }- E2 t9 r
2. 在注册表中找到并单击以下项:% P4 O9 O5 S8 n
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0001
1 s0 G) C3 G+ W 和1 E# r* B4 k( X7 Z9 k
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0002- ?! T, Y; o/ e7 n' Y" N3 k
(如果还有其他,一并都要增加这个DWORD 值)
7 w; h6 B/ g* R; [" h% M 3. 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。2 |3 f% H l$ O5 i
4. 键入 ResetErrorCountersOnSuccess,然后按 Enter 键。9 a5 Z3 ^6 w9 A
5. 在“编辑”菜单上,单击“修改”。, I, R/ B! t3 J' d! ~& s
6. 键入 l,然后单击“确定”。& ^1 F, D- e* L# y
7. 按照下列步骤操作,然后退出注册表编辑器:7 L/ A* X; Z+ D( W% X X9 l
注意:上面注册表最后的项“{4D36E96A-E325-11CE-BFC1-08002BE10318}”列出的带有“0001”编号的子项对应于一台仅有一个 IDE 控制器的计算机的主要 IDE 通道和次要 IDE 通道。如果您的计算机有两个 IDE 控制器,则对于每个控制器,主要 IDE 通道和次要 IDE 通道的带有编号的子项分别是:“0001、0002、0003、0004、0005、0006……”。
* G0 _. i' {# P* N: |0 Y9 } ~ 为检查是否找到了正确的子项,请检查子项的 DriverDesc 值是包含字符串值“主要 IDE 通道”,还是包含字符串值“次要 IDE 通道”。 : a+ o% Z1 e. ?6 M. \
建立以上注册表键值的目的是:
) Q! e0 X2 R( b3 ]4 u) ~ 在Windows中,使系统向 ATA 磁盘发出读取请求时的 4 秒的超时值更改为 10 秒。还实现了一种较不严格的变通策略以在发生超时错误和 CRC 错误时降低传送模式(从较快的 DMA 模式到较慢的 DMA 模式,最终降为 PIO 模式)。以前的情况是,在每当累积发生的超时错误或 CRC 错误的总数达到 6 次时,IDE/ATAPI 端口驱动程序 (Atapi.sys) 将降低传送模式。当我们建立以上注册表键值实现新的策略后,Atapi.sys 仅在连续发生 6 次超时错误或 CRC 错误后才降低传送模式。
( y# _; b+ B# C, B+ t) e) q9 R+ h4 j 这一新的策略实现后将大大降低系统降低或关闭DMA传送模式的机会。现在我们可以安心地使用挂起系统和高性能的DMA硬盘模式,再也不会发生系统性能突然下降的情况了。
; A0 X9 P, |; o
/ J( e5 Y s( s7 T) J; I7 T- N: A; Y+ S5 T/ u; H2 D7 }. m) P
PS:顶给需要的同学!~ |
|