Difference between revisions of "Hard Drive Active Protection System (简体中文)"

From ArchWiki
Jump to: navigation, search
(modify interlanguage links and template"TranslationStatus" because of the movement of the article)
(forget use underline instead of space in the article title... (template "TranslationStatus (简体中文)"))
Line 1: Line 1:
 
[[Category:Laptops (简体中文)]]
 
[[Category:Laptops (简体中文)]]
 
[[en:Hard Drive Active Protection System]]
 
[[en:Hard Drive Active Protection System]]
{{TranslationStatus (简体中文)|Hard Drive Active Protection System|2013-08-02|269294}}
+
{{TranslationStatus (简体中文)|Hard_Drive_Active_Protection_System|2013-08-02|269294}}
 
这篇文章描述的是如何在Arch Linux上配置HDAPS.HDAPS意为"硬盘主动防护系统"。它的作用是在硬盘受到突然冲击时(比如你的笔记本掉落或撞击到桌子上时)保护硬盘.工作原理是在发生意外冲击时停放磁头,这样磁头就不会撞击到盘片上, 也许这会避免一个灾难性的硬盘损伤。
 
这篇文章描述的是如何在Arch Linux上配置HDAPS.HDAPS意为"硬盘主动防护系统"。它的作用是在硬盘受到突然冲击时(比如你的笔记本掉落或撞击到桌子上时)保护硬盘.工作原理是在发生意外冲击时停放磁头,这样磁头就不会撞击到盘片上, 也许这会避免一个灾难性的硬盘损伤。
  

Revision as of 03:40, 3 August 2013

翻译状态: 本文是英文页面 Hard_Drive_Active_Protection_System翻译,最后翻译时间:2013-08-02,点击这里可以查看翻译后英文页面的改动。

这篇文章描述的是如何在Arch Linux上配置HDAPS.HDAPS意为"硬盘主动防护系统"。它的作用是在硬盘受到突然冲击时(比如你的笔记本掉落或撞击到桌子上时)保护硬盘.工作原理是在发生意外冲击时停放磁头,这样磁头就不会撞击到盘片上, 也许这会避免一个灾难性的硬盘损伤。

Note: 当然,这个适用于机械硬盘。固态硬盘(SSD)不需要HDAPS.

震动检测

硬件需要支持震动检测。一般来说,实现此功能的是笔记本主板上的一个加速度计。除了硬件,还需要有驱动程序将硬件检测到的内容告诉操作系统。这个部分描述实现此功能的驱动程序。

tp_smapi

tp_smapi 是一套适用于ThinkPad的驱动程序集。如果你有一台支持此功能的ThinkPad,就算你没打算使用HDAPS也强烈推荐使用tp_smapi。除了很多有用的功能外,tp_smapi还会把加速计输出为操纵杆设备/dev/input/js# (注意! 这可能会干扰到系统的其他操纵杆设备).

从community库中安装tp_smapi.安装完成后, 添加tp_smapi 到文件 /etc/modules-load.d/tp_smapi.conf重启后会启动大部分的驱动,设备信息位于/sys/devices/platform/smapi

内核有自己的 HDAPS 驱动,之前需要手动装载模块 tp_smapi 模块,现在tp_smapi 软件包会将hdaps.ko 安装到 /lib/modules/$(uname -r)/updates,替换掉内置模块。这样只需加入hdaps模块就好了。

Note: 参见 这个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"项中得出你需要的参数值.

保护

现在,你的硬件已经能将受到冲击的信息报告给操作系统,我们需要让操作系统在收到此信息后保护硬盘.这个部分描述的是在收到信息后保护硬盘的软件.

hdapsd

hdapsd可以接收HDAPS传感器的信息并判断是否受到冲击,如果是的话通知内核停放磁头.

安装hdapsd.

pacman -S hdapsd

检查 /etc/conf.d/hdapsd ,确保它保护的是正确的硬盘.

如果你使用systemd,你只需要设定hdapsd守护进程自启动和启动hdapsd守护进程.

# systemctl enable hdapsd
# systemctl start hdapsd

图形界面工具

这里有一些显示hdapsd状态的软件,通过它们你很容易知道发生了些什么.你可以选择不安装它们,不过它们很方便.

gnome-hdaps-applet

这是一个GNOME面板小程序 (Note: XFCE也可以使用GNOME面板小程序) ,它可以显示硬盘的当前状态. AUR上有PKGBUILD(见此). 如果你不想默认显示hda或sda,请在编译前修改PKGBUILD.

KDE plasmoid

对于KDE4, 这儿有一个plasmoid的HDAPS面板小程序. HDAPS-Monitor plasmoid 在AUR上.

xfce4-hdaps applet

这是一个Xfce4面板小程序. 它也在AUR上. 安装后将它添加到面板.

thinkhdaps A standalone GTK applet

这是一个独立的GTK小程序.运行时会在通知区显示图标. 也在AUR上.

hdaps-gl

这是一个简单的OpenGL程序 ,它以3D动画的形式显示您的ThinkPad的状态,和联想的Windows下的软件很像. hdaps-glAUR 在AUR上.

参见