561

vmdkである仮想マシンディスクのスペースが不足しているため、仮想イメージのサイズを変更する必要があります。コマンドによるサイズ変更

vboxmanage modifyhd Machine-disk1.vmdk --resize 30720

エラーが発生します

Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize hard disk operation for this format is not implemented yet!

vmdkイメージのサイズを変更するにはどうすればよいですか?

4

15 に答える 15

832

vmdkハードディスクの返却を終了したい場合(おそらくvwmareでもディスクを使用することに興味がある場合)、完全な手順は次のとおりです。

VBoxManage clonemedium "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifymedium "cloned.vdi" --resize 51200
VBoxManage clonemedium "cloned.vdi" "resized.vmdk" --format vmdk

上記は、ハードディスクのサイズを最大50GB(50 * 1024MB)に変更します。

物事を完了するには、ドライブのサイズも変更する必要があります!これを実現するには、gparted isoをダウンロードし、そのisoから起動して、ドライブのサイズを変更することをお勧めします(virtualbox設定内からisoを選択します)。

PS新しいサイズが小さすぎると、新しいvdiファイルでも同じエラーが発生します。

于 2012-09-17T09:12:17.457 に答える
203

vmdkのクローンを作成し、変更してサイズを変更することで、vmdkのサイズを変更することができました。

vboxmanage clonehd "virtualdisk.vmdk" "new-virtualdisk.vdi" --format vdi
vboxmanage modifyhd "new-virtualdisk.vdi" --resize 30720
于 2012-07-25T21:39:44.843 に答える
48

MacホストにWindows7クライアントがあり、この投稿は非常に役に立ちました。ありがとう。

私はgpartedを使用しなかったことを付け加えます。これは私がしました:

  1. 新しい拡大vmdkイメージを起動します。
  2. [スタート]に移動し、[コンピューター]を右クリックして、[管理]を選択します。
  3. [ディスクの管理]をクリックします
  4. (私の場合)Cドライブに灰色のスペースが表示されるはずです
  5. Cドライブを右クリックし、[ボリュームの拡張]を選択します。
  6. サイズを選択して行きます

甘い!データ損失に関する警告のあるサードパーティのツールを使用するよりも、私はそれを好みました。

乾杯!

于 2013-10-09T17:05:43.717 に答える
35

vmdkの

  • むしろ固定サイズの割り当て(ステップ1、2)。
  • 拡張した後でも、vmdkのOS内ではすぐに利用できません(ステップ3,4,5)

手順:

1)最初に「.vdi」に変換します-VBoxManage clonehd v1.vmdk v1.vdi --format vdi

2)コマンドラインを使用してサイズを拡張します(参照:ステップバイステップ情報についてはtvialのブログ)

また

VirtualBoxのVirtualMediaManagerから展開します。

[今-VM内]

3)新しい割り当てでドライブのサイズを拡張します(たとえば、仮想マシンで実行されているUbuntuの場合:GPartedを使用します) ここに画像の説明を入力してください ここに画像の説明を入力してください

4)ファイルシステムを拡張します-lvextend -L +50G <file-system-identifier>

図:

$ lsblk
NAME                       MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
...
sda                          8:0    0   200G  0 disk 
└─sda1                       8:1    0   200G  0 part 
  ├─myfs-vg-cloud          253:0    0    99G  0 lvm  /
  └─myfs-vg-swap-1         253:1    0   980M  0 lvm  [SWAP]


$ lvextend -L +100G /dev/mapper/myfs-vg-cloud

$ lsblk
NAME                       MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
...
sda                          8:0    0   200G  0 disk 
└─sda1                       8:1    0   200G  0 part 
  ├─myfs-vg-cloud          253:0    0   199G  0 lvm  /
  └─myfs-vg-swap-1         253:1    0   980M  0 lvm  [SWAP]

5)「/home」を拡張します-resize2fs <file-system-identifier>

図:

$ df -h /home/
Filesystem                        Size  Used Avail Use% Mounted on
/dev/mapper/myfs-vg-cloud         97G   87G  6.0G  94%   /

