我有一个通过 USB 连接到 PC 的外部硬盘。该硬盘格式化为 Linux,即 ext4,用于备份。它有自己的独立电源。当我打开电源时,它会启动并自动安装,这很棒。我备份后想关闭它。(当我不备份或使用备份时,运行它是没有意义的,而且它会变热并消耗不必要的电量)。我的问题是关闭它的最佳和最安全程序是什么?
感谢大家提供的所有真正有用的答案。我正在使用 Ubuntu 18.04,因此将使用 GUI 选项,直到将来它消失为止。然后,我保存了所有其他答案以备不时之需!非常感谢大家花时间帮助我:谢谢。
答案1
我使用了前面提到的解决方案的变体,将其包装在 bash 脚本中,并从桌面图标启动。由于我的应用程序用于外部 USB 驱动器,因此我包含了代码以根据我的 USB 驱动器的具体名称(SILICON16GB)识别相关设备名称。该过程的主要组成部分是:
# Flush USB drive buffer
sync
# Identify the device name for the SILICON16GB USB drive
usblongname=$(lsblk -l | grep SILICON16GB)
usbname="${usblongname:0:4}"
# Unmount the USB drive
udisksctl unmount -b /dev/$usbname
# Power off the USB drive
udisksctl power-off -b /dev/$usbname
请注意,使用 sync 命令会导致脚本等待,直到对 USB 驱动器的所有写入都已完成。该脚本是故障安全的,因为如果驱动器已卸载,它不会执行任何操作。更多详细信息和 bash 脚本的完整列表可在以下位置找到:https://linuxnorth.wordpress.com/2018/01/25/safely-removing-a-usb-drive-with-a-bash-script/
答案2
答案3
卸载 USB 硬盘的分区后,你可以运行udisksctl power-off -b /dev/sd?
对于?你必须根据你的情况进行调整。
我的备份驱动器的示例udisksctl power-off -b /dev/sdc
答案4
我将卸载外部驱动器上所有已安装的分区(在您的情况下可能只有一个 ext4 分区),
sudo umount mountpoint
或者
sudo umount /dev/sdxn
其中mountpoint
是要卸载的分区的路径,是要卸载的分区的x
设备字母和分区号。n
检查卸载命令是否成功完成并且终端窗口是否返回提示。
卸载操作完成后,缓冲区被刷新,所有待处理内容被写入驱动器的物理位置,然后就可以安全地关闭外部驱动器了。