私は、カーネル(CentOS 5.5の2.6.18-194-el5)がドライブのパーティションを認識できるようにするために、scsiバス(または他のバス)を更新する方法を探していました。方法を見つけません。partprobeは即座にそれを行いました。どうやって?
それは重要なので、私がやっていたことは次のとおりです。
サイズ変更、MBRのバックアップ、復元など、パーティション固有のことを練習したかったのです。/ dev / sdbに20GBのパーティションを作成し、MBRをバックアップしました。
dd if = / dev / sdb of = sdb.mbr bs = 512 count = 1
それから私はfdiskに入り、パーティションを削除し、書き込み、そして終了しました。
ls / dev / sdb *
パーティションがないことを示し、
fdisk -l / dev / sdb '
一致したので、私は私が良かったと思いました。
次に、ddを逆にしました。
dd if = sdb.mbr of = / dev / sdb bs = 512 count = 1
もちろん、その時点では何もしていませんでした。
ls / dev / sdb *
パーティションはリストしませんでしたが、
fdisk -l
ディスク上の最初の512バイトを読み取り、カーネルに依存していないためと思われます。私はバスをリフレッシュする必要があることを知っていたので、/ sys / class / scsi_host / host1に入り、
echo "---">スキャン
そしてやっている
ls / dev / sdb
新しいものは何も表示されなかったので、/ sys / bus / scsi / devicesにアクセスし、リストされた各デバイスについて、
エコー1>再スキャン
それはうまくいきませんでした。
その後、この問題についてさらに調査し、partedに付属している「partprobe」に出会いました。私はそれを実行し、すぐに動作しました。
ここで回答が得られない場合は、おそらくソースを取得して調べてみますが、私を超えてウィザードがいると思うので、皆さんにアピールしたいと思いました。