有没有办法手动关闭USB HDD?


11

我有一个USB供电的外部HDD连接到我的DELL笔记本电脑。有时,在侧栏中的图标弹出菜单中单击“安全删除”项目后,该驱动器将被卸载并从/dev/文件夹中删除(sdb并且sdb1两个都被删除)并且lsusb不显示设备,但显示硬盘保持旋转,我可以通过将手指放在上面来感觉到振动。但是在单击“安全删除”后几秒钟,它停止旋转并且没有振动。有什么办法(可能是CLI命令)将其关闭?

Answers:


14

尝试这个:

udisksctl unmount -b /dev/sdXY
udisksctl power-off -b /dev/sdX

在Linux Mint或Ubuntu上


1
关闭驱动器电源时出错:正在使用驱动器:已安装设备/ dev / sdd1(udisks-error-quark,14)
Elder Geek

3
如您所知,您只需要先卸载@ElderGeek ...我就进行了更正,特别是因为udisksctl据我所知,这里没有其他答案。如果您不同意,请随时回滚,等等
Zanna

这是正确的答案。我很想知道那是什么!事实证明,磁盘由udisk管理,而udisk由udisksctl控制。
Marcus

13

hdparm -y /dev/sdb以root用户身份运行将导致磁盘停止旋转。如果有任何内容访问磁盘,它将再次旋转。

手册页建议这仅对IDE驱动器有用。但是,我已经测试过它可以与运行14.04的Dell连接的USB驱动器一起使用。手册页上说该命令通常会导致驱动器旋转,这表明存在一些驱动器,当发出此命令时它们不会旋转。


此命令可能会导致我的驱动器或数据出现任何问题(请参阅user283885的回答)吗?
PHP Learner 2015年

@PHPLearner这是警告您不要在编写所有内容之前断开驱动器的连接。无论驱动器是否在旋转,该警告均适用。但是,确保在旋转磁盘之前已写入所有内容始终是一个好主意。您可以输入sync ; hdparm -y /dev/sdb
kasperd 2015年

2
我得出的结论是,如果运行sync ; hdparm -y,则无需担心驱动器或驱动器上的数据。我可以随时断开驱动器的连接吗?
PHP学习者

2
@PHPLearner您仍应确保先卸载驱动器。
kasperd

3

如果您的台式机工作不正常,那么您总是可以在终端上回退。

sudo umount /dev/sdXY
# (this will umount, it will complain on opened files, if so lsof and see which ones.)
sudo sync  
# ( this flushes all buffers to disk. It will ensure that no data is lingering in ram.)
sudo eject /dev/sdX
# ( this works on dvd/cds and some, not all usb devices, it detaches the device from the port. Some devices "get smart" and try to reset and readd themselves to the disk, however all caches are clean and safe to unplug).

另一方面,一旦将某个设备标识为 USB上的块设备,则可以根据需要在该设备上使用sdparmhdparm停放磁头,但是使用此类工具将不会闪存缓冲区。而且,如果您忘记了设备正在休眠并需要重新供电,则可能会破坏数据。


关于数据损坏,如果使用,是否可以hdparm -fFy确保不会发生数据损坏?
PHP Learner 2015年

1
这样做umountsync并且eject不会关闭驱动器电源,也不会从任务栏中删除驱动器图标。这些命令似乎与“安全删除”不同。但是hdparm -y仅在“安全删除”之前停止驱动器旋转,但是在“安全删除”之后我需要将其关闭(停止旋转)。我认为最好在新问题中提出正确的问题
PHP学习者

正如Learner所说,上述组合可确保您没有数据残留,并且可以拔出驱动器。硬盘驱动器将盘片的其余旋转旋转用作发电机,以产生足够的动力来停放磁头,因此,只要不晃动驱动器,只需拉动绳索即可确保安全。Linux是一个非常自由的操作系统,在将内存中的数据刷新到磁盘之前,不会阻止您关闭驱动器的电源,因此您可以自拔。但是,如果仍然不愿意拉扯电源线,可以冲洗使用hdparm关闭电源。
user283885

如果弹出将硬盘驱动器从/ dev中移除,则可以关闭硬盘驱动器所连接的USB端口的电源,如此处stackoverflow.com/questions/4702216/… 所述,这与拉动线缆相同。再次,诀窍是让驱动器在无震动的情况下旋转约30秒。您可以将手掌轻轻放在其顶部,并感觉是否还在嗡嗡作响。如果没有,那么移动是安全的。
user283885

@Fabby有些答案是在学习我的好东西,但是没有一个显示关闭“安全删除”硬盘的方法。所有命令仅在“安全删除”之前有效,因此我不接受任何命令!
PHP Learner

2

尝试使用“ 磁盘”实用程序-该实用程序应该在菜单上的某个位置(在我的情况下为附件)。您还可以通过运行从终端启动它

gnome-disks

...然后选择磁盘,您将在窗口右上角看到一个电源按钮,提示为“关闭驱动器电源”


0

拔下USB电缆即可。如果不是,则将其重新插入并再次安全地将其卸下,直至其脱离。


即使听起来很奇怪,问题中的“手动”也意味着“自动”。
EnzoR '16

实际上,这是保证与所有“安全移除”的USB块设备一起使用的唯一答案。通过hdparm发出待机命令不会总是降低每个驱动器的速度,其他任何不包括此步骤的方法也不会降低速度。
年长者怪胎

0

这就是我在Linux Mint 17.3上这样做的方式

  1. 列出具有分区的驱动器,并确保选择正确的驱动器

    lsblk
    
  2. 卸载磁盘的所有已安装分区,例如使用此命令模式

    sudo umount /dev/sdXY
    

    其中X是您的驱动器号,Y是您要卸载的分区号。

  3. 停止硬盘

    udisks --detach /dev/sdX
    
  4. 拔下USB线


-1

我有三种同样有效的解决方案,您可以从中选择。

我个人的解决方案是购买一个为每个端口配备电源开关的使用集线器。我发现它非常方便。如果我还记得的话,它在亚马逊上的售价仅为6美元左右。在发布此消息之前,我会先看看是否可以找到您要出售的商品,但这足以告诉您存在这样一款价格合理的设备。 找到了!

此其他讨论中,确定存在一个终端命令,该命令可用于从字面上禁用选定USB端口的电源。之所以出现这个问题,是因为提出该问题的用户正在使用电池供电的平板电脑,而他粗心的牛郎们正在插入手机进行充电,从而耗尽了电池电量。查看发现解决方案的家伙!;-)

最后,可能取决于所述驱动器的品牌和功能,应该在卸载之前向驱动器发送一个“ spin down”命令。我从来没有手动使用过这样的命令,但是在DOS时代,在节能功能普及之前,那是您必须要做的事情,因此可以肯定的是,今天有一种方法可以解决这个问题写出来可能就像写驱动器制造商,浏览他们的网站或搜索正确的问题(即“硬盘驱动器的减速命令”)一样简单。我不支持以下解决方案。我进行了一次随意搜索,发现了这一点。你的旅费可能会改变。让我知道它是否适合您。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.