Windows Vistaにはボリュームサイズの縮小機能が用意されている。あらかじめボリュームの末尾に連続した空き領域を確保しておいてからコマンドを実行すると、その空き領域部分がボリュームから切り離されて未割り当て領域となるので、そこに新しくボリュームを作成する。
対象OS:Windows Vista
TIPS「ディスクのボリュームサイズを拡張する」では、NTFSボリュームのサイズを拡大する方法を紹介したが、これとは逆に、ボリュームサイズを縮小させたいこともある。例えば1台のディスク(もしくはパーティション)上に1つのボリュームしか存在しないが、これを分割して新しくデータ用ボリュームを作成したい場合や、Windows Vista(やWindows Server 2008)のBitLocker暗号化機能用に、別パーティションを用意したい場合などだ(BitLockerでは、2つのボリュームが必要となる)。
新しいボリュームを作成するには、既存のボリュームサイズを縮小してパーティション上に空き領域を作成する必要があるが(空き領域の中に、新たにパーティションとボリュームを作成する)、Windows OSの標準的なツールにはこの機能は用意されていない(拡大は先のTIPS参照)。
しかしWindows Vista(およびWindows Server 2008)には既存ボリューム(パーティション)のサイズを縮小する機能(Shrink機能)が用意されており、サードパーティ製ツールを利用しなくても、この作業が行える。本TIPSでは、この方法について解説する(Windows XP以前のOSには用意されていないが、Windows Vistaコンピュータにディスクを接続して作業することは可能)。
ただしボリュームのサイズを縮小するためには、ボリュームの末尾に未使用領域が存在している必要がある。ボリュームの縮小では、この部分をボリュームから解放し、空き領域を作成するからだ。可能ならばボリュームの縮小前にデフラグを行って、可能な限り末尾の空き領域を連続するように、整理しておくべきである。
Windows Vista(および次期サーバOSであるWindows Server 2008)において、ボリュームサイズを縮小するには、GUIベースのディスクの管理ツールを使う方法と、コマンド・プロンプト上でdiskpart.exeコマンドを利用する方法がある。
まずGUIベースのディスク管理ツールでボリュームサイズを縮小させる方法を紹介する。
[スタート]メニューの[管理ツール]−[コンピュータの管理]を起動するか、[コンピュータ]アイコンを右クリックしてポップアップ・メニューから[管理]を選択する。そして起動した[コンピュータの管理]ツールの左側ペインで、[コンピュータの管理]−[記憶域]−[ディスクの管理]を選ぶ。そして縮小したいNTFSボリュームを右クリックし、ポップアップ・メニューから[ボリュームの圧縮]を選択する。なおメニュー表記では「圧縮」となっているので、ファイルやフォルダの圧縮機能(ドライブのルートに圧縮属性を付ける機能)を連想するかもしれないが、英語では「shrink(縮小する)」であり、「compress(圧縮する)」や「compact(最適化)」ではない。
[ボリュームの圧縮]を実行すると、次のようなダイアログが表示されるので、縮小させたいサイズを設定する。
(1)は圧縮前のボリュームのサイズである。この例では全体で38Gbytesある。(2)は、圧縮によって縮小できるサイズ、つまり、圧縮によって解放されるボリュームの最大サイズである。この例では11Gbytesとなっている。つまり38Gbytesのボリュームサイズのうち、ボリュームの末尾に最大11Gbytesの連続空き領域が存在しているということである。実際には、この例では38Gbytesのうち15Gbytesしか使っていないので、最大で23Gbytes(=38−15Gbytes)まで解放できるはずであるが、空き領域が、ボリュームの末尾にすべて連続して存在しているわけではないので(フラグメントを起こしているので)、ここでは最大でも11Gbytesまでしか解放できない。ボリュームのデフラグを行ってから縮小すれば、もう少し解放するサイズを増やすことができる。
(3)は、このボリュームの末尾からいくら解放するかという指定である(最小で0bytes、最大で(2)まで指定可能)。デフォルトでは解放可能な最大サイズ(=(2))となっている。(4)は、縮小後のボリュームサイズ(=(1)−(3))である。
サイズの設定後、[圧縮]ボタンをクリックすると縮小作業(ボリューム末尾の解放作業)が始まり、しばらくすると完了する。完了後は例えば次のようになる。
コマンド・プロンプトからボリュームサイズを変更するには、diskpart.exeコマンドを起動し、shrinkコマンドを実行する。引数を付けずにshrinkコマンドを実行すると、可能な最大サイズまで解放される。
■関連記事(Windows Server Insider)
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.