Windowsで作成した仮想ハードディスクを容量を拡大する
ASCII.jp / 2023年2月5日 10時0分
前回は、仮想ハードディスクファイル(VHDファイル)の作成について解説したが(「Windowsで仮想ハードディスクを作る&使う」)、今回はその「拡大」について解説する。ここでいう「拡大」とは、VHDファイルの「容量」を大きくすることを意味している。なお、本記事で使う用語などについては、前回記事の表などを参照してほしい。
VHDファイルの容量を拡大する
VHDファイルはソフトウェアで実現されているため、容量を簡単に拡大できる。しかし、VHDファイルの中には、「パーティション」があり、その中に「ファイルシステム」が作られている。
そのためパーティションサイズの拡大の処理が必要になる。ただし、パーティションは、直後に空き領域がある場合しか拡大できない。VHD内に複数のパーティションがあるとき、拡大できるパーティションは最後のパーティションだけだ。
そのあとで、ファイルシステムをパーティションサイズに合わせて調整する必要がある。ファイルシステムは一般的に、ファイルの内容を記録する「ファイル領域」と、ファイル名とファイルの内容が記録位置などを対応させるための「ディレクトリ領域」がある。パーティションサイズが変更になると、「ディレクトリ領域」を新しいパーティションサイズに調整する必要がある。これをしないと、ファイルシステムは元のパーティションサイズを総容量としたままになる。
Windowsでは、NTFSのボリューム(NTFSでフォーマットされたパーティション)のサイズを拡大/縮小できる。このとき、ファイルシステムであるNTFSは自動的にサイズ調整される。しかし、NTFS以外のボリューム、たとえばWSLのext4パーティションなどは、Windowsのコマンドではサイズ変更ができない。この場合、Windows側でVHDファイルの容量を拡大したあと、WSL側のコマンドを使って調整する必要がある(「WSL2で用いるルートファイルシステムの容量を拡大する方法は?」)。
仮想ハードディスクを拡大する
前回解説したようにVHDの操作は、GUI、diskpart.exe、Windows PowerShellの3つの方法がある。まず、GUIツールだが、VHDファイルの容量拡大は、Hyper-Vマネージャーの「ディスクの編集」(「スタートメニュー」→「すべてのアプリ」→「Windowsツール」)を使う。
「ディスクの編集」は、ウィザード形式でVHDファイルの容量を拡大する。最小増加単位は1GBだが、それで困るケースはほとんどないだろう。また、VHDファイルは「切断」状態にしておくことで制限がなくなるが、VHDファイルの容量拡大は接続状態でも実行できる。
その後、「ディスクの管理」(「スタートメニュー」→「すべてのアプリ」→「Windowsツール)で、ボリュームサイズを変更する。
ウィンドウ下部のディスクのグラフィック表示で、右クリックメニューの「ボリュームの拡張」を選ぶ。「ボリュームの拡張ウィザード」が起動するので2ページ目まで進み、「ディスク領域(MB)を選択」で追加容量を指定する。初期状態では、拡張可能な最大値が設定されているので、そのまま「次へ」ボタンで進むことができる。NTFSであれば、これで処理は終了である。
diskpart.exeを使う場合には、以下のサブコマンドを使う。VHDファイルは、「C:\temp\dptest.vhdx」で、容量は1500MBとする。
select vdisk file="C:\temp\dptest.vhdx" expand vdisk maximum=1500
selectした仮想ハードディスクに関する情報は「detail vdisk」で得られ、「list disk」で空き容量(パーティションに割り当てられていない容量)を確認できる。
次に、ボリューム(パーティション)サイズを変更する。それにはextendサブコマンドを使う。そのためにはattachして、パーティションを選択する必要がある。attachしたあとならば、「list partition」サブコマンドで選択中のVHDファイルのパーティションを一覧できる。
extendサブコマンドは、選択中のパーティションに追加する容量を「size=MB単位」で指定する。指定する値は、パーティションの総容量でない点に注意。サイズ指定を省略するとパーティションを最大サイズにできる。
attach vdisk list part select partition 1 extend size=500
NTFSの場合には、やはりこれで作業は終了である。最後にdetach vdiskを実行して、VHDファイルを切断してdiskpart.exeを抜ける。
detach vdisk exit
Windows PowerShellでは、前回解説したようにHyper-Vが有効化されていることが前提となる。VHDファイルの容量拡大には以下のコマンドを使う。VHDファイルは「C:\temp\wpstest.vhdx」とする。
Resize-VHD c:\temp\wpstest.vhdx -SizeBytes 1500MB
パーティションのサイズ変更では、マウントしてディスク番号(DiskNumber)を「Get-Disk」コマンドで、パーティション番号(PartitionNumber)を「Get-Partition」で調べる。それには以下のコマンドを使う。なお、それぞれコマンドやオプションにはタブによる補完が利く。
Mount-VHD C:\temp\wpstest.vhdx Get-Disk | sort Number Get-Partition -DiskNumber 2
これで拡大するパーティションのディスク番号(ここでは2とする)、パーティション番号(同じく2)が得られた。
これを使い、「Resize-Partition」コマンドを使う。なお、「-Size」オプションは省略できないが、現在の容量より小さい値を指定して縮小することができる。
Resize-Partition -DiskNumber 2 -PartitionNumber 2 -Size 1400MB
PowerShellでは、コマンドで簡単に実行できるが、通常のディスク関連のコマンド(Resize-Partition)を使うためには、VHDファイルをマウントしておく必要がある。
VHDファイルの容量拡大は、比較的よくする作業だ。逆に言うと容量拡大は簡単にできるため、仮想マシンの作成時に最低容量で作ることが多い。ただし、この作業が簡単なのは、NTFSがWindowsの標準的なファイルシステムであり、パーティションサイズ変更のコマンドが同時にファイルシステムの調整をしてくれるからだ。
さて次回は、容量可変の仮想ハードディスクファイルのファイルサイズの縮小を解説する。
この記事に関連するニュース
-
WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた
ASCII.jp / 2024年11月24日 10時0分
-
「ポータブル外付けHDD」おすすめ3選 携帯しやすいコンパクトモデルや、夜間や静かな場所でも音が気にならない静音モデルなど【2024年11月版】
Fav-Log by ITmedia / 2024年11月20日 19時15分
-
窓辺の小石 第191回 リンクの冒険
マイナビニュース / 2024年11月8日 17時3分
-
Windows Subsystem for Linuxガイド 第41回 WSL GUI設定
マイナビニュース / 2024年11月7日 15時31分
-
あらためてIPv6基本のキ
ASCII.jp / 2024年11月3日 10時0分
ランキング
-
1携帯ショップで働きたい人が減っている――現役店員が語る“理由”とは?
ITmedia Mobile / 2024年11月27日 17時5分
-
210000mAh前後の「大容量コンセントプラグ付きモバイルバッテリー」おすすめ4選 USBケーブル内蔵の3in1モデルも【2024年11月版】
Fav-Log by ITmedia / 2024年11月28日 6時25分
-
3そうはならんやろ! “炎の絵”を芸術的に描いたら…… “おきて破り”の衝撃ラストが1000万再生超え「泣いちゃいそう!」
ねとらぼ / 2024年11月28日 8時0分
-
4「Windows 11 2024 Update(バージョン24H2)」の既知の不具合まとめ【2024年11月27日現在】
ITmedia PC USER / 2024年11月27日 17時50分
-
5「声出して笑ったwww」 お母さんからLINE → 思わず目が覚める“衝撃のメッセージ”が590万表示 「戦況報告すぎる」
ねとらぼ / 2024年11月28日 7時0分
記事ミッション中・・・
記事にリアクションする
記事ミッション中・・・
記事にリアクションする
エラーが発生しました
ページを再読み込みして
ください