Windows TIPS
[System Environment] |
仮想ディスクをコマンドラインから拡大/縮小する
→ 解説をスキップして操作方法を読む
デジタルアドバンテージ 打越 浩幸
2010/02/19 |
対象OS |
Windows 7 |
Windows Server 2008 R2 |
|
|
 |
■ |
diskpartコマンドを使えば、コマンドラインから仮想ディスクを操作できる。 |
■ |
仮想ディスクのサイズを拡大するにはexpandコマンドを使う。 |
■ |
仮想ディスク中のボリューム・サイズを拡大/縮小するには、マウントしてからextendやshrinkコマンドを使う。 |
|
|
Windows 7/Windows Server 2008 R2ではdiskpartコマンドの機能が拡張され、仮想ディスク・ファイル(.VHDファイル)を操作する機能が追加されている。これを使って、仮想ディスク・ファイルを作成/マウント/アンマウントする方法はTIPS「仮想ディスクをコマンドラインから作成・管理する」で紹介した。本TIPSでは、仮想ディスク・サイズを拡大/縮小する方法についてまとめておく。
仮想ディスクの選択と内容の調査
diskpartコマンドを使って仮想ディスクを操作する場合、最初に行うことは操作対象の仮想ディスクの選択(Select)と内容の調査である。
C:\>diskpart …コマンドの起動
Microsoft DiskPart バージョン 6.1.7600
Copyright (C) 1999-2008 Microsoft Corporation.
コンピューター: SV2008R2-XPC006
DISKPART> select vdisk file="c:\vpc\sample.vhd" …ファイルの選択
DiskPart により、仮想ディスク ファイルが選択されました。
DISKPART> detail vdisk …ファイルの詳細の調査
デバイスの種類 ID: 2 (VHD)
ベンダー ID: {EC984AEC-A0F9-47E9-901F-71415A66345B} (Microsoft Corporation)
状態: 追加済み
仮想サイズ: 8000 MB …仮想ディスクの論理的なサイズ
物理サイズ: 710 MB …仮想ディスク・ファイルの物理的なサイズ
ファイル名: c:\vpc\sample.vhd
子: いいえ
親ファイル名:
関連付けられたディスク番号: 見つかりません。
DISKPART> |
仮想ディスク・サイズの拡大
仮想ディスクの論理的なサイズを拡大するにはexpandコマンドを利用する。例えば8Gbytesの仮想ディスクを32Gbytesに拡大するといった用途に利用する。TIPS「ディスクのボリューム・サイズを拡張する」で紹介したextendコマンドと似ているが、extendではディスク中にある割り当て済みのボリューム・サイズを拡大するのに対し、expandは仮想ディスクそのものの論理的なサイズを拡大する。ディスクの中にあるパーティションやボリュームのサイズはそのままである。なお、仮想ディスク・ファイルのサイズは、固定サイズの仮想ディスクの場合はその分だけ大きくなるので、ディスクの空き領域サイズに注意していただきたい(容量可変や差分の場合は、総ブロック数が増えるので、そのための管理用に少しだけ増加する)。空き領域が不足する場合はエラーとなって、拡大できない。
DISKPART> expand vdisk maximum=32768 …32Gbytesへの拡大
100% 完了しました
DiskPart により、仮想ディスク ファイルは正常に拡張されました。
DISKPART> detail vdisk …サイズの確認
デバイスの種類 ID: 2 (VHD)
ベンダー ID: {EC984AEC-A0F9-47E9-901F-71415A66345B} (Microsoft Corporation)
状態: 追加済み
仮想サイズ: 32 GB …32Gbytesに拡大されている
物理サイズ: 712 MB
ファイル名: c:\vpc\sample.vhd
子: いいえ
親ファイル名:
関連付けられたディスク番号: 見つかりません。
DISKPART> |
仮想ディスクの最適化(コンパクト化)
可変長サイズの仮想ディスクの中を走査して、未使用のブロック(内容がすべて0のデータばかりのブロック)を仮想ディスク・ファイルから外すことを「コンパクト化(最適化)」という。これを行うのがcompactコマンドである。TIPS「仮想ハードディスクを圧縮する(Virtual PC 2004編)」や「仮想ハードディスクを圧縮する(Virtual Server 2005 R2編)」における、最終段階の圧縮ツールの機能に相当する。未使用領域への0データの書き込みなどは行われないので、必要なら、あらかじめ仮想環境にマウントして、「事前圧縮ツール」などで0データを書き込んでおく必要がある。除去された0データ・ブロックの分だけ、仮想ディスク・ファイルは小さくなる。なお、容量固定の仮想ディスク・ファイルの場合はこのコマンドはエラーとなる。
DISKPART> compact vdisk …引数は何もない
100% 完了しました
DiskPart により、仮想ディスク ファイルは正常に圧縮されました。
DISKPART> |
ボリュームの拡大
これはTIPS「ディスクのボリューム・サイズを拡張する」でも紹介しているボリュームの拡大方法である。ドライブとしてマウントしてから操作する。
DISKPART> attach vdisk …ドライブとしてマウントする
100% 完了しました
DiskPart により、仮想ディスク ファイルがアタッチされました。
DISKPART> list vol …現在の状態の確認
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 0 F DVD-ROM 0 B メディアなし
Volume 1 システムで予約済み NTFS Partition 100 MB 正常 システム
Volume 2 D WINDOWS7X64 NTFS Partition 146 GB 正常
Volume 3 E WINDOWS7X86 NTFS Partition 146 GB 正常
Volume 4 C SERVER2008R NTFS Partition 1104 GB 正常 ブート
Volume 5 G NTFS Partition 7985 MB 正常 …←このボリュームを拡大する
DISKPART> select volume 5 …ボリュームの選択
ボリューム 5 が選択されました。
DISKPART> extend …拡大させる
DiskPart はボリュームを正常に拡張しました。
DISKPART> list vol …拡大後の確認
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 0 F DVD-ROM 0 B メディアなし
Volume 1 システムで予約済み NTFS Partition 100 MB 正常 システム
Volume 2 D WINDOWS7X64 NTFS Partition 146 GB 正常
Volume 3 E WINDOWS7X86 NTFS Partition 146 GB 正常
Volume 4 C SERVER2008R NTFS Partition 1104 GB 正常 ブート
* Volume 5 G NTFS Partition 31 GB 正常 …拡大後
DISKPART> |
ボリュームの縮小
ボリューム・サイズを縮小するにはshrinkコマンドを使う。ボリュームの最後の方から前へ走査し、連続する未使用領域のところだけを解放して、ボリューム・サイズを縮小する。使用済み領域が存在すると、それ以上は縮小できない。いくら縮小できるかは、shrink querymaxコマンドで確認できる。
DISKPART> list vol …現在の状態の確認
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 0 F DVD-ROM 0 B メディアなし
Volume 1 システムで予約済み NTFS Partition 100 MB 正常 システム
Volume 2 D WINDOWS7X64 NTFS Partition 146 GB 正常
Volume 3 E WINDOWS7X86 NTFS Partition 146 GB 正常
Volume 4 C SERVER2008R NTFS Partition 1104 GB 正常 ブート
* Volume 5 G NTFS Partition 31 GB 正常 …縮小前
DISKPART> shrink querymax …縮小可能な最大サイズの確認
再利用できる最大のバイト数は次のとおりです。 28 GB (29416 MB) …ここまで縮小できる
DISKPART> shrink desired=20000 …20Gbytes縮小してみる
ボリュームは、次の方法で正常に縮小されました: 19 GB
DISKPART> list vol …結果の確認
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ---- ---------- ------- --------- --------
Volume 0 F DVD-ROM 0 B メディアなし
Volume 1 システムで予約済み NTFS Partition 100 MB 正常 システム
Volume 2 D WINDOWS7X64 NTFS Partition 146 GB 正常
Volume 3 E WINDOWS7X86 NTFS Partition 146 GB 正常
Volume 4 C SERVER2008R NTFS Partition 1104 GB 正常 ブート
* Volume 5 G NTFS Partition 12 GB 正常 …縮小後
DISKPART> |
Windows Server Insider フォーラム 新着記事
Windows Server Insider 記事ランキング
本日
月間