VirtualBox仮想マシンを縮小してディスク容量を解放する方法
既定では、VirtualBoxは動的ディスクを作成します。動的ディスクは、データを追加するにつれて大きくなります。ただし、後で仮想マシンからデータを削除しても、ディスクは自動的には縮小されません。しかし、隠しコマンドを使ってダイナミックディスクを手動で縮小することができます。.
ディスクのサイズが大きくなり、その後データを削除した場合にのみディスクが縮小されることを忘れないでください。したがって、ダイナミックディスクを作成したばかりであれば、これでは縮まりません。ただし、ダイナミックディスクを作成し、そこに10 GBのデータをダウンロードし、その後その10 GBのデータを削除した場合は、ディスクを約10 GB縮小できます。.
ステップ1:ダイナミックディスクを使用していることを確認する
このプロセスはダイナミックディスクに対してのみ機能し、ダイナミックディスクのサイズは拡大および縮小できます。ダイナミックディスクは、たとえば最大50 GBまでの最大サイズになる可能性がありますが、実際には、そのような大量のデータが含まれている場合に限り、最大サイズまで増加します。固定サイズのディスクは常に最大サイズになります.
縮小したい固定サイズのディスクがある場合は、まずそれをダイナミックディスクに変換してから、以下の手順に従います。たとえば、50 GBの固定ディスクに20 GBのデータしか入っていない場合、それをダイナミックディスクに変換すると、20 GBのスペースしか使用できないように縮小できます。.
VirtualBoxでディスクが動的サイズか固定サイズかを確認するには、そのディスクを使用する仮想マシンを右クリックして[設定]を選択します。 「ストレージ」タブをクリックしてディスクを選択します。 「詳細」の横に表示されているディスクの種類がわかります。たとえば、以下のスクリーンショットでは、「動的に割り当てられたストレージ」はこれが動的ディスクであることを示しています.
ステップ2:仮想マシンのディスクにゼロを書き込む
続行する前に、仮想マシン内のディスクに不要になったデータを削除してスペースを解放してください。不要なファイルを削除し、使用しなくなったプログラムをアンインストールし、ごみ箱を空にします。次に、その空のスペースをゼロで上書きする必要があります。.
WindowsゲストOSの場合
仮想マシン内にWindowsがインストールされている場合は、仮想マシンを起動してそのディスクを最適化する必要があります。仮想マシン内で[スタート]メニューから[デフラグ]を検索し、[ディスクデフラグ]ツールまたは[デフラグとドライブの最適化]ツールを起動します。圧縮したいディスクを選択して「ディスクのデフラグ」をクリックします.
デフラグプロセスが完了したら、仮想マシン内の空きスペースにゼロを書き込む必要があります。ファイルを削除しても、削除されたデータはディスクに保存されているため、VirtualBoxは自動的にドライブを縮小することはできません。しかし、あなたが削除されたファイルの上にゼロを書くとき、VirtualBoxは大量のゼロを見るでしょう - 言い換えれば - そしてディスクを圧縮することができる.
これを行うには、MicrosoftからSDeleteユーティリティをダウンロードします。を抽出する sdelete.exe
コンピュータのフォルダにファイルを保存します。.
コマンドプロンプトウィンドウを開きます。これを行うには、[スタート]メニューを開き、[コマンドプロンプト]を検索して、ショートカットを起動します。.
を含むディレクトリに移動します。 sdelete.exe
入力してファイル cd
, Spaceを押してディレクトリへのパスを入力し、Enterを押します。パスにスペース文字が含まれている場合は、必ずパスを引用符で囲んでください。これは次のようになります。
cd "C:\ path \ to \ folder"
たとえば、 sdelete.exe
自分のユーザーアカウントのダウンロードフォルダにファイルを保存し、Windowsのユーザー名がBobの場合は、次のコマンドを実行します。
cd "C:\ Users \ bob \ Downloads"
ディレクトリパスをすばやく入力するには、単に次のように入力します。 cd
コマンドプロンプトウィンドウにスペースを押して、ファイルマネージャのアドレスバーからフォルダアイコンを次にドラッグアンドドロップします。.
次のコマンドを実行してください。
sdelete.exe c:-z
これにより、ドライブC:のすべての空きディスク領域にゼロが書き込まれます。仮想マシンの別のドライブ文字にあるセカンダリドライブを縮小する場合は、c:の代わりにそのドライブ文字を入力します。これはツールが設計されたものです。 MicrosoftのWebサイトのSDeleteページが指摘しているように、-zオプションは「仮想ディスクの最適化に適しています」.
続行する前に、ツールの使用許諾契約に同意するように求められます。 「同意する」をクリックするだけです.
プロセスが完了するのを待ちます。完了したら、[スタート]メニューの[シャットダウン]オプションを使用して仮想マシンをシャットダウンします。これでコンパクト化する準備が整いました.
LinuxゲストOSの場合
Linuxを仮想マシン(WindowsゲストオペレーティングシステムではなくLinuxゲストオペレーティングシステム)にインストールしている場合、つまり、最適化プロセスをスキップして組み込みコマンドを使用してドライブの空き領域をゼロにすることができます。ここでは例としてUbuntuを使用しますが、プロセスは他のLinuxディストリビューションでも同様になります。.
これを行うには、最初にインストールする必要があります。 ゼロフリー
仮想マシン内のユーティリティ。それはあなたのLinuxディストリビューションのソフトウェアリポジトリで利用可能であるべきです。たとえば、仮想マシン内の端末で次のコマンドを実行して、Ubuntuにインストールできます。
sudo apt install zerofree
実際には使えません ゼロフリー
標準のLinux環境で起動している間に/パーティションに保存します。代わりに、通常のルートパーティションがマウントされていない特別なリカバリモードで起動したいと思うでしょう。 Ubuntuで、仮想マシンを再起動し、起動中に「Esc」キーを繰り返し押してGrubメニューにアクセスします。 Grubメニューが表示されたら、「* Advanced options for Ubuntu」を選択してEnterを押します。.
最新のLinuxカーネルに関連付けられている「(recovery mode)」オプション、つまりリストの一番上に近いバージョン番号が最も大きいオプションを選択して、Enterキーを押します。.
回復メニューで「root」を選択して、rootシェルプロンプトで起動します。.
画面に「Enter for maintenance」と表示されたら、後で「Enter」を押します。端末プロンプトが表示されます.
コマンドラインで、次のコマンドを実行して、どの仮想ディスクをゼロ化するかを決定します。
df
以下の出力では、それがわかります。 / dev / sda1
ここで私たちの唯一の実際のディスクデバイスです。それがある唯一のディスクだからです / dev /
一番左の列.
仮想マシンがデフォルト設定で作成されていると仮定すると、 / dev / sda1
, これは最初のハードドライブの最初のパーティションです。複数のディスクまたは複数のパーティションで設定が異なる場合は、別のパーティションをゼロにするか、複数のパーティションをゼロにする必要があるかもしれません。.
これでディスクをゼロ調整する準備が整いました。次のコマンドを実行して置き換えます / dev / sda1
書き込み先のパーティションのデバイス名を指定します。ほとんどの人はただ / dev / sda1
ゼロにする装置.
zerofree -v / dev / sda1
ゼロプロセスが完了したら、次のコマンドを実行して仮想マシンをシャットダウンします。
止める
画面に「System halted」というメッセージが表示されたら、システムは停止しているので、仮想マシンをシャットダウンできます。仮想マシンのウィンドウを閉じて、[仮想マシンの電源を切る]を選択します。.
ステップ3:VBoxManageコマンドを探す
残りのプロセスは、ホストオペレーティングシステム上の仮想マシンの外部で実行されます。たとえば、Windows 10をPC上で実行し、Windows 7を仮想マシン内で実行している場合、残りのプロセスはWindows 10上で実行します。.
このオプションはVirtualBoxのグラフィカルインターフェースでは公開されていません。代わりに、あなたが使用する必要があります VBoxManage.exe
コマンド.
このコマンドを見つけて続行します。 Windowsでは、VirtualBoxプログラムディレクトリにあります。 C:\ Program Files \ Oracle \ VirtualBox
デフォルトで。 VirtualBoxを別のディレクトリにインストールした場合は、代わりにそこを見てください。.
コマンドプロンプトウィンドウを開きます。これを行うには、スタートメニューを開き、次のように入力します。 cmd
そしてEnterを押す.
タイプ cd
コマンドプロンプトに、VBoxManageコマンドがあるフォルダのパスを続けて入力します。引用符で囲む必要があります。.
あなたはすぐにタイプすることによってこれをすることができます cd
コマンドプロンプトウィンドウに移動し、ファイルマネージャのアドレスバーからフォルダアイコンをコマンドプロンプトにドラッグアンドドロップします。.
デフォルトパスを使用している場合は、次のようになります。
cd "C:¥Program Files¥Oracle¥VirtualBox"
注:これらの手順は、Windows上でVirtualBoxを使用していることを前提としています。 macOSまたはLinuxでVirtualBoxを使用している場合は、ターミナルウィンドウを開いて vboxmanage
他のコマンドと同じように通常のコマンド.
ステップ4:圧縮したいディスクへのパスを見つける
コンピュータ上のすべての仮想ハードディスクの一覧を表示するには、コマンドプロンプトウィンドウで次のコマンドを実行します。
VBoxManage.exeリストhdds
ステップ5:ディスクを圧縮する
ディスクをコンパクトにするには、次のものを使う必要があります。 VBoxManage.exe
正しいコマンドで。次のコマンドを実行して、ディスクのVDIファイルへのパスを、上記のコマンドを使用して見つけたシステム上のディスクへのパスに置き換えます。ファイルのパスのどこかにスペースが含まれている場合は、必ずファイルのパスを引用符で囲んでください。.
これは次のようになります。
VBoxManage.exe変更メディアディスク "C:\ path \ to \ disk.vdi" - コンパクト
たとえば、ファイルへのパスは C:\ Users \ chris \ VirtualBox仮想マシン\ Windows 7 \ Windows 7.vdi
この例では、次のコマンドを実行します。
VBoxManage.exe変更メディアディスク "C:\ Users \ chris \ VirtualBox VMs \ Windows 7 \ Windows 7.vdi" - コンパクト
VirtualBoxはディスクをコンパクトにします、そして、あなたが好きなら、あなたはその後すぐに仮想マシンを起動することができます。どのくらいのスペースを節約できるかは、回復するために空いていたスペースの量によって異なります。.
スナップショットの削除も検討してください
VirtualBoxでは、各仮想マシンのスナップショットを作成できます。これらには、スナップショットを作成したときの仮想マシンのフルイメージが含まれているため、以前の状態に復元できます。これらは多くのスペースを取ることができます.
空き容量を増やすには、使用しないスナップショットを削除します。仮想マシン用に保存したスナップショットを表示するには、VirtualBoxのメインウィンドウでそれを選択し、ツールバーの[詳細]の右側にある[スナップショット]ボタンをクリックします。スナップショットが不要になった場合は、リスト内でそれを右クリックし、「スナップショットの削除」を選択してスペースを解放します。.