You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu 17.10下hdparm.conf开机设置不生效,HDD无法自动停转求助

解决Ubuntu 17.10开机自动让备份HDD停转的问题

我明白你想让仅用于备份和长期存储的HDD在开机后自动进入停转状态,但尝试hdparm.conf配置始终没效果的困扰,下面给你梳理两种可靠的解决方案:

一、修正hdparm.conf的正确配置格式

你之前的配置格式存在错误,hdparm.conf针对设备的正确配置语法应该是这样的:

/dev/disk/by-id/ata-ST2000DM006-2DM164_Z4ZAL35H {
    spindown_time = 1
}
  • spindown_time对应hdparm -S的参数值,1代表5秒后停转(你可以按需调整,比如240对应20分钟)
  • 先确认设备路径无误:执行ls /dev/disk/by-id/核对你的HDD设备名
  • 编辑完配置后,重启hdparm服务让设置生效:
sudo systemctl restart hdparm.service

之后用命令验证效果:

sudo hdparm -C /dev/disk/by-id/ata-ST2000DM006-2DM164_Z4ZAL35H

如果输出显示standbysleeping,说明配置生效;若仍为active/idle,可能是hdparm服务启动时机的问题,试试下面的systemd自定义服务方案。

二、用systemd自定义服务实现开机自动停转

如果hdparm.conf方式始终不生效,我们可以直接创建一个systemd服务,确保系统启动完成后执行停转命令:

  1. 创建服务配置文件:
sudo nano /etc/systemd/system/hdd-spindown.service
  1. 写入以下内容:
[Unit]
Description=自动停转备份用HDD
After=multi-user.target

[Service]
Type=oneshot
ExecStart=/sbin/hdparm -S 1 /dev/disk/by-id/ata-ST2000DM006-2DM164_Z4ZAL35H

[Install]
WantedBy=multi-user.target
  • After=multi-user.target保证服务在系统进入多用户模式后执行,此时磁盘已完成挂载
  • Type=oneshot表示这是一次性执行的任务
  1. 启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable hdd-spindown.service
sudo systemctl start hdd-spindown.service
  1. 再次用hdparm -C命令检查磁盘状态,确认是否进入停转状态。

额外注意点

  • 部分USB外接HDD可能不支持hdparm的停转功能,这类设备可以尝试添加-B 127参数设置APM级别
  • 如果磁盘停转后又被唤醒,用lsof /dev/disk/by-id/ata-ST2000DM006-2DM164_Z4ZAL35H查看是哪个进程在访问磁盘
  • 调整-S参数时注意对应时间:1-240代表5秒到20分钟(每步+5秒),241-251代表30分钟到5.5小时(每步+30分钟),252对应21分钟,255则禁用自动停转

内容的提问来源于stack exchange,提问作者Trish

火山引擎 最新活动