ディスクのボリューム・サイズを拡張する:Tech TIPS
ディスクを利用するには、あらかじめパーティションやボリュームを作成するフォーマット操作が必要だ。しかし、いったん行うと、以後は簡単にサイズを変更できない。diskpartコマンドを利用すると、ボリュームの直後に空き領域がある場合に限り、そのボリュームを拡大できる。パーティション・サイズを変更する操作は確認なしですぐに実行されるため、十分注意する必要がある。
対象OS:Windows 2000/Windows XP/Windows Server 2003
解説
Windows OSで利用するハードディスクは、あらかじめフォーマットと呼ばれる作業を行ってから利用する。具体的には、ハードディスクの中に「パーティション」と呼ばれる論理的な区画を割り当て、さらにパーティションの中をNTFSやFATなどの「ボリューム」として初期化してから利用する。ディスクを複数のパーティションに分けて管理すれば、それぞれのパーティションを異なるファイル・システムで初期化して利用したり、システム用とデータ用、各ユーザーのホームディレクトリ用など、目的に応じてデータを格納する場所を使い分けることができる。
このパーティションの割り当て作業は、通常は、システムにディスクを装着した直後に1度だけ行い、その後は操作することはない。だが場合によっては、既存のパーティション(ボリューム)サイズを拡大したい場合がある。例えば古いOSを上書きして、新しいOSをアップグレード・インストールするためには(例:Windows NT→Windows 2000、Windows 2000→Windows Server 2003など)、OSサイズが大きくなっているので、より大きなボリューム・サイズが要求される。また、2つ以上に分轄されたパーティションを1つにまとめ、管理の手間を少なくしたり、より大きなボリューム・サイズを確保したりしたい場合もある。
これ以外に、ハードウェアRAIDシステム(やSAN)などを利用している場合にも、ボリューム・サイズを拡大しなければならないことがある。ハードウェアRAIDシステムでは、OSの管理とは独立して、ハードディスクをシステムに自由に追加できるのが普通である。この場合OS側から見ると、ディスクの物理的なサイズ(総ブロック数)が自動的に拡大したように見える。拡大した部分は未使用領域として扱われるが、可能ならば既存のパーティションに追加して拡大できるとよい。新しいボリューム(ドライブ)を作成するのと違い、システムの構成などを一切変更する必要がないからだ。
パーティション・サイズを拡大するには、Windows XPやWindows Server 2003に付属のdiskpart.exeというコマンドが利用できる。Windows 2000の場合は、以下の場所からダウンロードして、インストールすると利用できる(これはWindows 2000用リソースキット・ツールの1つである)。
●diskpart.exeによるサイズ拡大の制限事項
パーティションの操作には危険が伴うので、その機能と意味を十分理解してから実行していただきたい。間違えてパーティションを削除したり、サイズを変えたりしても、元に戻すことは一切できない。操作に自信がなければ、diskpart.exeではなく、市販のパーティション操作ユーティリティの利用を検討するべきである。
またこのツールでは、パーティション・サイズの拡大しかできず、サイズの縮小や分割、統合、ディスクやパーティション内容のコピーなどができるわけではない。しかも、拡大する場合にも以下のような制限があるので、適用できるケースはかなり限定的である。そのことを十分理解して、利用していただきたい。
- 拡大できるのはNTFSボリュームのみである。FATボリュームは拡大できない。
- システム・ボリュームやブート・ボリューム(Windows OSシステムが格納されているボリューム)は拡大できない。どうしても拡大したければ、別のWindows OSシステムにディスクを付け替えて拡大操作を行う。
- ベーシック・ディスクにおいて、あるパーティションを拡大するためには、その直後に空き領域が存在する必要がある。離れた場所にある空き領域と統合して1つのパーティションにすることはできない。すでに利用中のパーティションがある場合は、その部分をいったん解放し(パーティションを削除し)、空き領域にしておく必要がある。
- ダイナミック・ディスクならば、離れた場所にある空き領域と統合して、パーティションのサイズを拡大できる。ただしベーシック・ディスクから変換したダイナミック・ディスクの場合は拡大できない(Windows 2000、Windows XPの場合)。Windows Server 2003では、ベーシック・ディスクから変換したダイナミック・ディスクでも拡大できる。
- 操作には管理者権限のあるアカウントでログオンする必要がある。
これで分かるように、このツールで拡大可能なケースはかなり限定的である。例えば、データ・ディスク上に存在する2つのパーティションを統合して1つにしたい場合や(この場合、第2パーティションのデータを一時的にどこかへバックアップしておき、サイズ拡大後にリストアする)、ハードウェアRAIDシステムでディスクを追加したような場合に利用できるだろう。新規のハードディスクへシステムを移行させる用途なら、市販のパーティション操作ツールなどを利用する必要がある。なお、パーティションやボリューム、ベーシック・ディスク、ダイナミック・ディスクなどの用語については、関連記事を参照していただきたい。
操作方法
ここでは、例として、以下の構成のディスクのパーティションを拡大してみる。
拡張前のパーティションの状態
このシステムには2台のディスク(ディスク0とディスク1)がインストールされており、いずれも後半分は空き領域となっている。diskpart.exeを使うと、未使用部分をその直前にあるボリュームに統合して、サイズを拡大することができる。
(1)ディスクの管理は、[コンピュータの管理]ツールの[記憶域]−[ディスクの管理]で行う。
(2)OSがインストールされているシステム・ボリューム。これは拡張できない。ほかのシステムにディスクを取り付ければ、拡張することができる。
(3)ディスク0の未使用領域。新規パーティションを作成することが可能。
(4)データ・ディスクの先頭ボリューム。後ろの未使用領域と統合して、ボリューム・サイズを拡張することができる。
(5)ディスク1の未使用領域。
先ほどの制限から分かるように、ここで拡大可能なのは2台目のディスク(ディスク1)の先頭にあるパーティション(ボリューム名「VOL2」)だけである。1台目のディスク(ディスク0)にあるパーティション(ボリューム名「VOL1」)はOSが格納されているシステム・パーティションなので拡大できない。
diskpart.exeを起動すると、ユーザーの入力を待つプロンプトが表示されるので、ここでコマンドをインタラクティブに入力して実行する。diskpartはさまざまなコマンドを持っているが、基本的な利用方法としては、まずselectコマンドで操作対象のディスクやパーティション、ボリュームを選択し、これに対して、createやdelete、extendなどのコマンドを発行して操作する。このコマンドの詳しい使い方は、[スタート]メニューの[ヘルプとサポート]で[Diskpart:コマンドラインリファレンス]を表示させるか(検索でdiskpartと入力して検索すると表示される)、以下のサイトの情報などを参考にしていただきたい。
- ベーシック ボリュームを拡張する(マイクロソフトTechnet)
ボリューム・サイズを拡大するには(基本パーティション・サイズを拡大しても、結果的にその中のボリュームが拡大されるので、基本パーティションの拡大操作でもよい)、対象となるボリュームをselectしてから、extendコマンドを実行する。extendコマンドには、「size=サイズ」という引数を付けることができるが(サイズはMbytes単位で指定する)、引数なしだと、指定されたボリュームの後ろにある空き領域がすべて利用され、その分だけサイズが拡大する。
diskpartによるボリュームの拡張
diskpartを使ってボリューム(もしくはパーティション)を拡大することができる。ただし対象ボリュームの後ろに空き領域が存在する必要がある。
(1)diskpartの起動。
(2)現在のボリューム一覧を表示させる。
(3)対象となるボリュームを選択する。ボリューム番号は(2)で表示された先頭の番号を指定する。
(4)選択されたボリュームを、空き領域いっぱいまで拡張する(引数を付けずにextendを実行すると、最大サイズまで拡張される)。
(5)実行中のメッセージ。extendコマンドを入力すると、確認なしにすぐに実行されるので注意。
(6)ボリューム一覧の表示。
(7)サイズが37Gbytesに拡張されている。
以上の操作を実行すると、次のようになる。ディスク1の最後にあった空き領域がなくなり、先頭のボリューム(VOL2)に統合されているのが分かるだろう。
なおこのコマンドは、入力するとすぐに実行され、確認操作などは行われない。また、いったん拡張すると、元に戻すこともできないし、「extend /?」のようにしてヘルプを表示させることもできないので、十分注意して、実行していただきたい。
■関連リンク
- Windows Server 2003、Windows XP、および Windows 2000 で Diskpart.exe を使用してデータ ボリュームを拡張する方法(マイクロソフト サポート技術情報)
- ベーシック ボリュームを拡張する(マイクロソフトTechnet)
- シンプル ボリュームまたはスパン ボリュームを拡張する(マイクロソフトTechnet)
- The DiskPart.exe utility cannot extend a logical drive in an extended partition in Windows Server 2003[英文](マイクロソフト サポート技術情報)
- Functionality restrictions of the Diskpart.exe utility to extend system and boot partitions in Windows Server 2003 and in Windows XP[英文](マイクロソフト サポート技術情報)
- A Description of the Diskpart Command-Line Utility[英文](マイクロソフト サポート技術情報)
- The partition size is extended, but the file system remains the original size when you extend an NTFS volume[英文](マイクロソフト サポート技術情報)
- NTFS ボリュームの拡張が失敗しても正常に完了したように見える(マイクロソフト サポート技術情報)
■この記事と関連性の高い別の記事
- Windowsのdiskpartコマンドでディスクのパーティションを操作する(TIPS)
- Windowsディスクのパーティションとは?(TIPS)
- 仮想ハードディスクのサイズを拡大する(TIPS)
- ディスクのパーティション・テーブルを調査する(TIPS)
- WindowsのHyper-Vで仮想ハードディスク(VHD)のサイズを拡大する(TIPS)
- クラスタ・サイズを変更してWindows OSをインストールする(TIPS)
Copyright© Digital Advantage Corp. All Rights Reserved.