最近更新: 2010-09-25

Debian/Ubuntu 啟用 ThinkPad APS 硬碟保護系統

我的 ThinkPad 用了半年以上,前一陣子才注意到 Ubuntu 系統沒有啟動 ThinkPad 的 APS 硬碟保護系統,真是太疏忽大意了。幸好 Ubuntu 10.04 提供了相關套件 (hdapsd),直接安裝後即可啟用 APS 功能。其他 Linux 散佈版本的使用者,請參考 ThinkWiki 的《How to protect the harddisk through APS》。

安裝:

$ sudo apt-get install hdapsd

安裝後,重新開機。如果你熟悉 Linux 系統,你也可以直接載入 hdaps 模組 (insmod hdaps),再啟動 /etc/init.d/hdapsd ,不須重新開機。開機後查看 dmesg 確認 hdaps 是否成功載入了。出現下列訊息就是載入了。

$ dmesg | grep hdaps
hdaps: device successfully initialized.
hdaps: driver successfully loaded.

如果開機時沒有自動載入 hdaps 模組,你可能需要編輯 /etc/modules ,自行將 hdaps 加入其中。

確定 hdaps 載入後,我們再進一步確定此功能是否會如預期般運作。首先儲存下列的指令稿,並執行它 (它會一直顯示0,直到你按 Ctrl+C中止它)。接著用手拿起你的小黑,輕輕晃動一下。只要 hdaps 正常運作的話,你就會看到執行中的指令稿顯示 "unload disk heads" 的訊息。房間安靜的話,你還會聽到"卡"地一聲。這就表示 hdaps 確實啟動了 APS 系統保護你的硬碟。

#!/bin/sh


while true; do
  v=`cat /sys/block/sda/device/unload_heads`
  echo $v
  if [ "$v" != "0" ]; then
    #break

    echo "unload disk heads"
  fi
  sleep 1s
done

附帶一提,如果你也在用 tp_smapi 模組的話(tp_smapi並不會影響hdaps的運作),那麼 Ubuntu 10.04 已經提供了很好的整合。你只需要先安裝 tp-smapi-dkms 套件,再安裝 hdapsd 套件,不需要手動加入什麼參數。其他版本可能仍然需要在編譯 tp_smapi driver 時加入選項 HDAPS=1

樂多舊網址: http://blog.roodo.com/rocksaying/archives/13873769.html

樂多舊回應
hyslion AT gmail.com(yushin) (#comment-21814153)
Thu, 16 Jun 2011 13:03:22 +0800
您好!我想請問一下您的hdapsd在使用時會不會吃掉大量的CPU呢?
未留名 (#comment-21834473)
Tue, 28 Jun 2011 20:56:15 +0800
不會。你可能是把硬碟鎖住時的系統停頓現象,誤以為是 CPU 負載過高。

系統在運作時,其實有許多資料都在讀取硬碟內容。就連我用中文輸入法打字時,也是不時地搜尋硬碟中的字根表。如果在讀取過程中鎖住硬碟,就會停一下。

像我坐高鐵時,那列車行駛時的震動狀況,會連續觸動 APS 機制,讓我連聽音樂都不順。最後我直接把音樂檔複製到虛擬磁碟機(記憶體磁碟區),讀音樂檔的動作才不再受到 APS 影響。

當然,複製到 SD 上也可以。