找回密码
 注册
快捷导航
查看: 29249|回复: 46

[DIY] 【原创】HP笔记本安装光驱位(IDE-STAT)硬盘托架准完美解决方案

[复制链接] |自动提醒
阅读字号:

13

回帖

0

积分

140

资产值

入门会员 Rank: 1

注册时间
2011-9-29
发表于 2011-10-8 21:05:06| 字数 581| - 天津市 联通/数据中心 | 显示全部楼层 |阅读模式
不少网友反映HP某些型号的笔记本在使用IDESTAT的硬盘托架的过程中,发现不能向硬盘中写数据(提示“缓存写入失败”)和,读写数据速度较慢的问题。最近在升级nw9440945PM+ICH-7M)硬盘托架的过程中也遇到了类似问题,经过软硬件上的联合实验,现在找到了问题的原因和比较合适的解决方法。
    造成HP光驱位硬盘兼容性差的主要原因是HP对接入光驱的IDE控制器的工作模式进行了限制,使之最高只能工作在Multi-Word DMA的方式(正常工作应该是Ultra DMA Mode x),最高传输速度只有16MB/S,而关键的问题是硬盘托架上的88SA8040芯片对这种工作模式的支持也比较糟糕,于是就出现了前文所述的各种现象。

HPBIOS参数选项很少,且在IDE控制器初始化的时候做了限制。破解这种限制的方法理论上有很多,比较容易实现的有3种:
1、
使用“RW-Everything”软件修改IDE控制器的48h-4Bh值为01 00 02 00
2、
XP启动之前执行一段程序,修改寄存的值。
3、
MBR中加入汇编指令,修改寄存的值。
修改后硬盘读写功能正常,可以看到硬盘会工作在Ultra DMA Mode 2,也就是平常我们所说的ATA33,读写平均速度达到29MB/sCPU占用率仅3%
。也不存在跟希捷硬盘不兼容的问题。(关于支持ATA66和ATA100的问题后续讨论)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

1822

回帖

40

积分

1万

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2006-5-31
发表于 2011-10-8 21:12:32| 字数 9| - 江苏省常州市 电信 | 显示全部楼层
8510w可以吗?
Wise men are silent; fools talk.
回复 支持 反对

使用道具 举报

13

回帖

0

积分

140

资产值

入门会员 Rank: 1

注册时间
2011-9-29
 楼主| 发表于 2011-10-8 21:15:26| 字数 487| - 天津市 联通/数据中心 | 显示全部楼层
方法一:
    使用RW- Everything的操作最简单,但是修改结果不能保存,每次开机都需要重新修改。RW的操作过程如下。
    1、 从设备管理器中禁用“主要IDE控制器”。(略过此步骤可能导致系统崩溃)
    2、 打开RW软件,从菜单中点Access -> PCI。
    3、 从左上角的下拉框中选择“Bus 00 …… IDE Controler”
    4、 修改地址为48、4A的两个寄存器的值,把原来的00分别改为01和02。
    5、 从设备管理器中起用“主要IDE控制器”。
    这时,如果光驱位安装的是硬盘托架,可以看到硬盘会工作在Ultra DMA Mode 2,且读写功能正常。


方法二:
    在XP引导前执行的程序见附件(在DOS下调试通过),工作原理是在XP加载IDE驱动之前,修改这两个配置寄存器。如果在XP引导以后修改这两个寄存器,有可能会导致系统崩溃。在网上看到很多在XP引导前加载应用程序的方法,但是没有试出来能用的。另外由于该程序是运行在DOS模式下的,在Windows下运行会出错。
    实现以上两种方法需要用到的软件如下:
1、RW-Everything绿色版V1.3.rar

2、ICH7_IDE_Patch.rar

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复 支持 反对

使用道具 举报

1万

回帖

131

积分

1万

资产值

至尊会员II Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2007-9-26
发表于 2011-10-8 21:22:18| 字数 13| - 江苏省南通市 电信 | 显示全部楼层
这个好强..直接 修改参数了
回复 支持 反对

使用道具 举报

4032

回帖

105

积分

529

资产值

