[教程]解决台式/笔记本上机械硬盘磁头异响与盘片停转C1导致系统卡顿的问题
这可能是我最后一次发教程帖了。
不知道大家有没有这样一个困惑:笔记本或者台式机装了某些型号的机械盘,在空闲一段时间后访问这个硬盘上的内容就听到硬盘磁头咔咔声然后盘片发出叽~~ 的声音并开始高速旋转,访问这个硬盘内容时还会卡顿一两秒
发生这样的情况是某些特定的硬盘才有,比如日立、西部数据的盘,空闲一段时间磁头自动归位,盘片停转,用这种方法来省电。。。西数早期发生过“C1门”,磁头初始位与停留在盘片上之间来回一个循环就会增加一次,官方给出的数据是多少万次不记得了,官方称超过这个值大概率会报废或准备报废。
但大家都不怎么在乎,理由是正常日用能用到淘汰都有可能。
都在意的是:空闲几分钟后打开个文件夹都要卡个一两秒。这个空闲可以指电脑无任何操作,或者这段时间里程序和系统压根没读写这块机械盘。再比如一些用户喜欢把游戏装在机械盘,当游戏把一部分读进内存时就不读硬盘了,但过几分钟后要读其他资源了突然给你卡个一两秒。。。。。。。。
讲经历与操作:
最近硬盘不够就拿了以前的一块西数黑盘接上了台式机,我以前一直认为这块盘在笔记本才会有电源管理,查了资料得知竟不少人中招,是硬盘的锅!!也查了西数官方的一些资料发现官方有个可以关闭idle空闲的工具,叫wdidle3
-教程- 方法1:
(方法一仅供西数盘,非西数盘可跳过)
下载wdidle3工具(会放到文末)。
准备工具1:一个闲置U盘,需要格式化
官网下载微PE工具箱(不为别的,教程帖用微PE算简单了):查看链接
(选2.3版本64位)
1、下载好运行,点击安装到U盘 如下图
2、选择方案一,卷标随便填最好英文,勾选DOS工具箱,最后再点安装
3、把wdidle3程序放进硬盘的根目录,最好每个分区复制一个进去,最后进入主板BIOS系统,某些主板默认UEFI启动的,这时选Legacy启动,或者某些主板叫CSM。
选含legacy字样的选项
重启电脑连续按F11(这是我的情况,不同主板不同键,有的是del键有的是esc,总之先试F1-F12),进入“选择哪个硬盘启动”的界面。
① 选刚刚做好PE的U盘设备(不要选UEFI,选无UEFI的U盘) 并回车,选定后上下键选MAXDOS工具箱,进入后选A。
02
选A并回车
② 输入ntfsdos回车,这个命令会扫描其他硬盘设备并支持ntfs格式,再次输入C:回车,进入C盘目录,这个C盘可能不是原来的C盘了,只是一个盘符,但每个分区都复制了一份wdidle3所以不必了解文件在哪个盘[针不戳]
命令:ntfsdos再输入C:
③ 这时好操作了,直接输入wdidle3 /d并回车,这工具会扫描支持的硬盘并关闭西数硬盘的idle功能,如果装了多个硬盘,并不是西数盘会报is not wd disk,不用管,只要有西数盘就行,操作如图,提示timer is disabled就成功了,该操作不会丢失数据
-教程- 方法3:
于是继续找其他工具,找到一个还不错的,搜索全部硬盘,支持APM的就关,但…就是显示一个窗口要自己手动关。。。。
下载链接在文末
-教程- 方法4:
继续找到一个叫openSeaChest的项目支持windows和linux和mac等等,这个我就觉得好啊,功能强大,命令执行完不用驻留后台,香就完事了
,命令如下:openSeaChest_PowerControl.exe –device all –disableAPM
① 参数解析device:这是设备驱动器号,一般输入all就行,默认检索全部硬盘,毕竟说不定以后硬盘可能换接口位置导致驱动器号变化就不是控制原来的硬盘了,所以建议all
② 参数解析disableAPM,顾名思义关闭硬盘APM,成功则如图successfully
下载链接在文末,启动可以自定义传入参数,请跳到教程–任务计划
-教程- 方法5:
我以为结束了,认为开机自启一次就能永久关闭,但是万万没想到主板对硬盘断开供电时重新通电仍然会发生停转归位:通电后机械盘内部系统开始重启导致APM又双叒叕启用了
,这个情况很常见就是windows“睡眠”模式,只有内存条在通电,也就是说每次睡眠中醒来都要关一次APM。。。
这个不是问题,毕竟windows任务计划就能解决,可是上一个方法openSeaChest_PowerControl这程序会调用控制台,每次唤醒就会有控制台界面一闪而过,不是不可以,但就是很难受。。
于是我继续上网找工具,实在太少,估计那些人都用上面的软件关闭或者用其他硬盘已经不会有C1门了,就想着凑合着用吧。
不对啊,突然想起CrystalDiskInfo和openSeaChest这两都是开源的啊,于是我想着应该不会用冷门工具链搞的程序,一看源码思路原来单文件就能实现,我的血压终于正常啦
!既然开源那我直接抄了啊,不用花时间研究了,亏我还浪费两小时找软件。
自己搬了CrystalDiskInfo源码的一条主控制发送命令和部分定义,后续不放源码了,单文件,一张图就能截全:
2、任务计划,睡眠唤醒自动执行程序,什么方法打开都行比如:控制面板搜索任务计划程序,右键创建任务
常规栏名称随便填比如:禁用硬盘APM
可以选择勾选“使用最高权限执行”
触发器点新建–工作站解锁时。
操作栏点新建–启动程序,程序路径选刚刚自启路径就足矣(若用openSeaChest的需要添加参数–device all –disableAPM)
条件栏随意,接上交流电才启动也行 省电嘛,,勾选“唤醒计算机执行此任务”
这样就可以实现自启和唤醒都自动关闭APM了。
— Linux篇:
简单
命令:sudo hdparm -B 255 /dev/sda
自启写进init就行
或者改配置文件。
————– 分 割 线 ————–
————– 分 割 线 ————–
————– 分 割 线 ————–
————– 分 割 线 ————–
————– 分 割 线 ————–
————– 分 割 线 ————–
① CrystalDiskInfo官方项目:查看链接
这软件无人不知了吧,有几个主题版,标准版和主题版区别就是可爱与普通的区别
有便携版和安装版还有源码
② openSeaChest官方项目:查看链接
下载win版
功能挺多,还支持控制希捷的idle_b、c等,具体输入命令–help
③ 包含西数wdidle3工具、还有忘记哪下载的禁用APM、以及搬了点源码自己C++搞的一个无窗口程序,三个都打包一起了:查看链接
编译了两个 DisAPM和debug版,debug有控制台窗口,建议先用debug版控制台调试看看有没有问题:
–成功关闭提示:Disabled APM。
–只找10个驱动器,硬盘不够多 找不到硬盘提示:Invalid device下一行必跟Failed…。
–单纯提示Failed…能找到硬盘但一般是接口不支持,比如原生接口m2,pcie转m2,usb等固态类硬盘。
没有问题了再用DisAPM,除了有无控制台区别就只有MY_DEBUG宏设置成0了,其他与debug版无区别
暂无评论内容