DMESG には以下が表示されます。
[sdb] Attached SCSI removable disk
- Linuxは、取り外し可能なものとそうでないものをどのように決定しますか?
- デバイスが「削除可能」であること、または/sysまたは/procにあるものなどのログ以外のデバイスであるかどうかを確認する方法はありますか?
答え1
とりわけ、すべてのブロックデバイスにはremovable
属性があります。ブロックデバイス属性。これらの属性はユーザー領域で読み取ることができます。システムファイルシステム例えば。/sys/block/DEVICE/ATTRIBUTE
/sys/block/sdb/removable
ATTR{removable}=="0"
udevルールを使用するか、このプロパティからこのプロパティをクエリできますATTR{removable}=="1"
。
リムーバブル(デバイスは存在しますがメディアがない可能性があります)は、ホットスワップ可能(デバイスが行ったり来たりする可能性があります)とは異なります。たとえば、CDドライブは取り外し可能ですが、通常ホットスワップはできません。 USBフラッシュドライブは両方ですが、外部エンクロージャのハードドライブは通常ホットスワップ可能ですが、取り外すことはできません。
デバイスが取り外し可能と見なされる具体的な詳細を知りたい場合は、さらに詳しく調べる必要があります。カーネルソースコード。検索removable
- 間違ったクリックが多すぎません。 SCSIデバイスの場合、このremovable
ビットはデバイスから読み取られます。scsi_add_lun
とSCSIクエリコマンド。
答え2
一生懸命努力した後、2番目の質問に対する答えを見つけました。
cat /sys/block/sda/removable