我试图让我的硬盘驱动器在启动后关闭,因为我偶尔会使用它来备份和长期存储。我正在运行Ubuntu 17.10。
我已经搜索了一段时间,发现我可以编辑hdparm.conf文件来包含这个:
command_line {
sudo hdparm -S 1 /dev/disk/by-id/ata-ST2000DM006-2DM164_Z4ZAL35H
}
我还尝试了各种变体,缩进,没有" command_line"选项,而只是完成:
/dev/disk/by-id/ata-ST2000DM006-2DM164_Z4ZAL35H {
spindown_time 1
}
到目前为止还没有奏效。 我已经禁用" mount on boot"驱动器的选项。
让我最困惑的是,当我跑步时
sudo hdparm -S 1 /dev/disk/by-id/ata-ST2000DM006-2DM164_Z4ZAL35H
磁盘将在5秒后旋转,就像它应该做的那样。
那么,是否有可能在启动时不应用hdparm-conf设置,如果是,我该如何解决?
答案 0 :(得分:1)
这是一篇很旧的文章,但是调子的答案帮助我研究了Slax / Debian 9上的相同问题。事实证明, / lib / hdparm 中的任意脚本会覆盖某些设置(-S和- B)完全基于设备是通过市电还是电池供电。 您需要更改 hdparm功能脚本以防止这种情况。
答案 1 :(得分:0)
注意:根据我对Debian stretch的经验(deb9u1)。这可能不完全适用于您的发行版。
不确定是否可以省略form.errors
,请尝试:
=
注意你甚至可以在评论中使用缩进,所以这也应该没问题:
/dev/disk/by-id/ata-ST2000DM006-2DM164_Z4ZAL35H {
spindown_time = 1
}
要检查它是否完全运行,请查看您是否可以在/dev/disk/by-id/ata-ST2000DM006-2DM164_Z4ZAL35H {
# Sleep after 5 sec (unit = 5 sec)
spindown_time = 1
}
中找到有关hdparm的任何内容。
您可以尝试的另一件事是检查sudo journalctl -u systemd-udevd
,如果不支持,请尝试添加hdparm -B /dev/yourdisk
;没错,请留空。此hack会导致它调用apm =
而不是默认hdparm -B ...
。
如果添加hdparm -B254 ...
没有解决问题,您可以通过编辑=
来调试问题(先复制它以便以后恢复原始版本)。将部分输出重定向到/lib/udev/hdparm
,尤其是添加回显以查看每个>> ~root/hdparm.log 2>&1
使用的$OPTIONS
。 $DEVNAME
是由udev运行的脚本,可能是在发现新设备时。它是异步执行的,因此如果您要重新启动并且您有多个磁盘,则日志消息可能会中断'彼此。您无需重新启动即可进行测试,请尝试/lib/udev/hdparm
。
答案 2 :(得分:0)
如果您有USB磁盘,则可能是这样的:https://bugs.launchpad.net/ubuntu/+source/hdparm/+bug/515023
特别是我必须在/ lib / hdparm / hdparm-functions中编辑hdparm_try_apm():
hdparm_try_apm()
{
return 0
...
不好工作,非常脆弱(实际上,整个过程对我来说有点脆弱!)
相反,我将尝试udev脚本
请参阅:https://unix.stackexchange.com/questions/28548/how-to-run-custom-scripts-upon-usb-device-plug-in
此外,我注意到以下内容:
apm)
if ! hdparm_is_on_battery; then
hdparm_set_option -B$VALUE
fi
;;
apm_battery)
if hdparm_is_on_battery; then
hdparm_set_option -B$VALUE
fi
因此,请确保不会让您失望,IE,您也可能希望设置“ apm_battery”。
答案 3 :(得分:0)
运行
hdparm -B /dev/disk/by-id/ata-ST2000DM006-2DM164_Z4ZAL35H
查看如何配置APM(高级电源管理)。根据{{3}}(请参阅-B
参数的描述),较低的值允许更积极的电源管理,而较高的值则对应更高的性能。值128到254不允许向下旋转。在我的计算机上,该值默认为254。以下配置应确保您的磁盘在5 s后旋转下来:
/dev/disk/by-id/ata-ST2000DM006-2DM164_Z4ZAL35H {
apm = 1
spindown_time = 1
}
答案 4 :(得分:0)
Ubuntu 20.04 LTS 有一个错误,导致无法正确返回命令行参数。 修复方法是将 hdparm_options()
中的 /usr/lib/hdparm/hdparm-functions
函数的末尾更改为:
if [ -n "$OPTIONS" ]; then
echo $OPTIONS
return 0
elif [ -n "$DEFAULT" ]; then
echo $DEFAULT
return 0
fi
在 Ubuntu 20.04 LTS 中,/usr/lib/hdparm/hdparm-functions
中存在一个错误,/usr/lib/udev/hdparm
使用它来解析 /etc/hdparm.conf
。 udev/hdparm
脚本调用 hdparm_options()
中的 hdparm/hdparm-functions
来解析配置文件,并期望将生成的命令行参数打印到标准输出。但是,除非在配置文件中找不到请求的磁盘,否则 hdparm_options()
永远不会写入 stdout,在这种情况下,它会回显默认命令行参数。