パーティションの開始位置の再調整
以前記述した通り、「Advanced Format 512e」を採用したHDDを「ディスク」でフォーマットすると、パーティションの開始位置が物理セクターの境界からずれてしまいます。Ubuntu 12.04の「ディスクユーティリティ」も同様です。
ここでは物理セクターの境界からずれてしまったパーティションの開始位置を再調整し、パーティション内のデータを消すことなく物理セクターの境界に合わせます。
パーティションの開始位置を再調整は以下の方法を組み合わせて行います。
パーティションの開始位置を再調整するにあたり、いくつか注意事項があります。
1.起動用パーティションの再調整について
起動用のパーティション(OSがインストールされたパーティション)を移動すると、OSが起動しなくなります。もし起動用のパーティションを移動する場合は、ブートローダーやブートマネジャーの再インストール方法、もしくは修復の方法を確認しておいてください。
2.再調整にかかる時間について
パーティションの開始位置の調整は、パーティションの全データーをコピーしながら移動することになります。従ってパーティションのサイズによっては非常に時間がかかります。
ちなみに、パーティションのサイズ=ファイルシステムのサイズではありません。
ファイルシステムの状態(パーティションの中身)は関係ありません。
例えば3TBのパーティションの開始位置を調整する場合、3TBのデータの読み書きが行われます。
再フォーマットしたほうが時間が大幅に節約できるため、可能であればパーティションの再作成をおすすめします。
3.バックアップについて
パーティション移動中にフリーズやPCの再起動など予期せぬ処理の中断があった場合、そのHDD内の全てのパーティションが破壊される可能性があります。不測の事態に備え、データのバックアップをとっておきましょう。
4.再調整を行うパーティションの確認について
誤って異なるパーティションを再調整しても意味がないので、どのディスクのどのパーティションを再調整するのか、ディスクやパーティションのデバイスファイルの識別子を調べておきます。デバイスファイルの識別子は、以下の方法で確認できます。
5.パーティションのアンマウント
パーティションの開始位置の再調整を行うパーティションのアンマウントはもちろんですが、そのパーティションが属するディスクの他のパーティションも全てアンマウントしておきます。パーティションもしくはディスクが使用中(マウントされている)の場合、パーティションのリサイズや移動を行うことはできません。
もしアンマウントできないパーティションの操作を行う場合は、ライブメディアからUbuntuを起動して操作するとよいでしょう。
6.ディスクの空き容量について
再調整を行う場合、数メガバイト程度HDDに空き容量が必要になります。HDDに空き容量がない場合、既存のパーティションを縮小してHDDの空き容量を確保することができます。
パーティションの縮小はそのパーティションに作成したファイルシステムの空き容量に依存します。
もしファイルシステムの空き容量が全くない場合、再調整が行えなくなります。
事前にファイルシステムの空き容量を数メガバイト程度(10MBもあれば十分)確保しておきましょう。
7.Advanced Format 512e非対応のHDDについて
「Advanced Format 512e」を採用していない従来のHDD(論理セクターと物理セクターのサイズが512バイト)の場合、パーティションの開始位置を再調整する必要はありませんし、「ディスク」や「ディスクユーティリティ」でフォーマットしても問題ありません。パーティションの開始位置が物理セクターの境界になっているか確認
パーティションの開始位置の再調整が必要なパーティションがどうなっているか、現状を確認します。1.パーティションの選択
確認を行いたいパーティションを選択します。今回選択したパーティションは、ディスクの容量全てを一つのパーティションで使用しています。
2.ディスク情報の確認
「デバイス情報」を表示すると、以下のようにディスク情報の確認を行うことができます。該当するディスクかどうか、「型式」(ディスクのモデル名)や「容量」等から判断します。
3.パーティション情報の確認
「パーティションの情報」を表示すると、選択されたパーティションの情報が確認できます。パーティションの開始位置は、「開始セクター」に表示されます。
以下を見ると「開始セクター」が「34」になっています。
「512バイト * 34論理セクター / 4096バイト = 4.25物理セクター」なので、物理セクターの境界からずれていることが分かります。
推奨する最初のパーティションの開始位置は、2048です。
2番目以降のパーティションは、同様の計算方法で計算結果が整数ならば、物理セクター境界に一致しているため問題ありません。
例えば「開始セクター」が「2099200」だった場合、以下のように計算結果が整数になるため、開始位置の再調整は必要ありません。
「512バイト * 2099200論理セクター / 4096バイト = 262400物理セクター」
まとめ
- 「開始セクター」が8で割り切れるなら問題なし
- 「開始セクター」が8で割り切れないなら、再調整が必要(しなくてもいいけど、パフォーマンスが落ちる)
パーティションの開始位置の再調整を行う
パーティションの開始位置の調整を行います。1.パーティションの選択
「GParted」を起動し、開始位置の再調整を行うパーティションを選択します。2.移動とリサイズの実施
「リサイズ/移動」画面を表示します。今回HDDの空き容量が全くないため、「新しいサイズ」を「1」減らします。
次に「前方の空き容量」を「1」増やします。
「位置あわせ」が「MiB」になっていることを確認します。
設定が終わったら「リサイズ/移動」ボタンをクリックします。
3.移動とリサイズの警告
以下の警告画面が表示されます。警告の内容については上記の「起動用パーティションの再調整について」を参考にしてください。
「OK」ボタンをクリックします。
4.パーティションの開始位置の確認
パーティションの情報を表示して、パーティションの開始位置が物理セクターの境界と一致しているか確認します。「開始セクター」が「4096」になっています。
このままでも物理セクターの境界と一致しているため問題ありませんが、2048セクター分の無駄が出るため、再度調整し直します。
「開始セクター」が「2048」になっている場合は、手順「7.」へ飛びます。
5.移動とリサイズの実施(2回目)
「開始セクター」が「4096」になっていたため、再度「リサイズ/移動」画面を表示します。「前方の空き容量」が「2」になっているので、これを「1」にします。
「新しいサイズ」は「1」増やします。
また、「位置あわせ」が「MiB」になっていることを確認します。
以下のように設定を行ったら「リサイズ/移動」ボタンをクリックします。
「3.」の移動とリサイズの警告が再度表示されるので、「OK」ボタンをクリックします。
6.パーティションの開始位置の確認(2回目)
パーティションの情報を表示して、パーティションの開始位置が物理セクターの境界と一致しているか確認します。「開始セクター」が「2048」になっています。
これでOKです。
7.保留中の操作をすべて適用
パーティションの移動やリサイズを行います。以下のように元の画面に戻り、「保留中の操作をすべて適用」します。
8.適用の確認
適用の確認画面が表示されるので、「適用」ボタンをクリックします。9.適用開始
操作が開始されます。「詳細」ボタンをクリックすると、処理の内容が表示されます。
手順としては以上で完了です。
後は処理が終わるまで待つだけです。
10.処理の概要
手順「10.」以降は、手順「9.」の「詳細」ボタンで表示される処理の内容を見ていきます。注意
ここで表示される処理の内容は、処理完了後の内容(ログ)です。経過時間や内容のフォーマット等異なる点があります。
まず今回行う処理の概要と、ファイルシステムのチェックが行われます。
GParted 0.16.1 --enable-libparted-dmraid
Libparted 2.3
/dev/sdb1 を右に移動して 2.73 TiB から 2.73 TiB に縮小 16:11:55 ( 成功 )
/dev/sdb1 の調整 00:00:00 ( 成功 )
パス: /dev/sdb1
開始位置: 34
終了位置: 5860533134
容量: 5860533101 (2.73 TiB)
/dev/sdb1 のファイルシステムのエラーをチェックし (可能であれば)修復する 00:00:54 ( 成功 )
e2fsck -f -y -v /dev/sdb1
Pass 1: Checking iノードs, blocks, and sizes
Pass 2: Checking ディレクトリ structure
Pass 3: Checking ディレクトリ connectivity
Pass 4: Checking reference counts
Pass 5: Checking グループ summary information
33961 inodes used (0.02%, out of 183148544)
871 non-contiguous files (2.6%)
42 non-contiguous directories (0.1%)
# of inodes with ind/dind/tind blocks: 0/0/0
Extent depth histogram: 33741/212
155003252 blocks used (21.16%, out of 732566637)
0 bad blocks
26 large files
33238 regular files
714 directories
0 character device files
0 block device files
0 fifos
0 links
0 symbolic links (0 fast symbolic links)
0 sockets
------------
33952 files
e2fsck 1.42.5 (29-Jul-2012)
Libparted 2.3
/dev/sdb1 を右に移動して 2.73 TiB から 2.73 TiB に縮小 16:11:55 ( 成功 )
/dev/sdb1 の調整 00:00:00 ( 成功 )
パス: /dev/sdb1
開始位置: 34
終了位置: 5860533134
容量: 5860533101 (2.73 TiB)
/dev/sdb1 のファイルシステムのエラーをチェックし (可能であれば)修復する 00:00:54 ( 成功 )
e2fsck -f -y -v /dev/sdb1
Pass 1: Checking iノードs, blocks, and sizes
Pass 2: Checking ディレクトリ structure
Pass 3: Checking ディレクトリ connectivity
Pass 4: Checking reference counts
Pass 5: Checking グループ summary information
33961 inodes used (0.02%, out of 183148544)
871 non-contiguous files (2.6%)
42 non-contiguous directories (0.1%)
# of inodes with ind/dind/tind blocks: 0/0/0
Extent depth histogram: 33741/212
155003252 blocks used (21.16%, out of 732566637)
0 bad blocks
26 large files
33238 regular files
714 directories
0 character device files
0 block device files
0 fifos
0 links
0 symbolic links (0 fast symbolic links)
0 sockets
------------
33952 files
e2fsck 1.42.5 (29-Jul-2012)
ちなみに概要の上部に、今回処理にかかったトータルの時間(赤字)が表示されます。
/dev/sdb1 を右に移動して 2.73 TiB から 2.73 TiB に縮小 16:11:55 ( 成功 )
見ての通り、2.73 TiB(テラバイト)のパーティションの処理に16時間以上かかっています。
11.パーティションの縮小
今回HDDに空き容量がなく、パーティションのサイズを縮小しているため、この処理が実行されます。
ファイルシステムを縮小する 00:01:16 ( 成功 )
resize2fs /dev/sdb1 2930265087K
Resizing the filesystem on /dev/sdb1 to 732566271 (4k) blocks.
The filesystem on /dev/sdb1 is now 732566271 blocks long.
resize2fs 1.42.5 (29-Jul-2012)
パーティションを 2.73 TiB から 2.73 TiB に縮小する 00:00:00 ( 成功 )
以前の開始位置: 34
以前の終了位置: 5860533134
以前の容量: 5860533101 (2.73 TiB)
新しい開始位置: 34
新しい終了位置: 5860530209
新しいサイズ: 5860530176 (2.73 TiB)
/dev/sdb1 のファイルシステムのエラーをチェックし (可能であれば)修復する 00:00:54 ( 成功 )
e2fsck -f -y -v /dev/sdb1
Pass 1: Checking iノードs, blocks, and sizes
Pass 2: Checking ディレクトリ structure
Pass 3: Checking ディレクトリ connectivity
Pass 4: Checking reference counts
Pass 5: Checking グループ summary information
33961 inodes used (0.02%, out of 183148544)
871 non-contiguous files (2.6%)
42 non-contiguous directories (0.1%)
# of inodes with ind/dind/tind blocks: 0/0/0
Extent depth histogram: 33741/212
155003252 blocks used (21.16%, out of 732566271)
0 bad blocks
26 large files
33238 regular files
714 directories
0 character device files
0 block device files
0 fifos
0 links
0 symbolic links (0 fast symbolic links)
0 sockets
------------
33952 files
e2fsck 1.42.5 (29-Jul-2012)
resize2fs /dev/sdb1 2930265087K
Resizing the filesystem on /dev/sdb1 to 732566271 (4k) blocks.
The filesystem on /dev/sdb1 is now 732566271 blocks long.
resize2fs 1.42.5 (29-Jul-2012)
パーティションを 2.73 TiB から 2.73 TiB に縮小する 00:00:00 ( 成功 )
以前の開始位置: 34
以前の終了位置: 5860533134
以前の容量: 5860533101 (2.73 TiB)
新しい開始位置: 34
新しい終了位置: 5860530209
新しいサイズ: 5860530176 (2.73 TiB)
/dev/sdb1 のファイルシステムのエラーをチェックし (可能であれば)修復する 00:00:54 ( 成功 )
e2fsck -f -y -v /dev/sdb1
Pass 1: Checking iノードs, blocks, and sizes
Pass 2: Checking ディレクトリ structure
Pass 3: Checking ディレクトリ connectivity
Pass 4: Checking reference counts
Pass 5: Checking グループ summary information
33961 inodes used (0.02%, out of 183148544)
871 non-contiguous files (2.6%)
42 non-contiguous directories (0.1%)
# of inodes with ind/dind/tind blocks: 0/0/0
Extent depth histogram: 33741/212
155003252 blocks used (21.16%, out of 732566271)
0 bad blocks
26 large files
33238 regular files
714 directories
0 character device files
0 block device files
0 fifos
0 links
0 symbolic links (0 fast symbolic links)
0 sockets
------------
33952 files
e2fsck 1.42.5 (29-Jul-2012)
1分強で処理が完了しています。
12.パーティションの拡大
パーティションサイズの拡大です。
パーティションを 2.73 TiB から 2.73 TiB に拡大する 00:00:01 ( 成功 )
以前の開始位置: 34
以前の終了位置: 5860530209
以前の容量: 5860530176 (2.73 TiB)
新しい開始位置: 34
新しい終了位置: 5860532223
新しいサイズ: 5860532190 (2.73 TiB)
以前の開始位置: 34
以前の終了位置: 5860530209
以前の容量: 5860530176 (2.73 TiB)
新しい開始位置: 34
新しい終了位置: 5860532223
新しいサイズ: 5860532190 (2.73 TiB)
1秒程度で処理が完了しています。
13.最適なブロックサイズの確認
パーティション内のデータを移動するにあたり、最適なブロック単位(処理単位)の確認が行われます。
ファイルシステムを右へ移動する 16:08:48 ( 成功 )
内部アルゴリズムを使用する
2.73 TiBのコピー
最適なブロックサイズを調査中
16.00 MiB セクターをコピー済(ブロックサイズは 1.00 MiB セクター) 00:00:00 ( 成功 )
16.00 MiB 件中 16.00 MiB 件をコピーしました
0.834691 秒
16.00 MiB セクターをコピー済(ブロックサイズは 2.00 MiB セクター) 00:00:01 ( 成功 )
16.00 MiB 件中 16.00 MiB 件をコピーしました
0.799897 秒
16.00 MiB セクターをコピー済(ブロックサイズは 4.00 MiB セクター) 00:00:01 ( 成功 )
16.00 MiB 件中 16.00 MiB 件をコピーしました
0.703012 秒
16.00 MiB セクターをコピー済(ブロックサイズは 8.00 MiB セクター) 00:00:01 ( 成功 )
16.00 MiB 件中 16.00 MiB 件をコピーしました
0.663585 秒
16.00 MiB セクターをコピー済(ブロックサイズは 16.00 MiB セクター) 00:00:00 ( 成功 )
16.00 MiB 件中 16.00 MiB 件をコピーしました
0.655749 秒
最適なブロックサイズは 16.00 MiB セクター ()
内部アルゴリズムを使用する
2.73 TiBのコピー
最適なブロックサイズを調査中
16.00 MiB セクターをコピー済(ブロックサイズは 1.00 MiB セクター) 00:00:00 ( 成功 )
16.00 MiB 件中 16.00 MiB 件をコピーしました
0.834691 秒
16.00 MiB セクターをコピー済(ブロックサイズは 2.00 MiB セクター) 00:00:01 ( 成功 )
16.00 MiB 件中 16.00 MiB 件をコピーしました
0.799897 秒
16.00 MiB セクターをコピー済(ブロックサイズは 4.00 MiB セクター) 00:00:01 ( 成功 )
16.00 MiB 件中 16.00 MiB 件をコピーしました
0.703012 秒
16.00 MiB セクターをコピー済(ブロックサイズは 8.00 MiB セクター) 00:00:01 ( 成功 )
16.00 MiB 件中 16.00 MiB 件をコピーしました
0.663585 秒
16.00 MiB セクターをコピー済(ブロックサイズは 16.00 MiB セクター) 00:00:00 ( 成功 )
16.00 MiB 件中 16.00 MiB 件をコピーしました
0.655749 秒
最適なブロックサイズは 16.00 MiB セクター ()
3秒程度で処理が完了しています。
14.パーティションの移動
パーティションの移動を行います。もっとも時間がかかる処理です。
2.73 TiB セクターをコピー済(ブロックサイズは 16.00 MiB セクター) 16:08:44 ( 成功 )
2.73 TiB 件中 2.73 TiB 件をコピーしました
2.73 TiB / 3000591450112 をコピーしました ( 成功 )
パーティションを 2.73 TiB から 2.73 TiB に縮小する 00:00:02 ( 成功 )
以前の開始位置: 34
以前の終了位置: 5860532223
以前の容量: 5860532190 (2.73 TiB)
新しい開始位置: 2048
新しい終了位置: 5860532223
新しいサイズ: 5860530176 (2.73 TiB)
2.73 TiB 件中 2.73 TiB 件をコピーしました
2.73 TiB / 3000591450112 をコピーしました ( 成功 )
パーティションを 2.73 TiB から 2.73 TiB に縮小する 00:00:02 ( 成功 )
以前の開始位置: 34
以前の終了位置: 5860532223
以前の容量: 5860532190 (2.73 TiB)
新しい開始位置: 2048
新しい終了位置: 5860532223
新しいサイズ: 5860530176 (2.73 TiB)
16時間強時間がかかっています。
以上で完了です。