正しい仮想マシンイメージディレクトリを指定してもVirtual Boxディスクが縮小されないのはなぜですか?

正しい仮想マシンイメージディレクトリを指定してもVirtual Boxディスクが縮小されないのはなぜですか?

これは私の仮想ボックスインストールディレクトリです。

C:\Program Files\Oracle\VirtualBox

ここが私のイメージ(linux.vdi)があるところです。

C:\Users\hmkhitaryan\dev\vm\linux

では、仮想マシンにディスクサイズを追加したいと思います。 「Virtual Media Manager」でディスクサイズを縮小した後、仕様に記載されているように、次のコマンドを使用して端末で縮小しようとしています。

C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd "C:\Users\hmkhitaryan\VirtualBox VMs\linux.vdi" --resize 133672

このようなエラーが発生します

    C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd "C:\Users\hmkhitaryan\dev\vm\linux\linux.vdi" --resize 133672
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage.exe: error: Failed to resize medium
VBoxManage.exe: error: Shrinking is not yet supported for medium 'C:\Users\hmkhitaryan\dev\vm\linux\linux.vdi'
VBoxManage.exe: error: Details: code VBOX_E_NOT_SUPPORTED (0x80bb0009), component MediumWrap, interface IMedium
VBoxManage.exe: error: Context: "enum RTEXITCODE __cdecl handleModifyMedium(struct HandlerArg *)" at line 768 of file VBoxManageDisk.cpp

このエラーの原因は何かを助けてください。

答え1

理由は簡単で、エラーメッセージに記載されています。VirtualBoxは現在、メディアの縮小をサポートしていません。ただ拡張してください。

ただし、ゲスト内のパーティションを縮小して使用できます。VBoxManage メディアの修正 --compactvdi ファイルのサイズを小さくします。これにより、新しく設定されたパーティションサイズより大きくなるのを防ぎます。

これを行うには、次の手順に従います。

  • バックアップしてください。
  • isoから物理環境にVMを起動します(または回復モードに入り、ルートシェルを起動します)。
  • たとえば、パーティション・マネージャーを起動します。ゴポットGNOMEディスクまたはfdisk
  • 既存のパーティションを目的のサイズに縮小します。
  • 既存のパーティションの後に新しいパーティションを作成しますが、ファイルシステムでフォーマットしないでください。ディスクの残りの部分を満たしてください。
  • dd新しいパーティションをゼロで埋めるために使用されます。たとえば、以前に1つのディスクと1つのパーティションしかなかった場合、コマンドは次のようになります。新しく作成された未使用パーティションとdd if=/dev/zero of=/dev/sda2 bs=4M交換します。ルートシェルにない場合は、次のコマンドを使用してコマンドを開始する必要があります。sda2sudo
  • 仮想マシンを終了します。
  • VBoxManageホストシステムでツールを探します。 Windowsではそこにあります"c:\Program Files\Oracle\VirtualBox\VBoxManage.exe"。そこでcmdを開きます。 *nixではおそらくパスにあるので、どこにでも端末を開くだけです。
  • 縮小したいvdiファイルを見つけます。フルパスをコピーし、"スペースが含まれている場合は引用符()で囲みます。
  • vdiを圧縮するには、次のコマンドを使用します。VBoxManage modifymedium --compact "c:\Users\user\VirtualBox VMs\Ubuntu Desktop\Ubuntu Desktop.vdi"
  • SSDの場合は数分かかり、HDDの場合は数時間かかります。最後に、vdiファイルは最大内部パーティションサイズでなければならず、それより大きくしてはいけません。

関連情報