web-dev-qa-db-ja.com

LinuxデバイスからUSBを安全に削除する

Linuxを実行する組み込みデバイスでUSBを使用しています。問題は、umount /media/sda1コマンドを実行してUSBをアンマウントすると、アンマウントが成功する場合がありますが、USBの削除を続行すると、FSをダーティとしてマークできないこと、およびプラグを差し戻すと、エラーが発生することです。でエラーVolume was not properly unmounted. Some data may be corrupt. Please run fsck.が発生しましたLinux端末にUSBを安全に取り出すために使用できる他のコマンドはありますか? USBデバイスの電源を切ってから、プラグを抜きます。

更新:同期を使用しようとしましたが、以下に示すようにエラーがまだ残っています:

root@(none):~# sync
root@(none):~# umount /media/sda1
root@(none):~# ls /media/sda1
root@(none):~# [  296.021241] usb 2-1: USB disconnect, device number 3
[  296.026879] sd 1:0:0:0: [sda] Synchronizing SCSI cache
[  296.031175] sd 1:0:0:0: [sda]
[  296.033743] Result: hostbyte=0x01 driverbyte=0x00
[  296.048283] FAT-fs (sda1): unable to read boot sector to mark fs as dirty
7
malik12

eject /dev/sdaは、デバイスをカーネルから安全に削除し、安全に削除できるようにします。/devを調べてパーティションエントリが削除されているかどうかを確認することで、それが削除されていることを確認できます(ベースデバイスが引き続き表示される場合があります)。

例えばUSBスティックを差し込むと、/ dev/sdgとして表示され、パーティションはsdg1として表示されました。アンマウントすることはできますが、表示されますが、イジェクト後は消えます

$ ls /dev/sdg*
/dev/sdg  /dev/sdg1

$ df | grep sdg
/dev/sdg1       59632764  47460364   9136496  84% /media/sweh/music

$ umount /dev/sdg1

$ ls /dev/sdg*
/dev/sdg  /dev/sdg1

$ Sudo eject /dev/sdg

$ ls /dev/sdg*       
/dev/sdg
5
Stephen Harris