web-dev-qa-db-ja.com

VirtualBoxVDIの最大サイズがホストのハードドライブサイズを超えています

VirtualBoxゲストVMのハードドライブがホストのハードドライブよりも大きくなるという大きなおっとの瞬間がありました。私は急いで仮想ハードドライブのサイズを変更するためのコマンドを読みました。そのため、仮想ハードドライブのサイズを25 GBから45 TBに変更しました。

VirtuaBox VDIを縮小する方法に関する私の調査では、ゲストシステムにログインし、すべての空き領域をゼロにしてから、VBoxManageコマンドを使用してハードドライブを圧縮するように言われています。 VDIの最大サイズがホストシステムよりも小さければ、これは機能します。サイズ変更されたVDIの空き領域にゼロを書き込むと、45 TBがゼロで埋められようとするため、私の状況では受け入れられません。私のMacには750GBのハードドライブがあるので、45 TBのゼロがそれを吹き飛ばします。

一部のフォーラムでは、動的ハードドライブはゲストのデータに対応するホストディスク領域のみを使用するため、仮想最大サイズは大した問題ではないと述べています。これは本当ですが、45 TBの上限は私を怖がらせます。ゲストのプロセスがおかしくなり、ゲストとホストの両方のハードドライブがいっぱいになるまでログを記録し続けるとどうなりますか?それは私の両方のマシンをダウンさせるでしょう、そしてそれは私が許したい可能性ではありません。

だから私の質問は:どのように本当に VirtualBox動的仮想ハードドライブの最大サイズを減らすのですか?

Host: Mac OS X
Guest: Windows 8
I have not started the VM since I resized the VDI
3
Snapman

簡単な答え:最大サイズを縮小することはできません。拡大することしかできません。ただし、必要なサイズのVDIを作成し、古いVDIを新しいVDIにクローンすることはできます。いくつかの落とし穴がありますので、読み進めてください。

古いVDIを新しいVDIに複製すると、次のことを保証できる場合にのみ機能します

  1. ホストの物理ハードドライブに、クローン作成をサポートするのに十分なスペースがあります
  2. VMがハードドライブを再パーティション化して、新しい最大サイズによって割り当てられたスペースのanyを使用する場合、クローンを作成するVDIゲストのパーティションスキーム全体とまったく同じサイズかそれ以上である必要があります(安全のために、より大きなVDIを使用します)。

あなたがこれらのことを保証することができるならば、あなたは押すことができます...

まず、最初に必要なサイズの新しいVDIを作成します。

VBoxManage createhd --filename Windows\ 8\ Improved.vdi --size 50000

--sizeの単位はMBです。この例では、最大サイズが50 GBの動的VDIを作成します。

次に、古いVDIを新しいVDIに複製します(私の古いVDIの名前はWindows 8.vdiです)。

VBoxManage clonehd Windows\ 8.vdi Windows\ 8\ Improved.vdi --existing

次に、VirtualBox GUI(またはVBoxManage)を使用して、プライマリハードディスクとしてWindows 8 Improved.vdiを使用します。

ここで重要なのは--existingの部分です。古いVDIのパーティションスキームが占めるスペースが新しいVDIのサイズよりも小さい限り、クローンは余裕を持って成功するはずです。新しいVDIを使用してVMを起動すると、ゲストOSには古いパーティションスキームが残りますが、より大きなハードドライブが表示されます。この時点で、適切なパーティションマネージャーを安全に使用できます。 ( GParted など)ゲストハードドライブを新しいスペースに拡張します。

2
Snapman