硬盘驱动器在笔记本电脑睡眠/唤醒时旋转,我可以阻止它这样做吗?

硬盘驱动器在笔记本电脑睡眠/唤醒时旋转,我可以阻止它这样做吗?

我的运行 Arch Linux 的笔记本电脑有一个 SSD 和一个 HDD;后者我很少使用。它安装为 /mnt/sdb5 并配置为在使用电池时主动停止运行(/etc/default/tlpDISK_APM_LEVEL_ON_BATsdb 的值为 1)。

然而,磁盘在两种情况下会旋转,我希望它不要旋转:

  • 当我暂停机器时,它会旋转起来,然后它们会立即再次下降。我一生都无法想象为什么它会这样做,因为自从安装驱动器以来我什至都没有碰过它。

  • 当我唤醒机器时,它会旋转。也许是为了确保它的存在或类似的事情?

(它也会在启动时旋转,但我明白。当然它必须读取分区表。)

我可以在不卸下硬盘驱动器的情况下避免这些旋转吗?我很愿意只在我想使用它或类似的东西时才安装它。

答案1

大多数驱动器制造商使用跳线设置来使设备能够管理自己的电源。例如,在绿色 Western Digital 驱动器上,跳线针 3 和 4(从驱动器后部看跳线块时,从右侧算起第二行)。一旦完成此操作,除非有命令,否则驱动器将永远不会旋转。这允许 RAID 或存储控制器按顺序或根据需要启动驱动器。

下面建议了一些非 Arch 特定的方法。你的旅费可能会改变。

驱动器跨接后,安装时需要触发启动。在启动过程中,这是通过 /etc/init.d 中的脚本或“启动 mountall 时启动”触发的脚本来完成的,具体取决于系统的 init(8)。如果您在需要时才安装,那么这不是问题。

一旦检测到它们,udev(8) 或其他守护进程可能会神奇地启动休眠磁盘,从而需要修改守护进程的规则。

可能需要创建/sbin/mount。用于拦截挂载命令并在使用 FS 类型的原始挂载程序之前准备好磁盘的脚本。例如,将 /sbin/mount.cifs 移动到 /usr/lib/mount/ 等某个位置,并从您放入 /sbin/mount.cifs 的脚本(或程序)调用它,该脚本最初为驱动器供电并可能等待它做好准备。

umount(8) 如上所述,使驱动器进入睡眠状态。

当设备更改状态时,udev(8) 将发出您可能想要处理/使用的“设备关闭/在线”事件。

一旦您的设备仅在需要时旋转,您可能会考虑使用 automount(8) 或 afuse(8) 进行自动管理。这样,每当您引用睡眠驱动器上的文件时,它都会透明地旋转、安装和返回数据——尽管会有一些延迟。当空闲一段时间后,它将 umount(8) 并停止旋转。

答案2

要禁用启动时安装的分区,您需要编辑/etc/fstab.要让硬盘在启动时不自动挂载,请为每个分区添加一行,例如:

/dev/sdb5 / auto noauto 0 0

更新:

sudo hdparm -y /dev/sdb

   -y     Force  an  IDE drive to immediately enter the low power consump‐
          tion standby mode, usually causing it to spin down.  The current
          power mode status can be checked using the -C option.

hdparm -S X? /dev/sb5X在哪里?根据下面的描述,但据我所知 1 将导致 5 秒工作然后“睡眠”

这是来自man hdparm

   -S     Put the drive into idle  (low-power)  mode,  and  also  set  the
          standby (spindown) timeout for the drive.  This timeout value is
          used by the drive to determine how long to wait  (with  no  disk
          activity)  before  turning  off the spindle motor to save power.
          Under such circumstances, the drive may take as long as 30  sec‐
          onds  to respond to a subsequent disk access, though most drives
          are much quicker.  The encoding of the timeout value is somewhat
          peculiar.   A  value  of zero means "timeouts are disabled": the
          device will not automatically enter standby mode.  Values from 1
          to  240 specify multiples of 5 seconds, yielding timeouts from 5
          seconds to 20 minutes.  Values from 241 to 251 specify from 1 to
          11 units of 30 minutes, yielding timeouts from 30 minutes to 5.5
          hours.  A value of 252 signifies a  timeout  of  21  minutes.  A
          value  of 253 sets a vendor-defined timeout period between 8 and
          12 hours, and the value 254 is reserved.  255 is interpreted  as
          21  minutes  plus  15  seconds.  Note that some older drives may
          have very different interpretations of these values.

如果有帮助的话可以添加到/etc/hdparm有点不同的地方。

相关内容