2013年10月16日水曜日

パーティションテーブルをゼロ書きしたら、blockdev --rereadpt しよう

dd if=/dev/zero of=/dev/$device bs=1024 count=1024
とりあえず、パーティションテーブルを潰してまっさらにしたい時がある。だけど、システムは更新されたことに気付かない[1]のでこれを手動で叩いてあげる。
blockdev --rereadpt
他にもhdparm -z でも同様のことができる
-z Re-read partition table


man blockdev(8)
ソースコード:http://util-linux.sourcearchive.com/documentation/2.19.1-5/blockdev_8c_source.html
本当にioctlを叩いてるだけ。--rereadptの時はioctl(fd, BLKRRPART, 0)が発行される。

ちなみに、partedなどを使っている場合は当然そちら側で同様のことをしているのでわざわざやる必要はない。

[1]具体的にはゼロ書きの後にls /dev/sd*などとすると、/dev/sda /dev/sdb1 /dev/sdc2 とかが存在する。

0 件のコメント:

コメントを投稿