$ resize2fs /dev/mapper/myfs-vg-cloud

$ df -h /home/
Filesystem                        Size  Used Avail Use% Mounted on
/dev/mapper/myfs-vg-cloud         196G   87G  101G  47%  /

これで、システムを使用する準備が整い、割り当てが拡張されている必要があります。

于 2013-02-07T13:19:09.037 に答える
31

実際には、これらのコマンドのみが必要です。

VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifyhd "cloned.vdi" --resize 51200

次に、VirtualboxGUIストレージでcloned.dviを選択できます。

その後、仮想ウィンドウを起動し、コードチョップの方法としてCディスクを拡張します。

*.vdiファイルを*.vmdkファイルに戻す必要はありません。

于 2013-10-16T15:53:06.787 に答える
23

これはvmdkファイルでvdiskmanagerあるため、プラットフォームで使用可能な場合は、VMWareを使用できます。VMWareには、ここにx86 Linux、Windows、およびOS Xバージョンがあります(右側のレールの「添付ファイル」を参照)。

そして、あなたはただします:

1023856-vdiskmanager-windows-7.0.1.exe -x 30720M Machine-disk1.vmdk

クローンを作成してからディスクを拡張する必要がなくなります。欠点は、追加のツールが必要なことです。vmdkはVMWareのディスクフォーマットであり、Virtualboxを使用しているため、互換性がない可能性があります。

qemu-img動作する可能性もありますが、vmdkファイルのサイズ変更をサポートしているかどうかはわかりません。次のようになります。

qemu-img resize Machine-disk1.vmdk +8G

そして、念のために言っておきますが、どちらの場合も、基盤となるディスクのサイズを変更した後でも、パーティションを拡大する必要があります。これらのツールはすべて本質的にdd if=/dev/old_disk of=/dev/new_disk bs=16Mです。

于 2015-09-26T19:58:55.773 に答える
18

ここですべての解決策を試しましたが、何も機能していないようでした。何時間も掘り下げた後、私はこのブログ投稿を見つけました。魔法のようにすべてが機能します。私は少し調整をしなければならなかったので、ここに修正されたバージョンがあります。Dockerバージョン17.06.0-ce、ビルド02c1d87でテスト済み。

