このブログを検索

2012/07/12

gdisk+mkfsによる 2TB HDD NTFSフォーマットとパーティションのアラインメントエラー

windowsとlinuxで共用するNTFSフォーマットのHDDを用意したかった.
Ubuntu 10.04 Live Diskの「Gparted」とFedoraにの「ディスク・ユーティリティ 2.32.0」で、2TB HDD をNTFSフォーマットしたのだが、Fedoraで確認したら以下の警告が表示されていた.
WARNING: The partition is misaligned by 3072 bytes. This may result in very poor performance. Repartitioning is suggested.
上記の警告はパーティション開始位置(たぶん)が3072bytes分ずれてるからパフォーマンスが出ません.再パーティショニングをお勧めします.とのことらしい.
ちなみに3072bytes分ずらしてみてパーティションを作成したところ、「ディスクユーティリティ」上の警告は表示されなくなったが、partedコマンド上では、調整時にアラインメントが正しくないと警告された。

LinuxでのHDDフォーマットについて検索してみると、パーティション作成時にアラインメントの調整をおこなってあげないといようだ.
アラインメントついてもいまいちよくわからなかったが、とりあえずgdiskというパーティショニングツールが、面倒な作業を補完してくれそうだ.

インターネット上の記事は parted + mkfs の組み合わせが多いように感じたが、
私は以下の事柄から gdisk + mkfs を使用することにした.
fdiskコマンドだと2TB以上のHDDを認識しないので、partedコマンドを使うのがよい、でもpartedコマンドだと反映がリアルタイムだから間違えたらアウトなので、gdiskコマンドを使用すればfdiskライクな使用感だよとのこと.
以下、はgdiskのインストールから、NTFSフォーマットまで.
# yum install gdisk ← インストール
# gdisk -l /dev/sdb ← HDDの内容確認
# gdisk /dev/sdb ← パーティションの編集おこないたいHDDを選択
ヘルプでコマンドの確認.
Command (? for help): ?
b back up GPT data to a file
c change a partition's named delete a partition
i show detailed information on a partition
l list known partition types
n add a new partition
o create a new empty GUID partition table (GPT)
p print the partition table
q quit without saving changes
r recovery and transformation options (experts only)
s sort partitions
t change a partition's type code
v verify disk
w write table to disk and exit
x extra functionality (experts only)
? print this menu
パーティションの作成.
Command (? for help):  n
Partition number (1-128, default 1):[Enter]
First sector (34-3907029134, default = 34) or {+-}size{KMGTP}:[Enter]
Infomation: Move requested sector from 34 to 2048 inorder to alogn on 2048-sector boundaries.
USe 'l' on the experts' menu to adjust alignment
Last sector (2048-3907029134, default = 3907029134) or {+-}size{KMGTP}:[Enter]
current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):[Enter]
Changed type of partition to 'Linux filesystem'
作成した内容をHDDへ書き込み.
Command (? for help):  w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!!
Do you want to procees? (Y/N):Y
OK; writing new GUID partition table (GPT).
The operation has completed successfully.
HDDの内容を確認すると、パーティションが作成されていることがわかる.
# gdisk -l /dev/sdb
GPT fdisk (gdisk) version 0.8.1 
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present 
Found valid GPT with protective MBR; using GPT.
Disk /dev/sdb: 3907029168 sectors, 1.8 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB) 
Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048      3907029134   1.8 TiB     8300  Linux filesystem
あとはNTFSでフォーマット.
# mkfs.ntfs -f -L [ label-name ] /dev/sdb1
Cluster size has been automatically set to 4096 bytes.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.
フォーマット後は「ディスク・ユーティリティ 2.32.0」でエラーは表示されなくなった.
windows vista以降パーテョション開始位置は1MiBらしいので、とりあえず今後はパーティション開始位置を1MiBに設定しておくことにする.  

0 件のコメント:

コメントを投稿