web-dev-qa-db-ja.com

umountをイジェクト/安全に削除

私はUbuntu 12.04を使用しています。フラッシュドライブのアイコン(Unityの左バー)をクリックすると、2つのオプションが表示され、混乱します。ejectおよびsafely削除
私が答えに近づいたのは このフォーラムのスレッド でした。これは、(フラッシュドライブの場合)両方が等しく、umountコマンドを使用することと同等であると結論付けています。ただし、この最後の主張は誤りのようです。
コンソールからumountを使用してフラッシュダイビングのマウントを解除し、その後lsblkコマンドを使用しても、デバイスが表示されます(もちろん、MOUNTPOINTの下には何もありません)。 。一方、フラッシュドライブをejectまたはsafely removeすると、lsblkにリストされなくなります。

つまり、私の質問は、ejectおよびsafely removeの動作を実際に再現するコンソールコマンド/コマンドは何でしょうか?

46
LGenzelis

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
70
jimmij

umountはディスクに対して完全に安全です。これを実行したら、ファイルシステムのマウントを正常に解除でき、これらの行に沿って心配する必要はありません。 ejectumountの主な違いは、ディスクにはまったく関係ありません。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
15
mikeserv