Contents
检查目标硬盘的 APM 设置
通过 CrystalDiskInfo 或 smartmontools 可以检查目标硬盘的 APM 设置是否过于激进
通过 CrystalDiskInfo 查看
如果 APM 的值为 “01h”,说明该硬盘的 APM 设置过于激进
如果 APM 的值为 “00h” 或其他较大的数值(如 “FEh”),则无需进行操作
通过 smartctltools 查看
注意:需使用管理员权限运行终端
扫描硬盘,输出中应包含目标硬盘,获取其设备名称(如 “/dev/sdb”)
smartctl.exe --scan
查看 APM 设置,替换 “/dev/sdX” 为目标硬盘
smartctl.exe -g apm /dev/sdX
如果输出类似 “APM level is: 1 (minimum power consumption with standby)”,说明该硬盘的 APM 设置过于激进
如果输出类似 “APM feature is: Disabled” 或 “APM level is: 254 (maximum performance)”,则无需进行操作
禁用 APM
通过注册表
请优先考虑通过注册表禁用 APM,若无效则使用后文的 smartmontools 方法
在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
下分别查看 iaStorAC
,iaStorAVC
,iaStorV
几项,若其含有 Parameters\Device
项,则在 Device 项中新建 DWORD,名为 EnableAPM
,值为 0
在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci
项中新建 DWORD,名为 EnableAPM
,值为 0
设置完成后可能需要重启计算机以生效
通过 smartmontools
请优先考虑 通过注册表 禁用 APM
安装 smartmontools
下载链接:https://www.smartmontools.org/wiki/Download#InstalltheWindowspackage
推荐安装时使用 Extract files only
选项,仅解压出必要的程序(smartctl.exe 等)
设置计划任务
运行 taskschd.msc
,在左侧 “任务计划程序库” 创建新文件夹
在创建的文件夹中创建基本任务
名称与描述随意填写
“触发器” 选择 计算机启动时
“操作” 选择 启动程序
“程序或脚本” 选择已安装的 smartctl.exe
“添加参数” 设置为 -s apm,off /dev/sdX
(将 “/dev/sdX” 替换为目标硬盘)
成功创建任务后,右键其选择属性
点击 “更改用户或组”,输入 SYSTEM
,点击 “检查名称” 并确定
(用户账户应变为 NT AUTHORITY\SYSTEM
)
启用 “使用最高权限运行”
最终设置应如下图所示:
右键运行一次设置的任务,若 “上次运行结果” 变为 “操作成功完成。(0x0)” 说明设置无误,此时通过 CrystalDiskInfo 或 smartmontools 进行检查应该可以看到目标硬盘的 APM 功能已被禁用
1 Comment
pap · 2020-03-04 at 21:33
好!