我想在卸载之前从终端降低外部硬盘的转速。
它是一个通过 USB 连接的 SATA 驱动器。
运行 hdparm 会出现以下情况
ry@G62x:/media$ hdparm -S10 937b2299-48ff-4a9c-8228-67ed4453e8fb/
937b2299-48ff-4a9c-8228-67ed4453e8fb/:
setting standby to 10 (50 seconds)
HDIO_DRIVE_CMD(setidle) failed: Inappropriate ioctl for device
答案1
您可以使用 的命令行功能从终端轻松安全地卸载和关闭外部硬盘udisks
,如果您的系统设置正确,则无需使用 sudo。(要列出您的设备名称,请先mount
在终端中输入。)
找到外部驱动器后,使用以下命令。您必须先卸载分区(使用sdb1
或mount
显示为位置的任何内容):
udisks --unmount /dev/sdb1
然后为了安全地移除(即旋转停止 - 您会听到它咔哒一声并旋转停止),仅使用sdb
,例如:
udisks --detach /dev/sdb
笔记:它是至关重要此处,使用该选项时,请使用sdb
或sdc
而不使用分区号detach
;即sdb1
或sdc1
将不起作用。必须先卸载分区,然后磁盘本身才会旋转,如示例所示。
这些udisks
命令对我的所有 pata 和 sata 外部硬盘均能成功运行。
答案2
在我的情况下,udisk 选项不起作用,但以下选项起作用:
sudo umount /dev/sdb1
sudo hdparm -y /dev/sdb
我在使用外部 USB 驱动器远程关闭无头 Linux 服务器时使用这些命令。我无需担心安全性,因此服务器密码就在脚本中。
对于 Ubuntu 服务器和 Windows 客户端,假设已安装 PuTTY,则以下批处理文件:
C:\"Program Files (x86)\PuTTY\plink.exe" -ssh -t -l SERVERUSERNAME -pw PASSWORD -noagent 192.168.2.22 "echo PASSWORD | sudo umount /dev/sdb1 ; sudo -S hdparm -y /dev/sdb; sudo -S halt -i now"
对于 Debian 服务器,将其替换sudo halt -i now
为shutdown -h -P
;在这两种情况下,网卡都保持唤醒状态,因此可以稍后唤醒。
答案3
如果是 2.5 英寸驱动器,卸下后约 15 秒,您应该能够听到驱动器发出咔嗒声。此时驱动器将读写头放在一边,您可以安全地将其移除。如果是 3.5 英寸驱动器,则无法通过降低驱动器转速来更安全地移除驱动器。
答案4
对于外部 USB 磁盘,使用
sg_start --stop /dev/sdb
使用安装
sudo apt-get install sg3-utils
适用于我的 WD My Book Essential Disks。