私はUbuntu 12.04を使用しています。フラッシュドライブのアイコン(Unityの左バー)をクリックすると、2つのオプションが表示され、混乱します。ejectおよびsafely削除。
私が答えに近づいたのは このフォーラムのスレッド でした。これは、(フラッシュドライブの場合)両方が等しく、umount
コマンドを使用することと同等であると結論付けています。ただし、この最後の主張は誤りのようです。
コンソールからumount
を使用してフラッシュダイビングのマウントを解除し、その後lsblk
コマンドを使用しても、デバイスが表示されます(もちろん、MOUNTPOINTの下には何もありません)。 。一方、フラッシュドライブをejectまたはsafely removeすると、lsblk
にリストされなくなります。
つまり、私の質問は、ejectおよびsafely removeの動作を実際に再現するコンソールコマンド/コマンドは何でしょうか?
systemd
を使用している場合は、power-off
オプションを指定したudisksctl
ユーティリティを使用します。
電源を切る
ドライブを安全に取り外して電源を切るように手配します。 OS側では、ドライブを使用しているプロセスがないことを確認してから、処理中のバッファーとキャッシュを安定したストレージにコミットするように要求します。
まず、そのUSB上のすべてのファイルシステムをアンマウントすることをお勧めします。これはudisksctl
でも実行できるため、手順は次のとおりです。
udisksctl unmount -b /dev/sda1
udisksctl power-off -b /dev/sda
systemd
を使用していない場合は、古き良きudisks
が機能するはずです。
udisks --unmount /dev/sda1
udisks --detach /dev/sda
umount
はディスクに対して完全に安全です。これを実行したら、ファイルシステムのマウントを正常に解除でき、これらの行に沿って心配する必要はありません。 ejectとumount
の主な違いは、ディスクにはまったく関係ありません。USBポートの5v電源出力に関するものです。
umount
を実行した後も、ディスクの電源が入っており、接続されているため、lsblk
にディスクが表示されます。 umount
内蔵ハードディスクのファイルシステム。同じ理由で同じ動作が見られます。しかし、あなたがeject USBデバイスの電源を切ると、通常は5vの描画が停止します-通常は.5vまで低下しますが、そのクラスはずっと前に発生しました。
lsblk -f /dev/disk/by-id/usb-SanDisk_Cruzer_200522428118F4325EC2-0:0
NAME FSTYPE LABEL UUID MOUNTPOINT
sdd
├─sdd1 vfat USBESP 3AD6-C7CC
└─sdd2 ext4 USBROOT 5afbfe93-6955-44ec-8c4f-cf381f8ef174
ここにそのUSBバスパスがあります...
cat /sys/bus/usb/devices/5-3/manufacturer
SanDisk
取り付けはほとんどしていませんが、長い間接続されて点滅していると思います...
cat /sys/bus/usb/devices/5-3/power/{level,connected_duration}
on
1777877440
私はそれについて何かをすべきです:
echo 1 | Sudo tee /sys/bus/usb/devices/5-3/remove
もう一度見てみましょう...
cat /sys/bus/usb/devices/5-3/power/level
cat: /sys/bus/usb/devices/5-3/power/level: No such file or directory
うーん...
lsblk -f /dev/disk/by-id/usb-SanDisk_Cruzer_200522428118F4325EC2-0:0
lsblk: /dev/disk/by-id/usb-SanDisk_Cruzer_200522428118F4325EC2-0:0: not a block device