硬碟主動防護系統 - Arch Linux 中文维基

跳至內容

# 硬碟主動防護系統

出自 Arch Linux 中文维基
翻譯狀態：

- 本文（或部分內容）譯自 Hard Drive Active Protection System，最近一次同步於 2023-05-23，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

相關文章

- hpfall

硬碟主動防護系統(HDAPS)可以在硬碟受到突然衝擊時(比如你的筆記本掉落或撞擊到桌子上時)保護硬碟,其工作原理是在發生意外衝擊時停放磁頭,這樣磁頭就不會撞擊到碟片上,也許這會避免一個災難性的硬碟損傷。參閱wikipedia:Active hard-drive protection。

注意：固態硬碟不需要HDAPS,因為其不包含高速旋轉的機械部件.

## 震動檢測

硬體需要支持震動檢測。一般來說，實現此功能的是筆記本主板上的一個加速度計。除了硬體，還需要有驅動程序將硬體檢測到的內容告訴作業系統。這個部分描述實現此功能的驅動程序。

### tp_smapi

tp_smapi 是一套適用於ThinkPad的驅動程序集。如果你有一台支持此功能的ThinkPad，就算你沒打算使用HDAPS也強烈推薦使用tp_smapi。除了很多有用的功能外，tp_smapi還會把加速計輸出為操縱杆設備`/dev/input/js#`

注意：這可能會干擾到系統的其他操縱杆設備

。

安裝tp_smapi包.重啟後會啟動大部分的驅動，設備信息位於`/sys/devices/platform/smapi`.

內核有自己的 HDAPS 驅動，tp_smapi包 軟體包會將`hdaps.ko` 安裝到 /lib/modules/$(uname -r)/updates，替換掉內置模塊。這樣只需在 `MODULES` 中加入`hdaps`模塊就好了。

注意：參見 這個bug報告, 某些ThinkPad使用了tp_smapi不支持的固件,並且看起來在不久的將來tp_smapi也不會支持這些固件. 這些系列存在此問題: Edge, SL, L, X1xxe. 項目頁面表示 x121e 主要功能應該沒問題，但是用戶報告無法工作，所以這些設備目前的支持都有問題。

### 模塊參數invert

某些ThinkPads需要添加invert模塊參數來正確處理X和Y旋轉軸. 如果需要的話,在`/etc/modprobe.d/modprobe.conf`中添加:

    options hdaps invert=1

例如 ThinkPad T410,可以添加`invert=1` .invert可以取如下值:

- invert=1 反轉X和Y軸;
- invert=2 反轉X軸 (如果已經倒置兩軸則此參數值無效)
- invert=4 交換X和Y (在反轉之前)

參數值可以相加. 例如, invert=5 交換兩軸後反轉兩軸. 最大的參數值是7.如果你不清楚該怎麼辦的話,可以使用hdaps-gl或者其它圖形界面工具 (見下). 另外, 你可以從這張表裡的"HDAPS axis orientation"項中得出你需要的參數值.

除了修改後重新載入 `hdaps` 模塊之外, 還可以通過直接寫 `/sys/devices/platform/hdaps/invert` 來修改 `invert` 值。

## 保護

現在,你的硬體已經能將受到衝擊的信息報告給作業系統,我們需要讓作業系統在收到此信息後保護硬碟.這個部分描述的是在收到信息後保護硬碟的軟體.

### hdapsd

hdapsd可以接收HDAPS傳感器的信息並判斷是否受到衝擊,如果是的話通知內核停放磁頭.

設置hdaps時你應該檢查硬碟的SMART信息中的"Load cycle count". 如果檢測太過於敏感的話,磁頭將會不停地進行停放操作,load cycle count將會上升很快.

安裝hdapsd包後,通過 `hdapsd@device.service` 來啟動 hdapsd 守護進程，但是不需要設置為開機啟動。

軟體包會安裝 udev 規則， udev 會對每個機械磁碟啟用 hdapsd 實例。

更多信息請參考 hdapsd github 頁面。

你可以在hdaps的unit file裡調整參數(詳見systemd的文章). 比如以下面的文件覆蓋默認的service文件將調整hdaps的靈敏度與記錄:

    /etc/systemd/system/hdapsd.service.d/sensitivity.conf

    [Service]
    ExecStart=
    ExecStart=/usr/bin/hdapsd --sensitivity=40 -blp

然後重載配置.

## 圖形界面工具

這裡有一些顯示hdapsd狀態的軟體,通過它們你很容易知道發生了些什麼.你可以選擇不安裝它們.

xfce4-hdaps — Xfce4面板小程序.

  http://michael.orlitzky.com/code/xfce4-hdaps.xhtml || xfce4-hdapsAUR

HDAPSicon — （之前的thinkhdaps）是一個獨立的GTK小程序.運行時會在通知區顯示圖標.

  https://github.com/thpani/thinkhdaps || hdapsicon-gitAUR

hdaps-gl — 一個簡單的OpenGL程序 ,它以3D動畫的形式顯示您的ThinkPad的狀態,和聯想的Windows下的軟體很像.

  https://github.com/evgeni/hdapsd || hdaps-glAUR

## 參見

- How to protect the harddisk through APS at ThinkWiki
- HDAPS at ThinkWiki

分類：​

- 筆記本電腦

硬碟主動防護系統
新增話題