至尊会员I Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2011-3-23
发表于 2011-10-8 21:28:34| 字数 14| - 黑龙江省哈尔滨市 电信 | 显示全部楼层
这才是技术贴,看不懂也要顶!
回复 支持 反对

使用道具 举报

1980

回帖

75

积分

2万

资产值

至尊会员I Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2010-1-9
月全勤勋章
发表于 2011-10-8 22:28:57| 字数 18| - 江苏省无锡市 联通 | 显示全部楼层
这个要顶,关注很久了,一直都不能解决
HP 8510W X7900 4G 60G SSD+320G SATA2 FX570M 1920*1200
回复 支持 反对

使用道具 举报

43

回帖

1

积分

60

资产值

初级会员 Rank: 1

注册时间
2011-8-3
发表于 2011-10-8 22:32:45| 字数 28| - 福建省福州市 电信 | 显示全部楼层
楼主果然强,有没有介绍个直接修改bios的方法?一次解决
回复 支持 反对

使用道具 举报

43

回帖

1

积分

60

资产值

初级会员 Rank: 1

注册时间
2011-8-3
发表于 2011-10-8 22:36:36| 字数 21| - 福建省福州市 电信 | 显示全部楼层
8510,8710也是一样修改这个地址么?
回复 支持 反对

使用道具 举报

13

回帖

0

积分

140

资产值

入门会员 Rank: 1

注册时间
2011-9-29
 楼主| 发表于 2011-10-8 23:01:44| 字数 1,419| - 天津市 联通/数据中心 | 显示全部楼层
方法三:
    在主引导记录(MBR)中植入一段代码,修改IDE的配置寄存器。我最后采用的就是这种方案,这种方案操作起来比较麻烦,但是一劳永逸,即使以后重装系统(只要不重写MBR),都不会受到影响。由于该方法不是直接对MBR进行修改,所以操作比较安全,一旦出错,可以随时用备份的MBR恢复。
    修改MBR主要用到3个软件:
1、读写MBR的软件,这里用的是“三茗硬盘医生”,该软件在DOS下运行,可以查看、备份、恢复MBR。
2、IDA pro Free(这里用的是5.0版本),这是一个反汇编软件,主要作用的分析MBR中的原有程序,找到合适的插入点,并校验新代码的正确性。
3、UltraEdit,编辑备份的MBR。
    操作步骤如下:
1、使用光盘引导,启动DOS环境。这里不推荐使用U盘引导,因为U盘引导完成以后,很多软件会把U盘默认成系统盘,无法正确导出MBR。
2、启动“三茗硬盘医生”,备份MBR。MBR备份在同目录下“001.DAT”文件。
3、重新启动Windows,准备使用IDA分析MBR。这时需要先把三名磁盘医生备份出来的“001.DAT”文件扩展名改为“.exe”。
4、启动IDA,选择NEW。关闭向导,从菜单选择File -> Open 打开“001.exe”文件。

5、在“Load a new file”对话框中选择“Binary file”,点OK。

6、在随后弹出的确认使用32位模式的对话框中选择“No”,使用16位模式。

7、开始反汇编,把光标放在0000地址,点键盘上的“C”键,右侧的机器码立即被翻译成汇编指令。

8、分析MBR,关于MBR的分析,网上有很多,这里不再赘述。如果MBR内容与本文附件中的参考MBR一致,可以略过此步骤。
9、植入修改寄存器的代码。基本原理如下:
    将修改IDE寄存器的代码放在180H开始的一段空间里。代码为:“B8 0C B1 BB F9 00 BF 48 00 B9 01 00 CD 1A B8 0C B1 BB F9 00 BF 4A 00 B9 02 CD 1A”
    将1bH的代码移动到修改寄存器的代码后面,原来IbH的位置放置一条跳转指令“E9 62 01”,使程序跳到180H处开始修改寄存器。
    执行完修改寄存器的指令后,紧接着执行移动到新位置的(原来在1bH处)的指令,然后在执行跳转指令“E9 7C FE”,使程序跳回原来位置,继续执行。
    E9是跳转指令的操作码,后面跟的两个立即数是操作数(如“62 01”),表示跳转偏移(程序计数器指针增加)是0162H,“FE7CH”是以二进制补码形式表示的负数,表示程序向前跳转。

