根据这个问题的答案
我写了这个脚本。
#!/bin/bash
echo "This script works on sdb and sdb1"
echo "Have a look at the following and if all is well continue."
lsblk
read -p "press the Enter key if you want to continue..." key
udisksctl unmount --block-device /dev/sdb1
sudo fsck /dev/sdb1
udisksctl power-off --block-device /dev/sdb
我认为指令“查看以下内容,如果一切顺利则继续”的意思是,如果输出lsblk
显示我们要删除的驱动器是逻辑驱动器,sdb1
则继续。
输出lsblk
为
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 232.9G 0 disk
├─sda1 8:1 0 549M 0 part
├─sda2 8:2 0 115.9G 0 part
├─sda3 8:3 0 833M 0 part
├─sda4 8:4 0 1K 0 part
├─sda5 8:5 0 107.9G 0 part /
└─sda6 8:6 0 7.8G 0 part [SWAP]
sdb 8:16 1 14.5G 0 disk
└─sdb1 8:17 1 14.5G 0 part /media/jack/Flash
sr0 11:0 1 1024M 0 rom
loop0 7:0 0 89.5M 1 loop /snap/core/6130
loop1 7:1 0 89.5M 1 loop /snap/core/6034
loop2 7:2 0 88.2M 1 loop /snap/core/5897
要删除的驱动器确实是逻辑驱动器sdb1
。
在过去的 2.5 年里,这个脚本与 Ubuntu 16.04 配合得很好。我平均每周使用这个脚本两次。然后在 2018 年 12 月,调用该脚本导致我的外接鼠标(Logitech Trackman)停止工作(2 次)或导致 Ubuntu 完全挂起并出现乱码屏幕(1 次)。
鉴于 Ubuntu 的变更,apt
看起来 Ubuntu 要么有新的错误,要么脚本已过时。考虑到 Ubuntu 目前的状况,正确的解决方案或正确的脚本是什么。
答案1
这是一个已知问题。某些内核会导致操作系统挂起。详情请参见此处关联。
由于这是一个内核问题,因此无论您使用 GUI 还是命令行来“安全删除”,都可能导致它发生。
引用链接页面的内容:
这是最新 4.4.0-139-generic、4.4.0-140-generic 和 4.4.0-141-generic Linux 内核的已知问题。在启动板上,它被称为错误 1803929(目前已有 5 位用户确认)。
临时解决方案是使用 138(4.4.0-138-generic)内核。