So, ich habe mal weiter gesucht und geforscht und bin sowohl der Ursache auf der Spur und einer Lösung recht nah. Hier mal zusammengefasst:
Der Fehler hängt scheinbar - zumindest bei dem Festplattenmodell meines Laptops - mit dem Advanced Power Management (APM) der Festplatte zusammen. Wie man da nachlesen kann:
http://www.thinkwiki.org/wiki/Problem_with_hard_drive_clicking
gibt es ein paar Festplattenmodelle, die eine etwas "ungewöhnliche" Implementierung des APM haben könnten und die von mir beschriebenen Geräusche verursachen.
Die beiden noch offenen Launchpad-Bugs
https://bugs.launchpad.net/ubuntu/+source/acpi-support/+bug/59695
https://bugs.launchpad.net/ubuntu/+bug/104535
beschäftigen sich ebenfalls mit dem Problem und bieten Workarounds.
Aufgrund der dortigen Informationen habe ich mit dem APM mal rumspielt und siehe da: bei einer bestimmten Konfiguration ist das Klacken weg. Also, mal der Reihe nach:
0.
Ich verwende gleich an mehreren Stellen für den Zugriff auf meine Festplatte das Gerät "/dev/sda". Das kann auf anderen Rechner natürlich ein anderes Gerät sein und muss entsprechend angepasst werden.
1.
Paket "smartmontools" installieren. "hdparm" wird auch benötigt, ist aber glaube ich bei ubuntu immer automatisch installiert.
2.
Sichern der aktuellen Festplatteninformationen und -konfiguration in eine Log-Datei, damit man weiß, mit welchen Werten man gestartet ist:
sudo hdparm -I /dev/sda > festplatte.log
Eine Zeile der gerade erstellten Logdatei enthält den aktuellen APM-Wert der Festplatte:
Advanced power management level: 128 (0x80)
3.
Dem ThinkWiki-Artikel zufolge wird das Klacken durch das "unloaden" (parken?) der Festplattenköpfe verursacht. Festplatten sind nur für eine begrenzte Anzahl solcher Vorgänge ausgelegt, und jedes (unnötige) Klacken (unload) verkürzt die Lebensdauer der Festplatte (unnötigerweise). Dieser Vorgang schlägt sich jedoch in den S.M.A.R.T.-Selbstdiagnose-Werten der Festplatte nieder, und zwar im Wert von "Load_Cycle_Count". Genau den lasse ich mir jetzt mal ausgeben mit dem Befehl:
sudo smartctl -A /dev/sda | grep Load_Cycle_Count
Das ergibt bei mir:
193 Load_Cycle_Count 0x0012 099 099 000 Old_age Always - 11013
Der entscheidende Wert ist der ganz rechts stehende. Wenn ich auf ein "klack" gewartet und danach gleich wieder den Befehl ausgeführt habe war der Wert für "Load_Cycle_Count" genau um 1 erhöht. Also: 1 Klack ⇒ "Load_Cycle_Count" um 1 erhöht. Ich weiß jetzt also, dass das Klacken der Unload-Vorgang des Festplattenkopfes ist und dass er das doch bitte nicht zu häufig machen soll.
4.
Jetzt wird mit dem Wert des Advanced Power Management (APM) der Festplatte rumspielt und geschaut, wie sich das auf's Klacken und den Wert von "Load_Cycle_Count" auswirkt. Das APM der Festplatte ist konfigurierbar mit Werten von 1 (extremes/aggressives APM) bis 254 (sehr zurückhaltendes APM). 255 bedeutet "APM aus". Den APM-Wert ändert man mit:
sudo hdparm -B WERT GERÄT
also z.B.
sudo hdparm -B 192 /dev/sda
Ich habe so verschiedene Werte durchprobiert: APM-Wert der Festplatte setzen und nach einiger Zeit der Wert von "Load_Cycle_Count" abfragen (siehe 3.). Bleibt er unverändert, ist der APM-Wert "gut". Das Ergebnis ist bei mir so (Festplattenmodell Hitachi HTS541060G9AT00):
192: kein klacken (Stromnetzbetrieb)
186: klacken (Stromnetzbetrieb)
Also irgendwo zischen diesen beiden Werten ist die Grenze. Ich könnte jetzt das APM einfach auf 255 ("aus") Stellen und damit auf der ganz sicheren Seite sein, aber ein bisschen Powermanagement ist bei einem Laptop ja auch nicht schlecht. Daher wird meine Festplatte jetzt mit dem Wert "192" betrieben.
Wichtig: nach einem Neustart ist der mit "hdparm" gerade eben gesetzte APM-Wert wieder auf den zu aggressiven Vorgabewert gesetzt und muss erneut angepasst werden. Daher baut man das am besten an geeigneter Stelle ein, die den gewünschten Wert beim Hochfahren des Rechners setzt. Z.B. so wie da:
https://bugs.launchpad.net/ubuntu/+source/acpi-support/+bug/59695/comments/10
5.
Damit habe ich einen für mich funktionierenden Workaround gefunden. Vielleicht helfen diese Ergebnisse ja mal dem einen oder der anderen, falls sie mit dem gleichen Problem kämpfen. Auf alle Fälle Danke an alle da oben, ihr habt mich auf die richtige Fährte gebracht.
Übrigens tritt das Klacken bei mir nicht nur im Batteriebetrieb auf, sondern auch, wenn der Rechner am Stromnetz hängt.
@joachima: Das oben erwähnte Paket "tpctl" ist ab Gutsy nicht mehr in den Paketquellen. Ich habe daher nicht getestet, ob man damit das Problem beheben kann.