hdparm.conf - Debian configuration file for hdparm


This is the default configuration for hdparm for Debian. It is a rather simple script, so please follow the following guidelines :) Any line that begins with a comment is ignored - add as many as you like.

Note that an in-line comment is not supported. If a line consists of whitespace only (tabs, spaces, carriage return), it will be ignored, so you can space control fields as you like. ANYTHING ELSE IS PARSED!!

This means that lines with stray characters or lines that use non # comment characters will be interpreted by the initscript. This has probably minor, but potentially serious, side effects for your hard drives, so please follow the guidelines. Patches to improve flexibilty welcome.

Please read /usr/share/doc/hdparm/README.Debian for notes about known issues, especially if you have an MD array.

Note that if the init script causes boot problems, you can pass 'nohdparm' on the kernel command line, and the script will not be run.

Setting an option outside of one of the stanzas enables it for all drives.

If an option is listed twice, the second instance replaces the first.

/sbin/hdparm is not run unless a block of the form:


  • option
  • option
  • }

exists. This blocks will cause /sbin/hdparm OPTIONS DEV to be run. Where OPTIONS is the concatenation of all options previously defined outside of a block and all options defined with in the block.


  • -q be quiet
  • -a sector count for filesystem read-ahead
        read_ahead_sect = 12
  • -A disable/enable the IDE drive's read-lookahead feature
        lookahead = on
  • -b bus state
        bus = on
  • -B apm setting
        apm = 255
  • -c enable (E)IDE 32-bit I/O support - can be any of 0,1,3
        io32_support = 1
  • -d disable/enable the "using_dma" flag for this drive
        dma = off
  • -D enable/disable the on-drive defect management
        defect_mana = off
  • -E cdrom speed
        cd_speed = 16
  • -k disable/enable the "keep_settings_over_reset" flag for this drive
        keep_settings_over_reset = off
  • -K disable/enable the drive's "keep_features_over_reset" flag
        keep_features_over_reset = on
  • -m sector count for multiple sector I/O
        mult_sect_io = 32
  • -P maximum sector count for the drive's internal prefetch mechanism
        prefetch_sect = 12
  • -r read-only flag for device
        read_only = off
  • -s Enable/disable the power-on in standby feature
        poweron_standby = off
  • -S standby (spindown) timeout for the drive
        spindown_time = 24
  • -u interrupt-unmask flag for the drive
        interrupt_unmask = on
  • -W Disable/enable the IDE drive's write-caching feature
        write_cache = off
  • -X IDE transfer mode for newer (E)IDE/ATA2 drives
        transfer_mode = 34
  • -y force to immediately enter the standby mode
  • -Y force to immediately enter the sleep mode
  • -Z Disable the power-saving function of certain Seagate drives
  • -M Set the acoustic management properties of a drive
  • -p Set the chipset PIO mode
  • --security-freeze Freeze the drive's security status
  • --security-unlock Unlock the drive's security
        security_unlock = PWD
  • --security-set-pass Set security password
        security_pass = password
  • --security-disable Disable drive locking
  • --user-master Specifies which password to select
        security_mode = u
  • --security-mode Set the security mode
        security_mode = h
  • Root file systems.
        Please see README.Debian for details. ROOTFS = /dev/hda

You can use straight hdparm commands in this config file as well - the set up is ugly, but it keeps backwards compatibility. Additionally, it should be noted that any blocks that begin with the keyword 'command_line' are not run until after the root filesystem is mounted. This is done to avoid running blocks twice. If you need to run hdparm to set parameters for your root disk, please use the standard format.


hdparm was written by Mark Lord <> The init script and configuration file are currently maintained by Stephen Gran <>, but are the result of the work of many people.

This manual page was created by Stephen Gran <> for the Debian GNU/Linux system (but may be used by others).