バッチでパーティションを作成した後、パーティションノードにアクセスできませんでした。

バッチでパーティションを作成した後、パーティションノードにアクセスできませんでした。

したがって、デバイスをインポートしてパーティションを分割し、そのパーティションのデバイスノードを作成するプログラムがあります。問題は、ある種の再検索が強制されるまでカーネルがデバイスを選択しないことです。たとえば、

  • パーティションデバイス
  • ノードの作成
  • 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ドライブが接続されているか、ホットプラグされています。

おすすめ記事