我试图让我的硬盘 Boot 后旋转下来,因为我只是偶尔使用它备份和长期存储。我用的是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
}
型
到目前为止,这些都没有奏效。我已经禁用了驱动器的“启动时装载”选项。
最让我困惑的是,当我跑步的时候
sudo hdparm -S 1 /dev/disk/by-id/ata-ST2000DM006-2DM164_Z4ZAL35H
型
磁盘将在5秒后减速,就像它应该做的那样。
那么,有没有可能在 Boot 时没有应用hdparm-conf设置,如果有,我该如何修复它?
6条答案
按热度按时间wvt8vs2t1#
Ubuntu 20.04 LTS有一个错误,导致命令行参数不能正确返回。修复方法是将
/usr/lib/hdparm/hdparm-functions
中hdparm_options()
函数的结尾修改为:字符串
详细数据
在Ubuntu 20.04 LTS中,
/usr/lib/hdparm/hdparm-functions
中有一个bug,/usr/lib/udev/hdparm
使用它来解析/etc/hdparm.conf
。udev/hdparm
脚本调用hdparm/hdparm-functions
中的hdparm_options()
来解析配置文件,并期望将生成的命令行参数打印到标准输出。但是,hdparm_options()
从不写入stdout,除非在配置文件中找不到所请求的磁盘,在这种情况下,它会返回默认的命令行参数。yrwegjxp2#
这是一个老帖子,但timdiels的回答帮助我在Slax/Debian 9上调查了同样的问题。事实证明,/lib/hdparm中的任意脚本完全基于设备是使用电源还是电池供电来覆盖某些设置(-S和-B)。您需要修改hdparm-functions脚本来防止这种情况。
3yhwsihp3#
注意:基于我使用Debian stretch(deb 9 u1)的经验。这可能不完全适用于您的发行版。
不确定是否可以省略
=
,试试:字符串
请注意,您可以使用缩进,即使是在注解上,所以这也是可以的:
型
要检查它是否运行,看看是否能在
sudo journalctl -u systemd-udevd
中找到有关hdparm的任何信息。另一件事你可以尝试检查
hdparm -B /dev/yourdisk
,如果这是不支持的,尝试添加apm =
;对,空白。此攻击导致它调用hdparm -B ...
而不是默认的hdparm -B254 ...
。如果添加
=
不能解决这个问题,您可以通过编辑/lib/udev/hdparm
来调试这个问题(首先复制它,以便稍后恢复原始版本)。将一些输出重定向到>> ~root/hdparm.log 2>&1
,特别是添加一个echo以查看每个$DEVNAME
所使用的$OPTIONS
。/lib/udev/hdparm
是udev运行的脚本,可能是在发现新设备时运行的。它是异步的,所以如果您要重新启动并且您有多个磁盘,日志消息可能会相互“中断”。您不需要重新启动即可进行测试,请尝试DEVNAME=/dev/...YOURDISK sudo /lib/udev/hdparm
。db2dz4w84#
如果你有U盘,可能是这样的:https://bugs.launchpad.net/ubuntu/+source/hdparm/+bug/515023
具体来说,我必须编辑/lib/hdparm/hdparm-functions中的hdparm_try_apm():
字符串
不是一个伟大的工作周围,非常脆弱(实际上这整个事情似乎有点脆弱,我!)
相反,我将尝试使用udev脚本
请参阅:https://unix.stackexchange.com/questions/28548/how-to-run-custom-scripts-upon-usb-device-plug-in
另外,我注意到以下几点:
型
因此,请确保这不是让你,IE,你可能要设置“apm_battery”以及.
kgqe7b3p5#
快跑
字符串
了解APM(高级电源管理)的配置。根据man page(参见
-B
参数的说明),较低的值允许更积极的电源管理,而较高的值对应于更高的性能。值128到254不允许降速。在我的机器上,这个值默认为254。以下配置应确保磁盘在5秒后旋转:型
rta7y2nd6#
/usr/lib/hdparm/hdparm-functions
中有一个bug,它不能正确处理像/dev/disk/by-id/ata-ST2000DM006-2DM164_Z4ZAL35H
这样的磁盘名称。解决方案是使用常规磁盘名称,如/dev/sda
。但这并不理想,因为磁盘名称可以更改。