ntfsresize の使い方

ntfsresize を使って、NTFSパーティションのサイズを変更する方法。

2023年9月19日、記事を少し更新しました

Windows側でデフラグを行う。

 デフラグを行うことでパーティションの後半部分を未使用な領域にする。

linuxを起動する。

などを使ってUSBやCDROM経由でLinuxを起動します。

パーティション情報の確認

  • fdisk /dev/hda
  • "u" コマンドで、セクタ単位の表示モードに切り替えて
  • 1セクタのバイト数を確認しておく。普通 512Bytes
  • 念のため、NTFSパーティションの開始セクタと終了セクタをメモしておく。

ntfsのボリュームに関する情報を確認

$ntfsresize -n -i /dev/hda1

以下の情報を確認

  • 割り当てられたボリュームのサイズ
  • 割り当てられたデバイスのサイズ

サイズを変更する

厳密なボリュームのサイズはセクタの整数倍で指定する必要がある。しかし面倒な計算は、ntfsresizeが勝手にやってくれる。とりあえず 22G ぐらいを指定してみた。

$ ntfsresize -n -s 22000M  /dev/hda1

"-n" オプションを付けると実際に書き込みを行わないモードで動作確認ができる。エラーが出なければ、"-n"を外して

$ ntfsresize -s 22000M  /dev/hda1

とすれば、約22GByteにリサイズされる。

実際に割り当てれたセクタ数を確認。

再度 ntfsresize を実行し、ボリュームのサイズを確認する。ただし、今回は"-f"を付ける必要がある。

$ntfsresize -f -n -i /dev/hda1

 実際に割り当てられたボリュームのサイズをセクタの長さで割ることで、実際に必要なデバイスのセクタ数が計算できる。

fdisk で、パーティションをリサイズする

必要なセクタ数がわかったら、fdisk でパーティションをリサイズする。

$ fdisk /dev/hda