したがって、デバイスをインポートしてパーティションを分割し、そのパーティションのデバイスノードを作成するプログラムがあります。問題は、ある種の再検索が強制されるまでカーネルがデバイスを選択しないことです。たとえば、
- パーティションデバイス
- ノードの作成
- catノード> cat:/ dev / xxx:対応するデバイスまたはアドレスがありません。
しかし、これはうまくいきます:
- パーティションデバイス
- ノードの作成
- cfdisk /dev/xxx を実行してすぐに終了します。
- 猫ノード>うまくいく
なぜこれですか? SCSIバスなどを再検索できる一種のioctlはありますか?
そしてこれはうまくいきません。
echo "- - -" > /sys/class/scsi_host/hostX/scan
答え1
使用partprobe /dev/xxx
partprobe
パッケージの一部ですparted
。マニュアルページから:
partprobe
パーティションテーブルの変更をオペレーティングシステムカーネルに通知するプログラムです。
パーティション化されたデバイス(ディスクイメージファイルなど)があり、そのデバイスノード(/ dev / loop *など)を自動的に作成してカーネルに通知したい場合は、他のオプションは次のものを使用できることですkpartx
。 USBまたはSATAドライブが接続されているか、ホットプラグされています。