Answers:
不。他们也不必那样做。eject
用于打开无法直接从中拉出介质的光盘驱动器。
卸载对于USB / eSATA / etc就足够了。存储设备。
sync
猛拉出来之前
eject
则底层USB设备驱动程序可能仍(尝试)写入后umount
返回。如果驱动器具有状态LED,则可以清楚地看到。umount
终止后立即摇晃USB记忆棒是RECIPE FOR DISASTER。
是。例如:
sudo eject /dev/sda
此处表明您需要机械弹出硬件的其他答案不正确。
卸载与弹出不同。
sudo
该命令来完成操作(要做的就是卸载驱动器,然后说它无法打开文件)。除此之外,有用的答案。
eject
可以使用,但对于USB 旋转驱动器并不能真正“完成工作” 。
正确卸载后,拔出USB外部硬盘驱动器的最佳方法是:
udisks --detach /dev/sdb
这通常会使驱动器正常旋转。
准确地说,当前的实现:
此过程接近此处建议的手动过程。最初的答案是关于askubuntu。
编辑:另外,正如g.rocket指出的,此命令可能等效:
udisksctl power-off -b /dev/sdb
udisksctl
没有--detach
药水的ubuntu onyl 上可用。在这种情况下该怎么办?谢谢。
udisks
。
udisks
?它不在我的系统上。我找到了该软件包udisks2
,但没有 提供udisks
或udisks2
可用。
udisksctl power-off -b /dev/sdwhatever
似乎也做同样的事情。
手动卸载磁盘/ dev / sdb的步骤(需要sudo):
echo 'offline' > /sys/block/sdb/device/state
echo '1' > /sys/block/sdb/device/delete
这将完全关闭设备电源,并将其与系统分离。在断开连接并重新连接之前,不会再次检测到它。
hdparm -Y
对于SATA / IDE驱动器也很方便。
如果您仔细阅读了eject(1)手册页,您会发现有四种弹出方法:
-r This option specifies that the drive should be ejected using a CDROM
eject command.
-s This option specifies that the drive should be ejected using SCSI
commands.
-f This option specifies that the drive should be ejected using a remov‐
able floppy disk eject command.
-q This option specifies that the drive should be ejected using a tape
drive offline command.
当您在HDD / SCSI上调用弹出时,它发出ioctl(fd, SG_IO, (void *)&io_hdr);
命令(从eject.c
源复制)。
这等效于您在MS Windows或MaxOSX中安全删除设备。
对于某些设备,这具有特殊的含义。例如,将弹出命令后的Kindle 3 移至充电模式,并允许在屏幕锁定之前在设备上进行浏览。
另一个公用程式也一样
scsi-spin --force --down /dev/sda
udisks --detach /dev/sdX
其中(X)是USB设备的最后一个字母。它可以在任何Linux系统上正常工作。
eject /dev/sdX
ISsg_start -s /dev/sdX
(从sg3_utils
包),都使用SCSI命令发送到设备。