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