Windows 10でVirtualBoxの仮想マシンを縮小し、ディスク容量を取り戻す方法
VirtualBoxは、現在最も人気のあるWindows向け開発ツールの一つです。Windows 10のネイティブ環境上に別のOSをインストールでき、複数のOSを自由に切り替えて使用できます。
しかし、使い続けるうちに、ゲストOSとも呼ばれる仮想マシン(VM)は、保存したファイルやOS内でのさまざまな操作によって徐々に肥大化していきます。
意外に思われるかもしれませんが、VM内部でファイルを直接削除しても、ホスト側のストレージ容量は解放されません。より多くのストレージ容量を確保したい場合は、以下の手順に従ってVirtualBoxのVMを縮小し、失われた領域を取り戻しましょう。
可変サイズと固定サイズの違い
VMの作成時に「固定サイズ」を選択していた場合、このガイドの手順は利用できません。すでにゲストOS用として固定サイズをVirtualBoxに割り当てており、設定された上限を超えて拡大も縮小もできないためです。
一方、VM作成時に「可変サイズ」を選択していれば、次の手順に進めます。可変サイズでは、OSのストレージ割り当てが動的に拡張されます。
手順1:ゲストOS内でスペースを削除・クリアする
この作業は、WindowsとLinuxのどちらのゲストOSでも行えます。
ゲストOSがWindowsの場合
1. WindowsゲストOS内で不要なファイルを削除します。ゲストOSのごみ箱を開いて不要なファイルをすべて削除し、不要なアプリケーションをアンインストールします。さらに、Windows.oldや古い復元ポイントなどの不要なバックアップも削除しましょう。目標は、ゲストOS内からできるだけ多くの空き容量を作ることです。
2. ディスクデフラグを開きます。ゲストOSがWindows 10であれば、スタートメニューで「デフラグ」と検索し、「ドライブのデフラグと最適化」を開きます。

デフラグしたいディスクを選択し、「最適化」をクリックします。

3. SDeleteファイルをダウンロードします。これはシステムからファイルを安全に削除するためのコマンドラインユーティリティです。SDeleteをデスクトップに展開すると、Eula、sdelete、sdelete64の3つのファイルが入ったフォルダが見つかるはずです。

4. 次にコマンドプロンプトを開き、cdコマンドでSDeleteフォルダへ移動します。
cd Desktop/SDelete
以下のコマンドを実行します。
sdelete.exe c: -z

-zオプションは、空き領域をゼロで埋める(ゼロ化する)よう指示するものです。これは仮想ディスクの最適化に必要な処理です。空き領域をゼロで埋めることで、後からその領域を削除・回収できるようになります。
5. 処理が完了したら、すぐにWindowsゲストとVirtualBoxをシャットダウンします。これでネイティブのWindows 10環境に戻ります。
ゲストOSがLinuxの場合
VirtualBoxにLinuxをインストールしている場合は、以下の手順でゲストOS内部のディスク領域を解放します。
注:このチュートリアルではUbuntuを使用しています。
1. VirtualBoxからLinuxゲストを起動します。起動時に「Esc」キーを連続して押し、高度なブートインターフェースを表示させます。
2. 複数のブートオプションが表示されるので、「Advanced options for Ubuntu」を選択します。

3. 「Recovery Mode」を選択します。

4. プロンプトが表示されたら、root(rootシェル)を選択します。

5. 次に「boot to recovery」を選択し、Enterキーを押してメンテナンスモードに入ります。
6. コマンドインターフェース内で、以下のコマンドを実行します。
df
Linuxゲストに接続されているすべてのドライブの一覧が画面に表示されます。クリアしたいドライブを見つけてください(この例では「/dev/sda1」です)。

7. 以下のコマンドを実行します。
zerofree -v /dev/sda1
このコマンドは、ゼロ以外の値が含まれる未割り当てブロックを検出してゼロで埋めることで、後からその領域を回収できるようにします。
8. プログラムの実行が完了したら、以下のコマンドを実行します。
shutdown -h now
このコマンドでLinux OSがシャットダウンされます。VirtualBoxの電源を切り、アプリケーションを閉じてください。
手順2:ゲストOSで解放した領域を回収する
ゲストOS内でストレージ領域を解放できたら、次はその領域を回収してホストOSに戻しましょう。
1. Windows 10でコマンドプロンプトを開き、以下のコマンドを実行します。
diskpart

2. DISKPARTという新しいシェルプログラムが起動します。管理者アクセスを求めるダイアログが表示されたら「はい」を選択します。

3. Diskpart内で、VDiskファイルへのパスを指定する必要があります。このファイルはゲストOSの仮想ハードディスクです。パスをコピーして、以下のように実行します。
select vdisk file = "V:path-to-your-vdisk-file"
Enterキーを押して実行します。
4. 処理が完了したら、以下のコマンドを実行します。
attach vdisk readonly
5. 続けて以下を実行します。
compact vdisk

6. 処理が完了するまで待ち、その後以下のコマンドを実行します。
detach vdisk exit
これで、ゲストOS内で解放したすべての領域が、ネイティブのWindows 10側で回収されました。
まとめ
VirtualBoxの使用状況に注意を払っていないと、ゲストOSのサイズは気づかないうちに急激に肥大化することがあります。ホストシステムのストレージ容量が不足してきたと感じたら、このチュートリアルの手順に従ってVirtualBoxのVMを縮小し、失われた領域を回収して他の用途に活用しましょう。
-
Windows 11 PCのアップデート方法を徹底解説!知っておきたい5つの手順
MicrosoftはWindows 11 OSに新機能を継続的に追加しており、ユーザーにはできるだけ早くPCをアップデートすることを推奨しています。最新リリースには、エクスプローラーのタブ機能やクイック設定のBluetoothメニューなど、数多くの新機能が含まれています。Microsoftの最新デスクトップOSを使うのは、今まさにエキサイティングなタイミングだと言えるでしょう。そこで本記事では、「Windows 11を最新ビルドにアップデートすべきか迷っている」という方に向けて、制限なく実行できる複数の簡単な方法をご紹介します。ぜひこのガイドを参考に、Windows 11のアップデート方法をチ
-
Windows 11でゲストアカウントを有効にする方法|コマンドプロンプトと設定アプリでの作成手順
家族や友人にPCを一時的に貸したいとき、ゲストアカウントがあると非常に便利です。専用のアカウントを用意しておけば、相手が勝手にファイルを覗き見たり、許可されていない操作をしたりする心配をする必要がありません。ただし、Windows 11でゲストアカウントを作成するのは、以前のバージョンのWindowsに比べてやや手間がかかるようになりました。とはいえ、作成できないわけではありません。この記事では、Windows 11で一時的なアカウントを素早くセットアップできる2つの方法をご紹介します。 ゲストアカウントと通常のアカウントの違いは? ゲストアカウントとは、PCへのアクセスが制限されたユーザー