Windows TIPS
[System Environment]
diskpartコマンドでディスクのパーティションを操作する
→ 解説をスキップして操作方法を読む
デジタルアドバンテージ 打越 浩幸
2008/12/26
対象OS
Windows 2000
Windows XP
Windows Server 2003
Windows Vista
Windows Server 2008
■
diskpartというコマンドを使うと、ディスクのパーティションやボリュームを操作できる。Server Coreでは必須である。
■
selectコマンドで対象を選択後、createでパーティションやボリュームを作成する。
■
パーティションやボリュームのサイズを拡張したり、縮小させたりもできる。
Windows OSでディスクのパーティションを操作する場合、[コンピュータの管理]ツールにある[記憶域]−[ディスクの管理]を使うのが一般的だろう([ファイル名を指定して実行]で「diskmgmt.msc」を起動してもよい)。だがdiskpart.exeというコマンドライン・ツールを利用しても同じことが行える。特にWindows Server 2008のServer CoreインストールではGUIのツール(diskmgmt.msc)は利用できないため、diskpart.exeコマンドを使う必要がある(リモートからdiskmgmt.mscで接続する方法もあるが、事前にリモート管理を許可するなどの準備が必要である)。本TIPSでは、このdiskpartコマンドの基本的な使い方について解説する。なお、ディスクのパーティションやボリュームの基本的な概念については、関連記事を参照していただきたい。
diskpartコマンドはコマンド・プロンプト上で利用するツールである。管理者権限のあるユーザーでコマンド・プロンプトを開き、「diskpart」と入力すれば起動できる。いったん起動すると、あとはディスクやパーティション、ボリュームなどを操作するコマンドをインタラクティブに入力して利用する。実行するコマンドがあらかじめ決まっているなら、一連のコマンドをテキスト・ファイルにスクリプトとして書き込んでおき、「diskpart /s <スクリプト・ファイル名> 」として実行できる。
diskpartコマンドの起動例
コマンド・プロンプト上でディスク・パーティションを操作するにはdiskpartコマンドを利用する。
管理者権限のあるユーザーでログオンし、コマンド・プロンプト上から実行する。
ローカルのコンピュータ名。
「DISKPART> 」はプロンプト文字列。ここにコマンドを入力する。「?」や「help」と入力するとコマンドの一覧が表示される。
diskpartコマンドのバージョン。これはWindows Server 2008のServer Coreにおける実行例(以下、すべてこの環境で実行)。
コマンドの一覧。「? select」や「? select disk」「help assign」のようにすれば、さらに詳しいコマンドの使い方が表示される(Ver.6.xのみ)。
diskpartコマンドはWindows 2000以降のWindows OSで利用できるが、OSによってバージョンが異なる。Windows 2000用は以下のページからダウンロードできるが、Windows XP以降ではOSの標準コマンドとして組み込まれている。
現在のところ、Windows 2000用はVer.1.0.xxxx、Windows XPではVer.5.1.xxxx、Windows Server 2003ではVer.5.2.xxxx、Windows Vista/Windows Server 2008ではVer.6.0.xxxxとなっている(バージョンが上がるにつれ、サポートされているコマンド数が増えている)。ただしVer.6.x以外ではヘルプはほとんど用意されていないので(コマンド名の一覧が表示されるだけである)。詳細なコマンドの解説は、以下のページなどを参照していただきたい。
Ver.6.xのdsikpartコマンドなら、プロンプト上で「? select」や「? select disk」「help assign」のようにすれば、コマンドの使い方が表示される。
ディスク/パーティション/ボリュームの選択と確認
diskpartコマンドを起動したら、通常は、まずシステムに接続されているディスクやパーティション、ボリュームの一覧を表示させることになるだろう。このためには「list disk」「list partition」「list volume」コマンドを使用する。ただしdiskpartのコマンドでは、操作対象となるディスクやパーティション、ボリュームなどをあらかじめ選択しておく必要があるものがほとんどである。これらを選択するためには、「select disk」「select partition」「select volume」コマンドを(順に)使用する。選択された現在の項目は、先頭に「*」マーク付きで表示される。
DISKPART> list disk …システムのディスク一覧の表示
Disk ### Status Size Free Dyn Gpt …3台のディスクがある
-------- --------------- ------- ------- --- ---
Disk 0 オンライン 127 GB 0 B …システム・ディスク
Disk 1 オンライン 120 GB 120 GB …未使用ディスク
Disk 2 オンライン 250 GB 250 GB …未使用ディスク
DISKPART> list partition …パーティションを表示させる
パーティションの一覧を表示するディスクが選択されていません。
ディスクを選択してから再実行してください。 …ディスクが未選択なのでエラー
DISKPART> select disk 0 …ディスク0を選択する(ディスクの番号はlist diskで確認する)
ディスク 0 が選択されました。 …ディスク0が選択された
DISKPART> list partition …もう一度実行してみる
Partition ### Type Size Offset …パーティションが1つだけ含まれている
------------- ------------------ ------- -------
Partition 1 プライマリ 127 GB 1024 KB …パーティション1。プライマリ・ディスクである
DISKPART> list volume …ボリュームを表示させてみる
(このコマンドは事前にディスクやパーティションを選択しておかなくてもよい)
Volume ### Ltr Label Fs Type Size Status Info …2つのボリュームがある
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 0 D DVD-ROM 0 B メディアなし …DVDドライブ
Volume 1 C NTFS Partition 127 GB 正常 システム …システム・ボリューム
DISKPART>
「list disk」と「list volume」は「select 〜」していなくても利用できるが、「list partition」は対象となるディスクが選択された状態でのみ利用可能である。
ボリュームの作成
システムに新しいディスクを追加すると、list diskコマンドでそのディスクの情報が得られるはずである。上の例では「Disk 1(120Gbytes)」と「Disk 2(250Gbytes)」という、2台の空のディスクが確認できる。今回は、ディスク1上に60Gbytesのパーティションを作成し、G:ドライブに割り当ててみよう。
まずディスク1を選択後、「create partition 〜」で新しいパーティションを作成する。パーティションにはいくつかのタイプがあるが、ここでは一番シンプルでよく使われるプライマリ・パーティションを作成する(プライマリ・パーティションは1つのディスク上に最大で4つまで作成できる)。
DISKPART> list disk …ディスクの確認
Disk ### Status Size Free Dyn Gpt
-------- --------------- ------- ------- --- ---
* Disk 0 オンライン 127 GB 0 B
Disk 1 オンライン 120 GB 120 GB …ここに60GbytesのG:ドライブを作成する
Disk 2 オンライン 250 GB 250 GB
DISKPART> select disk 1 …ディスク1を選択する
ディスク 1 が選択されました。
DISKPART> list partition …パーティションを表示させてみる
このディスクには表示するパーティションがありません。 …パーティションは未定義
DISKPART> create partition primary size=60000 …60Gbytesのプライマリ・パーティションを作成する
DiskPart は指定したパーティションの作成に成功しました。 …成功
※「size=〜」を省略すると、全空き領域がパーティションに割り当てられる
DISKPART> list partition …パーティションを表示させてみる
Partition ### Type Size Offset
------------- ------------------ ------- -------
* Partition 1 プライマリ 59 GB 1024 KB …作成したプライマリ・パーティション
DISKPART> list volume …ボリュームの確認
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 0 D DVD-ROM 0 B メディアなし
Volume 1 C NTFS Partition 127 GB 正常 システム
* Volume 2 RAW Partition 59 GB 正常 …作成したパーティション。未フォーマット状態(ファイル・システムがRAWとなっている)
DISKPART>
ここでは60Gbytesのパーティションを作成しているが、「size=〜」パラメータを省略すると、そのディスク上にある空き領域全体が1つのパーティションとして作成される。
パーティションの作成が完了したら、次はフォーマットを行わなければならない。GUIのディスク管理ツールならば、パーティションの作成と同時にNTFSやFATなどでのフォーマット、ドライブ文字の割り当てなども行えるが、diskpartコマンドではそうなっていない。
パーティションのフォーマットを行うには「format 〜」コマンドを利用するが、実はこのコマンドはVer.6.x以降でしか利用できない。つまりWindows Vista/Windows Server 2008以降のdiskpartでしか利用できない。それ以前のOSの場合は、ここでいったんGUIのディスク管理ツールに戻って作業することになるだろう。
formatコマンドでは作成するファイル・システムのタイプを「fs=ntfs」といったパラメータで指定するが、これを省略すると、fielesystemコマンドで表示されるデフォルトのタイプが使用される。
DISKPART> filesystems …デフォルトで作成されるファイル・システムの確認
現在のファイル システム
種類 : RAW …現在は未フォーマット
アロケーション ユニット サイズ : 512
フォーマットでサポートされているファイル システム
種類 : NTFS (既定) …デフォルトはNTFS
アロケーション ユニット サイズ: 512, 1024, 2048, 4096 (既定), 8192, 16K, 32K, 64K
DISKPART> format fs=ntfs label="Data Vol 1" quick …クイック・フォーマットする
※label=はボリューム・ラベル名の指定、quickは読み出しチェックのスキップ
100% 完了しました
DiskPart は、ボリュームのフォーマットを完了しました。 …完了
DISKPART> list vol …ボリュームの確認
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 0 D DVD-ROM 0 B メディアなし
Volume 1 C NTFS Partition 127 GB 正常 システム
* Volume 2 Data Vol 1 NTFS Partition 59 GB 正常 …新ボリューム
DISKPART>
次は、作成した新しいボリュームにドライブ文字G:を割り当てる。このためにはassignコマンドを使用する(ほかのボリューム上のフォルダの下にマウントすることも可能)。
DISKPART> assign letter=g …G:\ドライブを割り当てる
DiskPart はドライブ文字またはマウント ポイントを正常に割り当てました。
DISKPART> list volume …ボリュームの確認
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 0 D DVD-ROM 0 B メディアなし
Volume 1 C NTFS Partition 127 GB 正常 システム
* Volume 2 G Data Vol 1 NTFS Partition 59 GB 正常 …G:になっている
DISKPART>
assignコマンドを使えば、既存のドライブ文字を別の文字に変更することもできる。
パーティション/ボリュームの削除
パーティションやボリュームを削除するには、対象となるパーティションやボリュームを選択した状態で、「delete 〜」を実行する。
DISKPART> list volume …ボリュームの確認
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 0 D DVD-ROM 0 B メディアなし
Volume 1 C NTFS Partition 127 GB 正常 システム
Volume 2 G Data Vol 1 NTFS Partition 59 GB 正常
* Volume 3 H Data Vol 2 NTFS Partition 61 GB 正常 …選択された現在のボリューム(先頭に「*」が付いている)
DISKPART> delete volume …ボリュームの削除
DiskPart はボリュームを正常に削除しました。
DISKPART> list volume …ボリュームが削除されている
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 0 D DVD-ROM 0 B メディアなし
Volume 1 C NTFS Partition 127 GB 正常 システム
Volume 2 G Data Vol 1 NTFS Partition 59 GB 正常
※ボリュームは削除されたが、パーティションはまだ残っているので、必要ならパーティションも選択後、削除する。
ボリュームの拡大/縮小
パーティションやボリュームの構成によっては、サイズを拡大したり、縮小させたりできる。一般的なディスクではあまり関係ないが、例えばハードウェアRAIDシステムなら、新しいディスクに交換することによって、OSから見たディスクのサイズを動的に増減させることができるものがある。ディスクのサイズが変わって現在のパーティションの直後に空きができると、その分だけパーティション(および、そこに含まれるボリューム)サイズを拡張できる。このためには「extend 〜」コマンドが利用できる。Virtual ServerやVirtual PC、Hyper-Vなどの仮想マシンを使っている場合でも、仮想ディスク(.VHDファイル)のサイズを変更すると、同様にボリュームを拡大できる可能性がある。
ただし拡大するためにはいくつかの条件がある。例えばファイル・システムがNTFSであること、システム・パーティションでないこと、などである。詳しい条件やextendコマンドの使い方については、TIPS「ディスクのボリューム・サイズを拡張する 」を参照していただきたい。
拡大ではなく、現在のボリュームの末尾にある空き領域を解放して、サイズを縮小することも可能である。これについてもいくつか条件があるので、詳しい操作方法はTIPS「ディスクのボリューム・サイズを縮小する 」を参照していただきたい。
この記事と関連性の高い別のWindows TIPS
generated by
Windows Server Insider フォーラム 新着記事
スキルアップ/キャリアアップ(JOB@IT)