Is there any way to avoid specific HDDs from spinning up at boot time?

There are 3 HDDs in my HTPC (Ubuntu 12.10) and 1 SSD (boot drive). I don't want the HDDs to spin up when booting to reduce boot time, save energy and expand the HDD's lifespan. However, I think the onboard HDD controller needs to know which drives are there at boot time to make them available later for the system. Is there any possibility to avoid the spin-up?

Hardware specs:
Mainboard: ASrock A75M-ITX (UEFI)
APU: AMD A8-3870K
HDDs: WD20EARS, HD204UI, WD20EARX
SSD: OCZ Vertex3 60GB
(4GB DDR3-1600, TV-Tuner, Sharkoon 400W PSU)

Do the HDDs spin up instantly when they receive power from the PSU or to they spin up when they receive some data?
Thanks, NoMad


There's a SATA feature named PUIS (Power-Up In Standby). It requires support from your BIOS, hard drives, and OS too. Some hard drives can have it enabled via pins, some can have it enabled via hdparm -s. This is what hdparm manual says:

Enable/disable the power-on in standby feature, if supported by the drive. VERY DANGEROUS. Do not use unless you are absolutely certain that both the system BIOS (or firmware) and the operating system kernel (Linux >= 2.6.22) support probing for drives that use this feature. When enabled, the drive is powered-up in the standby mode to allow the controller to sequence the spin-up of devices, reducing the instantaneous current draw burden when many drives share a power supply. Primarily for use in large RAID setups. This feature is usually disabled and the drive is powered-up in the active mode (see -C above). Note that a drive may also allow enabling this feature by a jumper. Some SATA drives support the control of this feature by pin 11 of the SATA power connector. In these cases, this command may be unsupported or may have no effect.

Of course, you must not mount any filesystems on that drive during boot-up, otherwise the drive will spin up when you try to mount anything on it, and it will introduce a long delay during your boot process...