Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have 2 HDDs in my PC. Ubuntu is turning off the secondary HDD very quickly after about 15 minutes, which is short for me. I need to control this time. How can I do it?

I tried GNOME power management but did not find it useful.

share|improve this question

Have a look at hdparm.

From the manual (man hdparm on the command line):

-S Set the standby (spindown) timeout for the drive. This value is used by the drive to determine how long to wait (with no disk activity) before turning off the spindle motor to save power. Under such circumstances, the drive may take as long as 30 seconds to respond to a subsequent disk access, though most drives are much quicker.

The encoding of the timeout value is somewhat peculiar. A value of zero means "timeouts are disabled": the device will not automatically enter standby mode. Values from 1 to 240 specify multiples of 5 seconds, yielding timeouts from 5 seconds to 20 minutes. Values from 241 to 251 specify from 1 to 11 units of 30 minutes, yielding timeouts from 30 minutes to 5.5 hours. A value of 252 signifies a timeout of 21 minutes. A value of 253 sets a vendor-defined timeout period between 8 and 12 hours, and the value 254 is reserved. 255 is interpreted as 21 minutes plus 15 seconds. Note that some older drives may have very different interpretations of these values.

So sudo hdparm -I /dev/sdb | grep level will show the current spindown value, for example:

Advanced power management level: 254

From the manual: 254 is reserved so I expect it to be Ubuntu's default (can anyone confirm/expand on this please?)


sudo hdparm -S 25 /dev/sdb = spindown after 25*5 seconds.

sudo hdparm -S 245 /dev/sdb = spindown after (245-240)*30 minutes.

share|improve this answer
thanks Rinzwind for the tips , that helped me alot but i wish i see gui for this in the next release of ubuntu or it could be integrated in gnome power manager – user16295 May 4 '11 at 14:14
Regarding lzap's answer you seem to grep for APM (-B parm) but talk about -S the spindown. Do you also know something about APM? – turbo Mar 13 '12 at 18:09
The current -B setting is shown as indicated above. How can I see the current -S setting? – SabreWolfy Jun 22 '12 at 22:57
sudo hdparm -y /dev/sdb kills the beast immediately – siamii Mar 3 '13 at 23:20
@SabreWolfy I've asked that as a separate question: How can I find out the current drive spin-down time? – ændrük Apr 13 '13 at 4:12

Disk Utility -> select HDD drive -> click on the "More actions..." icon on the top right corner -> Drive settings...

Mine is looks like this: screenshot

share|improve this answer
Easiest by far, thanks! (BTW the package you need to install if you don't have this is gnome-disk-utility. – Gerhard Burger Feb 10 '14 at 21:14
way to go linux! +1 – neu-rah Jul 22 '15 at 7:29
Yes, extremely easy - glad this is here. – Zzzach... May 15 at 2:16

If you're interested on do the hdparm's setting persistent between reboots, instead of adding it to the crontab, you can use the /etc/hdparm.conf. I have the following, note the use of capital S, not lowercase:

command_line {
    hdparm -S 25 /dev/disk/by-uuid/f6c52265-d89f-43a4-b03b-302c3dadb215 

Add that line replacing the UUID by yours, or also you may specify the device using /dev/sdX format. You can find out your disk's UUID with the command sudo blkid.

share|improve this answer
Is it correct to use command_line nowadays? I have different examples in my /etc/hdparm? – Dims Oct 22 '14 at 7:19

I add something like:

@reboot sudo hdparm -S244 /dev/disk/by-uuid/71492809-e463-41fa-99e2-c09e9ca90c8e > /dev/null 2> /dev/null

to root's crontab. Using uuid is better I think because sda/sdb etc. seems to change with every reboot

share|improve this answer
Why not use hdparm.conf? – ændrük Apr 13 '13 at 4:17

After spending hours and hours I discovered that my WDC drive do not support hdparm -S command, no matter idle3 attribute value (google: idle3ctl). And that is common problem with WD drives. But I'm pleased to announce that hd-idle ( works flawlessly. If installed from dpkg-builded package (see Installation notes), it creates daemon on both ubuntu and debian (config is in /etc/default/hd-idle). Works well after resuming from hibernation as well.

mc default # ps aux | grep hd-idle | grep -v grep | cut -c 66- ; for f in [a-d] ; do hdparm -C /dev/sd$f | grep -v "^$" ; done
/usr/sbin/hd-idle -i 1800 -a sdc -i 600 -a sdd -i 60 -l /var/log/hd-idle.log
 drive state is:  active/idle
 drive state is:  standby
 drive state is:  standby
 drive state is:  standby

share|improve this answer

In Ubuntu 14.04

Disks > highlight drive > click the gear in the upper right hand corner > Drive Settings > now you have Standby, APM, AAM and Write Cache settings in an easy to use GUI!

share|improve this answer
How do you make this work? I have set this, and after reboot if i go back in it has remembered that the drive should power down, but it never does. hdparm -C always shows it is active and only running hdparm -S xxx from the commandline makes it work. – dan carter Jul 20 '14 at 11:10
Where do you find "Disks"? – nealmcb Jan 14 '15 at 1:14

I discovered that the spindown behavior of Samsung HD204UI depends on the APM level (hdparm -B). If the APM level is 127, the spindown timeout is 10 s. If the APM level is 150, the spindown timeout is defined by the -S option.

share|improve this answer

On Debian, with WD drives, I find that setting any level with hdparm -S results in the drive returning a level 254 on subsequent hdparm -I. So I'm really not sure if they're spinning down or not. I think they are still spinning down.

These drives are on a server array, and I really don't want them to ever spin down. In the past I've kludged this by setting a cron job to update a file every few minutes.

share|improve this answer

1) Find your disk's UUID.

$ sudo lsblk --output NAME,FSTYPE,LABEL,UUID,MODE

2) Edit /etc/hdparm.conf

$ sudo gedit /etc/hdparm.conf  # Be careful from now on

3) Look for spindown-time or your disk settings section.

/dev/disk/by-label/4TB {
    spindown_time = 1200

4) I prefer to refer to the disk by UUID which remains the same across different installations (unless you change it in the HW itself).

/dev/disk/by-uuid/91e32677-0656-45b8-bcf5-14acce39d9c2 {
    spindown_time = 1200

5) If the init script causes boot problems, you can pass nohdparm on the kernel command line, and the script will not be run.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.