我希望能够从任务计划程序中弹出某个磁盘。我可以使用lsusb -ciu命令找出要弹出的磁盘。例如,如果我想弹出磁盘5-1.2,我该怎么做?
我尝试了一些我在一些支持页面上看到的脚本,但没有一个有效。也许你做错了什么。这对我不起作用,驱动器仍在运行。
echo "5-1.2" > /sys/bus/usb/drivers/usb/unbind
设备被弹出,但nas显示警告:设备未安全弹出。
我也尝试过以下脚本。它也会将其拔出,但不会安全弹出外部硬盘驱动器的警告会再次出现。
USBDEVICE="5-1.2"
echo 0 > /sys/bus/usb/devices/$USBDEVICE/authorized
这是怎么回事?
您列出的命令只是切断了与磁盘的 USB 连接,相当于拔掉了插头。但是,当您将其插入时,Linux(Synology NAS 软件的底层操作系统)已安装其中包含的文件系统,以使软件可以访问文件。在断开 USB 连接之前,必须撤消此操作,即卸载过程,否则文件系统可能会处于不一致状态。当您在 GUI 中单击“安全删除”时会发生这种情况。
为了从脚本中执行此操作,您必须首先找到与 USB 磁盘上的文件系统分区关联的块设备的名称。例如,这列在
df
命令输出的“文件系统”列中。一个典型的名称是/dev/sde1
第五个物理磁盘的第一个或唯一一个分区。然后将该名称传递给umount
命令(注意:在初始的“u”之后没有“n”),如下所示:请注意,一个磁盘可能包含多个文件系统分区。在这种情况下,您必须先卸载所有这些,然后才能以物理方式或以编程方式切断 USB 连接。