As it happens the drive that came with my laptop has errors; after a couple of weeks it developed bad sectors that wiped the Vista install out. But I'm pretty confident that its not the noise of a drive dying.
There's quite a lot of people posting the same problem and asking if their disks are damaged and about to fail, but the consensus is that they are not and its the way the machine is handling the drive as part of its power saving settings. This fits in with the fact that the noise is frequent when I'm running on battery power.
Suggestions for solutions are:
- use hdparm to change the power saving parameters for the drive. This should stop the ticking but will reduce the great battery life of the machine (i'm getting just under 4 hours surfing on this Vistro with its 8 cell battery).
- consider installing Powertop to see what is spinning the disks. (There may not be much you can do about it though unless you are willing to download patches for the programs you use).
The hdparm argument we are interested in is -B. Man hdparm tells us:
-B Set Advanced Power Management feature, if the drive supports it.Everything that follows assume you have a hard drive called sda.
A low value means aggressive power management and a high value means better performance.
Possible settings range from values 1 through 127 (which permit spin-down), and values 128 through 254 (which do not permit spin-down). The highest degree of power management is attained with a setting of 1, and the highest I/O performance with a setting of 254.
A value of 255 tells hdparm to disable Advanced Power Management altogether on the drive (not all drives support disabling it, but most do).
To find out what your drive(s) are called open a terminal and type:
sudo fdisk -lFor me this gives:
Disk /dev/sda: 160.0 GB, 160041885696 bytesand then lots of other info listing the partitions. But the key point is my drive is indeed /dev/sda
I cant find any way of seeing what the power saving settings are for the drive. You can get some info with sudo hdparam -i /dev/sda but its not enough. Among other info I get told it has AdvancedPM=yes: unknown setting which is great but not very helpful.
To see if altering the power settings changes the ticking noise type:
sudo hdparm.exe -B 254 /dev/sdathis sets the disk to some minimal power saving with no parking. The clicking should stop instantly. It does for me and others report the same.
Setting to anything smaller than 254 does nothing to reduce the rate of clicks.
The implication of the original thread is that you should set the disk back to 128 as soon as you can bear to hear the clicks again because its safer as it allows the OS to park the disk. Not what I would have understood from the man page; I would have assumed a number below 128 was needed.
The original poster also believed that the value would reset to the default 128 on the next reboot and hence start ticking again. This is not what my machine does. So I assume that what you set with hdparm survives a reboot making it more important to set the value back when you have finished.
edit: Correction to the above. The settings do revert after the machine is shutdown and then booted back up. But they didn't reset after a simple restart.