パーティション情報を表示する partinfo
partinfoはMBRや各拡張パーティションにあるパーティションテーブルの情報を表示するためのコマンドである。パーティションテーブルの構造を勉強する目的で作ってみたシェルスクリプトである。デバイス・ファイルやイメージファイルを指定したり、他のコマンドからの標準入力としてのMBR情報を解析して表示する。
[root@linux ~]# partinfo -p 3 hdd-2.img Partition 3 Boot Flag = [00] Start Hd/Sc/Cy = [00/01/010] 0/1/16 Partition Type = [05] "DOS 3.3+ Extended Partition" End Hd/Sc/Cy = [7c/3e/01f] 124/62/31 Start LBA = [0001e460] 124,000 sector (63,488,000 bytes offset) Number of LBA = [0001e460] 124,000 sectors (63,488,000 bytes) [root@linux ~]#
とか、
[root@linux ~]# dd if=hdd-2.img bs=512 skip=124000 count=1 | partinfo -p 1 Partition 1 Boot Flag = [00] Start Hd/Sc/Cy = [01/01/010] 1/1/16 Partition Type = [83] "Linux native partition" End Hd/Sc/Cy = [7c/3e/017] 124/62/23 Start LBA = [0000003e] 62 sector (31,744 bytes offset) Number of LBA = [0000f1f2] 61,938 sectors (31,712,256 bytes) [root@linux ~]#
という風に使う。(2つ目の例は、拡張パーティションのパーティションテーブルを参照しているところ。)パーティションを指定する"-p"がなければ全ての基本パーティション(4つ)を表示する。シェルスクリプトなので、特に説明は要らないかと思う。(hexdumpの出力を色々と設定できる、という機能を使っている。)
■ インストールの方法
以下のプログラム(program list of "partinfo")をコピー&ペーストして、/usr/local/bin/partlistというファイルに保存して、実行権を与えておく。
[root@fedora-8 ~]# cat > /usr/local/bin/partlist 【ブログからコピーしたプログラムをペーストする。最後に Ctrl-D を入力して終了。】 [root@fedora-8 ~]# chmod +x /usr/local/bin/partlist
あとは、実行するだけ。
なお、partlistの引数の処理に "shargs" という別のプログラムを利用している。partlistを利用する場合にはshargsも必要になる。ただ、shargsも同様にシェルスクリプトとして書かれているので、上記と同じ要領で簡単にインストールできる。(shargsについては「シェルスクリプトの引数を処理するためのシェルスクリプト」を参照。プログラムは「program list of "shargs" without line-number」からコピーしてくる。)shargsを /usr/local/bin に置いてあるという前提で partlistは作っているので、もし異なる場所に設置しているのであれば partlistの中の ". /usr/local/bin/shargs"の部分を適宜変える。