開発者が実際にアプリケーションのコンテナ化を開始すると、多くの場合、多数のイメージが生成され、デフォルトでDocker仮想マシンに割り当てられた20GBのハードドライブスペースがすぐにいっぱいになります。Docker仮想マシンに十分なディスク容量があることを確認するには、/ dev/sda1のサイズをより適切な数に変更する必要があります。

  1. GParted Live CD / USB / HD/PXEブータブルイメージをダウンロードします。
  2. Docker仮想マシンを停止しdocker-machine stop defaultます。

  3. Boot2DockerパッケージインストーラーにはVMDKボリュームが付属しており、VirtualBoxのネイティブツールではサイズを変更できません。Dockerディスクボリュームのサイズを変更するには、最初にデフォルトのVMDKボリュームからVDIボリュームのクローンを作成しますvboxmanage clonehd /full/path/to/disk.vmdk /full/path/to/disk_resized.vdi --format VDI --variant Standard

  4. 新しく複製されたVDIボリュームのサイズを目的の容量に変更します。少なくとも64GBをお勧めしvboxmanage modifyhd /full/path/to/disk_resized.vdi --resize <size in MB>ます。
  5. VirtualBoxアプリケーションを起動し、defaultVMを選択して、上部の[設定]歯車をクリックします。VirtualBox Manager
  6. 「ストレージ」アイコンをクリックします。デフォルトのVMDKボリュームを削除します。ここに画像の説明を入力してください
  7. 新しいIDEコントローラーを追加します。IDEコントローラー
  8. 「CD/DVDデバイスの追加」オプションを使用してGPartedISOをマウントします。CD/DVDデバイスを追加する
  9. 「CD/DVDデバイスの追加」オプションを使用して、クローンされたVDIボリュームをマウントします。マウントボリューム
  10. ソリッドステートハードドライブを搭載したコンピューターでDockerを実行している場合は、クローンされたVDIボリュームに対して[ソリッドステートドライブ]オプションが選択されていることを確認してください。ソリッドステートドライブ
  11. 「開始」アイコンをクリックしてDocker仮想マシンを起動すると、GPartedISOが起動します。「GPartedLive(デフォルト設定)」を選択します。GParted Live(デフォルト設定)
  12. キーマップを処理するためのポリシーを「キーマップに触れないでください」に設定します。キーマップ
  13. 言語設定をオプション「33」に設定します。これは「米国英語」にマップされます。アメリカ英語
  14. オプション「1」を選択して「Forcevideo」を実行し、Xを手動で構成します。Forcevideo
  15. オプション「2」を選択して、デフォルトの解像度「1024×760」を維持します。1024×760
  16. デフォルトの「vesa」をVGAカードとして保持します。デフォルトが必要な場合は空白のままにします
  17. オプション「0」を選択して、デフォルトの色深度「24」を維持します。色深度
  18. GPartedが起動したら、「サイズ変更/移動」アイコンをクリックします。GParted
  19. スライダーをドラッグして、新しいディスクボリュームサイズを目的のサイズに設定します。この例では、最大サイズは127,035MBです。「サイズ変更/移動」ボタンをクリックして、プロセスを開始します。ディスクボリュームサイズ
  20. 「適用」ボタンをクリックして、サイズ変更操作を確認します。それを焼く
  21. サイズ変更操作が終了したら、マシンの電源を切ります。ハードリセット、np :)
  22. GPartedISOを削除します。ほぼ完了
  23. Docker仮想マシンにログインして、マシンを起動してボリュームのサイズ変更が成功したことを確認しますdocker-machine start default
  24. ネットワークの問題が発生した場合は、docker-machineを再起動してください
于 2018-06-28T22:44:27.970 に答える
15

Vmwareプレーヤーを使用してvmdkのサイズを変更できます。これにより、vmdk形式で保持する場合は、ラウンドトリップ変換(他の投稿に記載)が削除されます。vmdkをvmwareに追加するときは、プロンプトが表示されたらアップグレード形式をクリックしないでください。VirtualBoxが受け入れない場合に備えて、現在の形式を維持してください。

于 2014-01-08T10:47:34.560 に答える
11

画像サイズを縮小するには、次の手順を使用します。

  1. クライアントマシン上cat /dev/zero > z;sync;sleep 3;sync;rm -f z
  2. クライアントマシンをシャットダウンします
  3. ホスト上VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
  4. ホスト上VBoxManage modifyhd cloned.vdi --compact
  5. ホスト上VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk
于 2016-02-25T07:05:45.613 に答える
11

Lucaの回答で述べたように、必要な手順は次のとおりです。

  1. VMDKイメージをVDI形式に複製する

    VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi

  2. VDIイメージのサイズを変更します

    VBoxManage modifyhd "cloned.vdi" --resize 51200

  3. VMDK形式にクローンを戻す

    VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk

代わりにVDIイメージを使用できる場合、ステップ3はオプションです。

これらの手順はすべて、VirtualBoxのグラフィカルユーザーインターフェイスの[]でも実行できますFile -> Virtual Media Manager。クローンを作成するドライブを選択してから、を選択しますCopy。ディスクフォーマットとオプションを選択できるダイアログが開きます。VDIイメージのサイズを変更するには、下部のスライダーを使用します(表示されPropertiesていない場合はクリックします)。

最後に、ゲストOSのディスクサイズも変更する必要がある場合があります。

  1. ゲストOSを実行し、ディスクパーティションのサイズを変更します。Linuxを実行している場合は、gpartedまたはを使用できますkparted
于 2017-12-20T17:27:01.630 に答える
9

Windows用のVirtualBox

仮想マシンの設定を維持しながら、ディスクファイルのサイズを変更してください。