10、修改完成后保存,使用IDA校验程序的执行顺序,看是否有错,如果跳转的地址不正确,可以使用IDA再做调整。(需要修改IDA安装目录下的cfg目录中的idagui.cfg文件,把“DISPLAY_PATCH_SUBMENU    = NO”改成“DISPLAY_PATCH_SUBMENU    = YES”,重启IDA后,把光标放在跳转指令上,从菜单选Edit -> Patch program -> change Byte可以即时修改跳转的参数,直到实验出合适的参数为止,在把这个参数写回UE。)


11、把改好的文件名重新改为“001.dat”,放到“三茗硬盘医生”目录下。
12、使用光盘引导,启动DOS环境,启动“三茗硬盘医生”,还原MBR。
13、重启Windows,大功告成。(如果失败,则还原成以前的MBR,继续回Windows修改)

参考MBR:

三茗硬盘医生

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复 支持 反对

使用道具 举报

3656

回帖

131

积分

3415

资产值

至尊会员II Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2005-5-15
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2011-10-8 23:23:45| 字数 29| - 重庆市铜梁县 电信 | 显示全部楼层
关注并收藏了,感谢楼主的分享

顺便在潜在加分精华帖留名,哈哈
大家好,我是来自HPFOCUS的MUDBOY
回复 支持 反对

使用道具 举报

13

回帖

0

积分

140

资产值

入门会员 Rank: 1

注册时间
2011-9-29
 楼主| 发表于 2011-10-8 23:36:11| 字数 492| - 天津市 联通/数据中心 | 显示全部楼层
最后要讨论的就是UDMA2(ATA33)到UDMA4/5(ATA66/100)的问题。看了从T13上下载的《Information Technology -AT Attachment with Packet Interface - 5》,对于IDE控制器来说,主要就是检测“PDIAG”信号,如果控制器检测到PDIAG是低电平,则认为目前使用的是80芯的扁平电缆,IDE控制器会运行在66或100的模式。我曾经试着在光驱端把nw9440的PDIAG信号拉低,但没有效果,怀疑是HP的硬件工程师为了走线方便,这根线可能就没有接到IDE口上。如果想改主要有几种方案:
    1、修改硬件,找出PDIAG,并将之拉低。这样做的问题是风险较大,笔记本上的连接器拆的次数多了就会出现接触不良的问题,导致系统不稳定。
    2、修改atapi.sys驱动,理论上讲,如果让驱动无视PDIAG的状态,按照ATA66传输就行了,但是由于没有原码,修改这个驱动工作量会相当大。
    3、其他。
    由于没有达到最终的ATA100的传输速度,所以我说这个解决方案不能算是完美,只能叫准完美吧。
    另外附上光驱IDE接口图纸和88SA8040接口板图纸。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复 支持 反对

使用道具 举报

13

回帖

0

积分

140

资产值

入门会员 Rank: 1

注册时间
2011-9-29
 楼主| 发表于 2011-10-8 23:38:48| 字数 229| - 天津市 联通/数据中心 | 显示全部楼层
8510W/8710W 用的是“Intel PM965+ICH8M”,如果存在Multi-Word DMA Mode 2的问题,理论上也可以用类似的方法解决。基本步骤如下:
1、找出IDE控制器的地址。
2、找出对应的寄存器。可以找一个ThinkPAD同平台的本子,比较寄存器区别。同时Intel网站上有ICH8的DataSheet下载,可以参考。
3、使用RW修改测试,如果测试成功,在进一步修改MBR。

直接修改BIOS当然是最根本的方法,但是难度比较高,不容易短期实现。
回复 支持 反对

使用道具 举报

25

回帖

0

积分

110

资产值

入门会员 Rank: 1

注册时间
2006-8-21
发表于 2011-10-8 23:46:03| 字数 23| - 新疆塔城地区 电信 | 显示全部楼层
俺的是HP 8440,看来是搞不成 光驱拉硬盘了。
回复 支持 反对

使用道具 举报

3656

回帖

131

积分

3415

资产值

