Ubuntu 10.10のpartedでGPTったメモ

※2012年6月9日、ちょっと修正。

2TiBを超える2.5TBや3TBのHDDとかを利用する場合、ドライブをフォーマットする際にGUIDパーティションテーブルを指定しなければいけないらしいと知り、ググったりWikipediaのページ見たりして、将来に備えてみた。

GParted編

GNU Parted編

fdiskはGPTに対応していないのでPartedを使うといいらしい。

sudo parted /dev/sda

と実行すると入力待ちになる(sdaの部分は環境によって異なる)。GPTるにはmklabel gptと入力して実行する。

mklabel gpt

次にパーティションを確保する作業に移るわけだが、標準設定ではパーティションのサイズは入力した数値分をMB単位で作成するようになっているので、それを変更しておく。

unit MiB

unitで指定できる単位はmanpageでは、s(セクタ数)・B(バイト)・kB・MB・GB・TBとなっていて、kiB・MiB・GiB・TiBも指定できる。MiBやGiB辺りにしておくと分かりやすいかもしれない。

パーティションの作成には次を入力する。

mkpart

するとパーティションの名前とファイルシステムの種類を聞かれるが、何も入力せずにEnterキーを押せばいい。次に開始位置と終了位置を聞かれるので任意の数字を入力する。例えば4GiBの第一パーティションを作成する場合、次のようになる。

(parted) mkpart
パーティションの名前?  []?
ファイルシステムの種類?  [ext2]?
開始? 1
終了? 4001

unitでMiBを指定しておいたので、これで4GiB確保される。始点が8で割り切れない数字の場合、警告: 操作の結果できるパーティションはアライメントが正しくないためにパフォーマンスがでません。というメッセージが表示される(このメッセージ、Advanced Format Technology非対応のHDDでも出る)。

始点が他のパーティションと被っている場合、警告: *** から @@@ までのパーティションを指定されました。可能な中で最も近いものは $$$ から @@@ になります。それでもかまいませんか?という感じのメッセージが表示され、パーティションの上書きを阻止してくれる。

作成したパーティションの一覧を表示するには次を入力する。

print

(parted) print
モデル: **************** (scsi)
ディスク /***/***: 238475MiB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt

番号  開始     終了     サイズ   ファイルシステム  名前  フラグ
 1    1.00MiB  4001MiB  4000MiB
 2    4001MiB  4093MiB  92.0MiB

ディスク・ユーティリティを眺めていて気付いたが、ボリューム・ラベルの他にパーティション・ラベルというものも存在しているらしい。パーティション・ラベルを付けるには次のようにする。

name

(parted) name
パーティション番号? 2
パーティションの名前?  []? てんぷ

(parted) print                                                            
モデル: * (scsi)
ディスク *
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt

番号  開始         終了         サイズ       ファイルシステム  名前    フラグ
 1    1048576B     4195352575B  4194304000B
 2    4195352576B  4291821567B  96468992B                      てんぷ

日本語も可らしい(ディスク・ユーティリティだと文字化けするが)。何のために存在するのかよく分からないが、適切な名前を付けておけばprintで一覧表示したときに分かりやすいかもしれない。ディスク・ユーティリティではパーティションを編集でラベルとパーティションタイプを変更可能(Linux 基本データパーティション以外も選択可)。

partedでファイルシステムのフォーマットも出来るが非推奨らしい。次のような警告文が表示される。

警告: ファイルシステムに対して parted による操作(mkfs)を行おうとしています。
parted のファイルシステム操作コードは、e2fsprogs のようなファイルシステム専
用のものほど堅固に作られていません。可能なかぎり parted をパーティションテー
ブルの操作だけに用いることをお勧めします。ほとんどのファイルシステムに
対するほとんどの操作は今後のリリースで削除される予定です。
警告: いま存在しているファイルシステムは破壊され、このパーティションの全データが失われます。続行しますか?

なのでファイルシステム作成はディスク・ユーティリティを使う。

他にもリサイズとか色々出来るので必要に応じてmanで確認する。

man parted

ディスク・ユーティリティ編

ドライブをフォーマットから、マスターブートレコード・GUID パーティションテーブル・Apple パーティションマップ・パーティション分割しない、の4つを選べる。

Ubuntu 10.10のディスク・ユーティリティはAdvanced Format Technology未対応なので、パーティションの作成は他のツールに任せてファイルシステムのフォーマット専用にすべきかもしれない。