ステップ1-ディスクファイルのサイズを変更する

cmd.exeを起動します

cdOracle VM VirtualBoxのディレクトリへ(64ビットシステムの場合 "C:\Program Files\Oracle\VirtualBox\":)

これらのコマンドを(上記のように)実行します。

VBoxManage clonehd "C:\path\to\source.vmdk" "C:\path_to\cloned.vdi" --format vdi
VBoxManage modifyhd "C:\path\to\cloned.vdi" --resize 51200

Windowsエクスプローラーとアドレスバーを介した「テキストとしてのアドレスのコピー」は、必要なパスを取得するのに役立ちます。

Windowsシステムでは、ユーザーの下のVirtaulBox VMディレクトリに、VM用に構成した設定のXML形式のデータベースファイルが含まれている場合があります。このファイルの名前を.bak拡張子(.vbox拡張子付き)で変更します。別のエラーを回避するために、元の.vmdkファイルの名前も拡張子に変更します。.bakこれで、マシンをフォーマットに戻すためのエラーメッセージ.vmdkや「ディスクの複製」エラーなしで、3番目の手順を安全に実行できます。

VBoxManage clonehd "C:\path_to\cloned.vdi" "C:\path_to\source.vmdk" --format vmdk

UIDトークンが表示されます。このトークンをコピーするには、Windowsコマンドインターペターウィンドウからドラッグハイライトし、Ctrl+Cキーボードショートカットを使用します。

Notepad .vbox.bak++などのテキストエディタでファイルを開きます。XMLのようなデータベースファイルが表示されます。次の行を探します。

<VirtualBox xmlns="http://www.virtualbox.org/" version="1.16-windows">
  <Machine uuid="{some uid}" name="source disk name" OSType="the_vbox_OS" snapshotFolder="Snapshots" lastStateChange="2043-03-23T00:54:18Z">
    <MediaRegistry>
      <HardDisks>
        <HardDisk uuid="{some uid}" location="C:\path_to\source.vmdk" ...

<HardDisk uuid="{some uid}" location="C:\path_to\source.vmdk" ...で、角かっこで囲まれた古いUIDトークンを削除し、コマンドウィンドウからコピーしたものを貼り付けます。角かっこそのままにしておいてください。

このファイルを保存して、テキストエディタを終了します。ファイルの名前を変更.vbox.bakして、予想される拡張子.を戻します.vbox


ステップ2-ジャンクを削除します

.bakこれで、ディレクトリに残っているファイルを安全に削除できます。.vmdk残っているのは、以前に保存されたVirtualBox Managerの設定を使用しながら、更新された.vboxデータベースでサイズ変更されたものです。


ステップ3-空き領域を埋めるためにディスクのパーティションのサイズを変更します

これで、VirtualBox VM Managerを起動し、オペレーティングシステムに適切なツールを使用してVMを実行し、新しい空き領域を埋めることができます。

Windows VMの場合diskpartは、Windowsリカバリ領事館(リカバリパーティション)から起動したコマンドプロンプトからを使用し、ドライブのパーティション番号を収集してからSELECT DISK 1、を使用します。を使用して、Windows C:\ドライブのサイズを適切な値に変更できます。リカバリパーティションとブートパーティションのためのスペースを必ず残してください。シャドウコピーとWindowsリカバリファイルがあるため、この値を取得するには、新しい仮想ディスクサイズから4096MBを差し引いても安全です。LIST PARTITIONC:\SELECT PARTITION #EXTEND SIZE=mb

Linux VMの場合.ISO、VMのディスクファイルを使用して起動できるgparted のライブは次の場所にあります。http: //gparted.org/ グラフィカルユーザーインターフェイスベースのgparted-gtkに直接アクセスでき、そこから入力できます。あなたの空きスペース。

PPC / Mac VMの場合、Disk UtilityFinderから空き領域を埋めるのに役立ちますが、現在VirtualBoxでMacOSXを起動する唯一の方法はhackintoshであり、ボリュームを拡張できないため、gpartedLinuxオプションを検討することをお勧めします。 MacOSXで起動している間。gpartedまた、VMを起動するために、VMの設定を一時的に微調整することもできます。MacOSXパーティションは、gpartedによってHFS「ヒープファイルシステム」パーティションとして認識されます。


ステップ4-猫の写真

インターネットだから。;)終了しました。.vmdkVirtualBox for Windowsを使用して、サイズを変更した新しい仮想ディスクイメージをお楽しみください。