至尊会员II Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2005-5-15
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2011-10-9 00:12:30| 字数 105| - 重庆市铜梁县 电信 | 显示全部楼层
QUOTE:
Posted by ww111222 on 2011-10-8 23:46
俺的是HP 8440,看来是搞不成 光驱拉硬盘了。

nw8440的话估计可以按楼主的方法操作

8440p的话直接安装sata第二硬盘就可以啦。
大家好,我是来自HPFOCUS的MUDBOY
回复 支持 反对

使用道具 举报

1669

回帖

26

积分

3746

资产值

白金会员 Rank: 3Rank: 3Rank: 3

注册时间
2005-2-8
铜牌荣誉勋章(注册8年以上会员)
发表于 2011-10-9 02:48:09| 字数 7| - 广东省深圳市 天威有线宽带(关内) | 显示全部楼层
感谢楼主的分享

惠普2510p:u7600 2gB 60g-12.1LED. 神盾K580 I5 D3. 4GB,GT445的显卡.15.6寸.
回复 支持 反对

使用道具 举报

2万

回帖

326

积分

9万

资产值

至尊会员III Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2007-11-7
年全勤勋章2020银牌荣誉勋章(注册10年以上会员)铜牌荣誉勋章(注册8年以上会员)月全勤勋章
发表于 2011-10-9 02:49:50| 字数 8| - 广东省深圳市 电信 | 显示全部楼层
感谢分享

技术贴了
回复 支持 反对

使用道具 举报

43

回帖

0

积分

72

资产值

入门会员 Rank: 1

注册时间
2006-12-6
发表于 2011-10-9 08:53:51| 字数 5| - 浙江省嘉兴市桐乡市 电信 | 显示全部楼层
技术贴,顶
回复 支持 反对

使用道具 举报

1482

回帖

0

积分

5434

资产值

入门会员 Rank: 1

注册时间
2007-5-12
发表于 2011-10-9 09:22:10| 字数 6| - 江苏省南京市 电信 | 显示全部楼层
技术帖,支持
nc4200,2710p,2530p,p1620,X220i,MIIX5,
Latitude 7390,i5/8G/256(加群429656718)
回复 支持 反对

使用道具 举报

178

回帖

7

积分

1092

资产值

高级会员 Rank: 2Rank: 2

注册时间
2007-8-22
发表于 2011-10-9 09:58:57| 字数 39| - 北京市 联通 | 显示全部楼层
之前一直没有考虑SSD+光驱位硬盘托架的方案,就是受此问题困扰~

强烈支持LZ~
HP Compaq 8710w X9000 FX3600M 1920X1200
HP compaq nc6000 PM735A 2.26 DDR444 2G
回复 支持 反对

使用道具 举报

5215

回帖

147

积分

6万

资产值

至尊会员II Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2008-7-30
月全勤勋章铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)年全勤勋章2023
发表于 2011-10-9 14:53:58| 字数 11| - 广东省广州市 电信 | 显示全部楼层
收藏了,感谢楼主的分享
回复 支持 反对

使用道具 举报

39

回帖

1

积分

1万

资产值

入门会员 Rank: 1

注册时间
2009-10-12
发表于 2011-10-14 16:28:02| 字数 114| - 山东省 联通/数据上网公共出口 | 显示全部楼层
我用的也是hp ne8440的本子还真是如 楼主所说!还准备升级ssd硬盘呢(机械硬盘用托架放光驱位)不知道如果安装WIN7系统是否会改善?有没有更好的办法呀?

[ Edited by  xiaoduzxw on 2011-10-14 16:30 ]
回复 支持 反对

使用道具 举报

638

回帖

6

积分

3350

资产值

高级会员 Rank: 2Rank: 2

注册时间
2010-10-14
铜牌荣誉勋章(注册8年以上会员)
发表于 2011-10-14 17:27:34| 字数 18| - 云南省楚雄州 电信 | 显示全部楼层
看来很复杂,菜鸟不行啊 我的8710W
昨天捡到一块鼠标垫,想配个电脑,大家看看还缺些什么?
回复 支持 反对

使用道具 举报

62

回帖

1

积分

91

资产值

