VirtualBox を使用すると、仮想マシンで Linux を実行できます。ファイルを消去しているにもかかわらず、仮想ディスクのサイズが継続的に増大することがよくあります。これらのボリュームを元のサイズに縮小し、圧縮してディスク領域を節約する方法を説明します。
Windows ゲスト (仮想マシン用語では、「ゲスト」とは仮想マシン内で実行されているオペレーティング システムを指します) で VirtualBox を使用したことがある場合は、おそらく、 VirtualBox のディスク ボリュームは、ファイルを削除すると縮小するため、ファイルを含めるのに必要な物理ディスク上のスペースのみが使用されます。
これは VirtualBox の動的割り当て機能の本来の目的ですが、Linux ゲストでは機能しません。 Linux ゲストを使用している場合、多くのユーザーは、ディスクがフル サイズまで拡大し、ファイルがディスクから削除されても元に戻らないことに気づきます。
これは、Linux がファイルシステムを管理する方法と、VirtualBox ホストと対話する方法に起因します。 Linux では、パフォーマンス上の理由から、ファイルが削除されるときにファイルを「ゼロアウト」(空のデータで上書き)しないため、VirtualBox は、仮想ディスク上のどのデータがアクティブ データで、どのデータが削除されたかを知る方法がありません。
この問題は、自分でデータをゼロ化し、VirtualBox にボリュームを圧縮して実際のサイズに戻すように指示することで解決できます。作り方は次のとおりです。
Linux ゲストの仮想ディスクからディスク スペースを再利用するには、まず動的割り当てが有効になっていることを確認する必要があります。そうでない場合は、ディスクを動的に割り当てられたディスクに変換する必要があります。
次に、仮想ディスクをバックアップします。何か問題が発生した場合 (コマンドの入力ミスや、プロセスの途中で電源が落ちた場合など)、Linux ゲスト内のすべてのデータが失われる危険があります。
次に、Linux ゲストのターミナルで次のコマンドを実行します:
sudo dd if=/dev/zero of=/var/deleteme
このコマンドは、ディスクが完全にいっぱいになるまで、ゼロで削除された (空の) データをファイル /var/deleteme に書き込みます。これにより、以前に削除されたすべてのファイルが上書きされ、Linux が削除されたデータを自動的に上書きしないという問題が解決されます。
dd コマンドを使用すると、警告なしにデータが上書きされるので注意してください。コマンドとパスを実行する前に注意深く確認してください。
ボリュームのサイズによっては、このプロセスに時間がかかる場合があるため、中断せずに辛抱強くお待ちください。完了すると、プロセスは終了します (おそらく、スペースが不足していることを示すエラーが表示されます)。これが発生したら、ゼロ化されたファイルを削除して、Linux ゲストをシャットダウンできます:
sudo rm -rf /var/deleteme <p> sudo shutdown now -h</p>
これで、仮想ディスク上の未使用のスペースがゼロ化され、VirtualBox は縮小することでホスト上のスペースを再利用できるようになります。それ。最後の手順では、vboxmanage コマンドを使用して仮想ディスク イメージを圧縮します。これを実行するには、次のコマンドを実行します。
<code class="hljs ">vboxmanage modifymedium disk /path/to/image.vdi -compact</code>
/path/to/image.vdi を、圧縮する仮想ディスクのパスに変更する必要があります。 Windows を使用している場合は、次のように VBoxManage.exe を使用する必要があります:
VBoxManage.exe modifymedium disk /path/to/image.vdi -compact
Windows システムのコマンド ラインから VBoxManage.exe を利用できない場合は、VBoxManage.exe を有効にする方法についての手順をお読みください。
VirtualBox Linux ゲストを圧縮するこの方法では、dd コマンドを利用して空のファイルをディスクに書き込み、VirtualBox で空のスペースを識別できるようにします。
dd (data duplicator) コマンドは、ファイルの変換とコピーを行うだけでなく、データの書き込みにも使用できます。これに渡される "if" オプションは入力ファイルを提供します (この場合、/dev/zero はゼロ値データまたは null データの定数ストリームを提供します)。 「of」オプションは出力ファイルを指定し、ゼロ データのストリームが出力ファイルに書き込まれます。 /dev/zero が null データの提供を停止しないため、これはディスクがいっぱいになるまで続きます。
デフォルトでは、VBoxManage.exe は Windows コマンド ラインでは使用できません。これを追加するには、Windows システム パスを更新して VirtualBox インストール ディレクトリを含めるか、使用時に実行可能ファイルへのフル パスを呼び出します:
& "C:/Path/To/VBoxManage.exe" modifymedium disk /path/to/image.vdi -compact
引用符で囲まれたコマンドを実行する、呼び出し演算子と呼ばれる「&」記号。これにより、実行可能ファイルへのパスにスペースを使用できるようになります。
ゲストの増加に応じて、仮想ディスクのサイズを減らすだけでなく、増やすこともできます。スナップショットを使用すると、特定の時点での仮想マシンの状態を取得して保存できます。後で、その時点の状態に戻りたい場合 (たとえば、構成変更をテストした後)、単にロールバックするだけで、すべてが元の状態になります。
VirtualBox は強力な仮想化ツールで、開発者がソフトウェアを構築およびテストするために専門的に使用され、ホーム ユーザーが最新のコンピュータで古いソフトウェアやゲームを実行したり、2 台目のマシンを購入することなく他のオペレーティング システムを実行したりするために使用されます。 Windows、Linux、ChromeOS、Android、およびその他のオペレーティング システムを MacOS、Windows、および Linux ホスト上で実行できます。
変更が保存されました
メールが送信されました
メールはすでに送信されました
メールアドレスを確認してください。
確認メールを送信してくださいフォローされているトピックのアカウントの最大数に達しました。
以上がディスク容量が不足していますか? Linux VirtualBox VM から再利用するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。