于 2017-05-23T02:07:31.167 に答える
7

固定フォーマットのディスクか動的フォーマットのディスクかに関係なく、VirtualBoxディスクのサイズを変更する方法は次のとおりです。具体的には、ディスクが固定形式の場合に発生したエラーを防ぎます。


⚠️仮想ディスクをバックアップします。何がうまくいかないのかわかりません。

ホスト上:

  1. ターミナルウィンドウを開きます。

    Windowsの場合:コマンドプロンプトを開きますcmd

  2. サイズを変更する仮想ディスクのあるディレクトリに移動します。例えば:

    cd "My VMs"
    
  3. 目的のファイル名、サイズ(メガバイト単位)、および形式(Standard(動的)またはFixed)を使用して、新しいVirtualBoxディスクを作成します。たとえば、次のような50GBの固定フォーマットディスクを作成するには、次のようにしますMyNewDisk.vdi

    VBoxManage createmedium --filename "MyNewDisk.vdi" --size 50000 --variant Fixed
    

    コマンドとして認識されない場合VBoxManageは、コマンドへのフルパスを指定してください。これは、VirtualBoxのインストールディレクトリにあります。Windowsでは、上記のコマンドは次のようになります。

    "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createmedium
        --filename "MyNewDisk.vdi" --size 50000 --variant Fixed
    
  4. 元のディスクを新しいディスクにコピーします。

    VBoxManage clonemedium "MyOriginalDisk.vdi" "MyNewDisk.vdi" --existing
    
  5. サイズ変更が完了しました。必要に応じて、新しいディスクのプロパティを確認できます。

    VBoxManage showmediuminfo "MyNewDisk.vdi"
    
  6. 代わりに新しいディスクを使用するように仮想マシンを変更します。

次に、ゲストOSで、新しく使用可能なスペースを使用するようにパーティションのサイズを変更する必要があります。

于 2017-08-18T13:54:11.147 に答える
3

Docker(CoreOS)開発環境用にディスクのサイズを変更する必要があったため、ここにあります。

CoreOSのドキュメントによると、OSパーティションのサイズを変更する必要はありません。これは偽物です。仮想ディスクのサイズを変更した後、次の手順に従い、GPartedを介してOSパーティションのサイズを変更する必要があります。

https://docs.docker.com/articles/b2d_volume_resize/

于 2014-12-19T15:28:00.927 に答える
3

迅速で簡単なオプション:

  1. マシンの電源を切ります
  2. 希望のサイズの新しい仮想ボックスディスクを作成します
  3. 古いディスクから新しいディスク内にコンテンツを移動します。

    vboxmanage clonehd "source-disk.vmdk" "new-disk.vmdk" --existing
    
  4. マシンの電源を入れます

  5. ディスクの残りの部分を埋めるために、OSでパーティションのサイズを変更する必要がある場合があります

警告

新しいディスクがソースより短い場合、ソースディスクの新しいディスクサイズの位置にあるデータが失われます。

手順1の前に、OS内のソースディスクの最後で、このデルタスペースの割り当て解除を防ぐことができます。ここで、delta = size(source-disk)-size(new-disk)です。

于 2017-01-04T15:54:23.353 に答える
1

これらの簡単な手順を使用して、vmdkのサイズを変更します。

  1. クリックFile -> Virtual Media Player

ここに画像の説明を入力してください

  1. vdiファイルを選択してクリックproperties

ここに画像の説明を入力してください

ここで、vdiサイズを増減できます。

于 2021-06-10T12:36:27.257 に答える