初级会员 Rank: 1

注册时间
2011-3-29
发表于 2011-10-14 18:43:49| 字数 83| - 广东省广州市 电信 | 显示全部楼层
可以肯定的讲,楼主的IDE-SATA硬盘托架是不兼容HP的。据我的经验,33M/S 是最基本的速度,相当于IBM T20 PII 的机器。 低于这个速度的硬盘托架肯定是不行的。
回复 支持 反对

使用道具 举报

1811

回帖

28

积分

2万

资产值

白金会员 Rank: 3Rank: 3Rank: 3

注册时间
2010-12-1
铜牌荣誉勋章(注册8年以上会员)
发表于 2011-10-18 18:12:20| 字数 27| - 江苏省无锡市 上海安畅网络科技股份有限公司 | 显示全部楼层
看来我的8710W是没希望了  没那么多时间精力技术去折腾
Macbook Pro 2021 14 M1Pro(10+16)  16G  1T
MacBook air 2015 13.3 i7 16g 1T
8770W DC2 p3200 T1000 16G 1T
iMac 27 2011 i7 2600  32G  512G P3200
iMac 27 2019 i9 9900T 32G 1T Pro 570x
回复 支持 反对

使用道具 举报

1875

回帖

39

积分

4994

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2009-1-2
发表于 2011-10-19 02:41:57| 字数 15| - 北京市 联通 | 显示全部楼层
实在是太牛了,这才是技术贴啊~
回复 支持 反对

使用道具 举报

13

回帖

0

积分

140

资产值

入门会员 Rank: 1

注册时间
2011-9-29
 楼主| 发表于 2011-10-25 23:24:53| 字数 52| - 北京市 中移铁通/铁通 | 显示全部楼层
后来买了奋威的托架测试,如果不更改IDE控制器的配置,依然无法使用。应该是88SA8040的兼容性问题。
回复 支持 反对

使用道具 举报

4037

回帖

63

积分

3万

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2011-4-10
月全勤勋章
发表于 2011-10-26 06:50:46| 字数 6| - 山东省青岛市 联通 | 显示全部楼层
这个太厉害了
回复 支持 反对

使用道具 举报

651

回帖

43

积分

3294

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2004-4-25
发表于 2011-10-27 13:01:56| 字数 42| - 浙江省宁波市 电信 | 显示全部楼层
RW-everything在win7下崩溃了,改用bar-edit修改,没用。。。。
回复 支持 反对

使用道具 举报

565

回帖

9

积分

3509

资产值

黄金会员 Rank: 3Rank: 3Rank: 3

注册时间
2008-4-12
发表于 2011-10-28 10:21:02| 字数 86| - 浙江省杭州市 淘宝(中国)软件有限公司 | 显示全部楼层
在强记入的本,原硬盘架超级垃圾,开机如果不关dma直接蓝屏无法启动,关了dma启动超过5分钟
昨天刚换了奋威的托架,现在win7启动30秒,早知道如此半年前就该换了,tnnd
回复 支持 反对

使用道具 举报

1669

回帖

26

积分

3746

资产值

白金会员 Rank: 3Rank: 3Rank: 3

注册时间
2005-2-8
铜牌荣誉勋章(注册8年以上会员)
发表于 2011-10-28 17:11:36| 字数 137| - 广东省深圳市 天威有线宽带(关内) | 显示全部楼层
造成HP光驱位硬盘兼容性差的主要原因是HP对接入光驱的IDE控制器的工作模式进行了限制,使之最高只能工作在Multi-Word DMA的方式(正常工作应该是Ultra DMA Mode x),最高传输速度只有16MB/S,

????????

好象别人的都有50-70Mb/s**\ **\
惠普2510p:u7600 2gB 60g-12.1LED. 神盾K580 I5 D3. 4GB,GT445的显卡.15.6寸.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.5 © 2001-2023 Comsenz Inc

GMT+8, 2024-5-18 12:40 , Processed in 0.190180 second(s), 76 queries , Gzip On, OPcache On.

手机版|小黑屋|安卓客户端|iOS客户端|Archiver|备用网址1|备用网址2|联系我们|专门网

返回顶部