回答:
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ファイルでも同じエラーが発生します。
VBoxManage clonehd "~/path/to/symlink/packer-centos-6.5-x86_64-disk1.vmdk" "/media/k0pernikus/thatFatSlowDisk/cloned_packer-centos-6.5-x86_64-disk1.vdi"
がありました実際のパスを指定すると、VBoxManage: error: Cannot register the hard disk
VBoxが別の場所ですでに定義されていると見なしているため、コマンドが原因でクラッシュします。
clonehed
がでサポートされていないボリュームを作成し続ける理由を試し、調査することに何時間も費やしました--resize
。に追加--format vdi
することclonehd
が重要であることが判明しました!
私はそれを複製してから変更してサイズを変更することでvmdkのサイズを変更できました。
vboxmanage clonehd "virtualdisk.vmdk" "new-virtualdisk.vdi" --format vdi
vboxmanage modifyhd "new-virtualdisk.vdi" --resize 30720
VBoxManage.exe: error: Code CO_E_SERVER_EXEC_FAILURE (0x80080005)
Windowsでこのコマンドを実行しようとしているときに、管理者以外のユーザーとしてコマンドプロンプトを実行します。
virtualdisk.vmdk
ように二重引用符を使用せずにのみ機能しました:vboxmanage clonehd virtualdisk.vmdk "new-virtualdisk.vdi" --format vdi vboxmanage modifyhd "new-virtualdisk.vdi" --resize 30720
MacホストにWindows 7クライアントがあり、この投稿は非常に役に立ちました。ありがとう。
私はgpartedを使用しなかったと付け加えます。これは私がしました:
甘い!私は、データ損失に関する警告を伴うサードパーティのツールを使用することを優先しました。
乾杯!
VBoxManageがトリックを行いますが、VBoxManageで作成された空き領域を割り当てるにはGPartedまたは別のツールを使用する必要があることを忘れないでください。
詳細な情報とステップバイステップのスクリーンショットを取得するには、私のブログ投稿をご覧ください。
実際には、これだけこれらのコマンドが必要です:
VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifyhd "cloned.vdi" --resize 51200
次に、Virtualbox GUIストレージでcloned.dviを選択できます。
その後、仮想ウィンドウを起動し、Code ChopsのメソッドとしてCディスクを拡張します。
* .vdiファイルを* .vmdkファイルに戻す必要はありません。
これは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
です。
ここですべての解決策を試しましたが、何も機能しないようです。何時間も掘り進んだ後、このブログ投稿を見つけました。魔法のように、すべてが機能します。私は少し調整をしなければならなかったので、ここが修正されたバージョンです。Dockerバージョン17.06.0-ce、ビルド02c1d87でテスト。
開発者が実際にアプリケーションのコンテナ化を開始すると、多くの場合、多くのイメージが生成され、デフォルトでDocker仮想マシンに割り当てられている20 GBのハードドライブ領域がすぐにいっぱいになります。Docker仮想マシンに十分なディスク領域があることを確認するには、/ dev / sda1のサイズをより適切な値に変更する必要があります。
Docker仮想マシンを停止しdocker-machine stop default
ます。
Boot2DockerパッケージインストーラーにはVMDKボリュームが付属しており、VirtualBoxのネイティブツールはサイズ変更できません。Dockerディスクボリュームのサイズを変更するには、まずデフォルトのVMDKボリュームからVDIボリュームを複製しますvboxmanage clonehd /full/path/to/disk.vmdk /full/path/to/disk_resized.vdi --format VDI --variant Standard
。
vboxmanage modifyhd /full/path/to/disk_resized.vdi --resize <size in MB>
ます。default
VMを選択して上部の「設定」ギアをクリックします。docker-machine start default
Vmwareプレーヤーを使用してvmdkのサイズを変更できます。vmdk形式で保持したい場合は、他の投稿に記載されている往復変換が削除されます。vmdkをvmwareに追加するときに、プロンプトが表示されたときにアップグレード形式をクリックしないでください。VirtualBoxが受け入れない場合に備えて、現在の形式を維持してください。
Luca の回答で述べたように、必要な手順は次のとおりです。
VMDKイメージをVDI形式に複製する
VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
VDIイメージのサイズを変更する
VBoxManage modifyhd "cloned.vdi" --resize 51200
VMDK形式にクローンして戻す
VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk
代わりにVDIイメージを使用できる場合、ステップ3はオプションです。
これらすべての手順は、VirtualBoxのグラフィカルユーザーインターフェイスでも実行できますFile -> Virtual Media Manager
。クローンを作成するドライブを選択して、を選択しますCopy
。ダイアログが開き、ディスクのフォーマットとオプションを選択できます。VDIイメージのサイズを変更するには、下部のスライダーを使用します(Properties
表示されていない場合はクリックします)。
最後に、ゲストOSのディスクサイズも変更する必要がある場合があります。
gparted
またはを使用できますkparted
。VirtualBox for Windows
仮想マシンの設定を維持しながらディスクファイルのサイズを変更します!
cmd.exeを起動します。
cd
Oracle 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
拡張子を付けて変更します。これで、エラーメッセージなしで安全に3番目の手順を実行して、マシンを.vmdk
フォーマットに戻すことや、「ディスクの複製」エラーを発生させることができます。
VBoxManage clonehd "C:\path_to\cloned.vdi" "C:\path_to\source.vmdk" --format vmdk
UIDトークンが提示されます。このトークンをコピーするには、Windows Command Interpetorウィンドウからトークンをドラッグして強調表示し、Ctrl+C
キーボードショートカットを使用します。
開き.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
。
.bak
ディレクトリに残っているファイルを削除しても安全です。残っているのは、以前に保存されたVirtualBox Managerの設定を維持しながら.vmdk
、更新された.vbox
データベースでサイズ変更されたものです。
これで、VirtualBox VM Managerを起動してVMを実行し、オペレーティングシステムに適したツールを使用して、新しい空き領域を埋めることができます。
以下のためのWindows仮想マシン、使用diskpart
するWindows回復Consule(回復パーティション)から起動し、コマンドプロンプトからSELECT DISK 1
、LIST PARTITION
そしてあなたのパーティション番号集まりC:\
、その後、ドライブをSELECT PARTITION #
。を使用しEXTEND SIZE=mb
て、Windows C:\ドライブのサイズを適切な値に変更できます。リカバリパーティションとブートパーティションのためのスペースを確保してください。シャドウコピーとWindowsのリカバリファイルがあるため、この値を取得するには、新しい仮想ディスクのサイズから4096 MBを差し引いても安全です。
以下のためにLinux仮想マシン、ライブ.ISO
GPartedののあなたは、VMのディスクファイルを起動することができますで見つけることができます: http://gparted.org/ それはあなたが埋めることができる場所から、ストレートグラフィカルユーザーインターフェイスベースのGPartedの-GTKにあなたを取得しますあなたの自由空間。
以下のためにPPC / Macの仮想マシン、Disk Utility
Finderから空きスペースを埋めるであなたをasisstますが、検討する必要がありますGPartedのLinuxのオプションを VirtualBoxはハッキントッシュで、現在の唯一の方法は、MacOSXのをブートするように、あなたはあなたのボリュームを拡張することはできませんMacOSXで起動している間。VM gparted
を起動させるために、VMの設定を一時的に微調整することもできます。MacOSXパーティションは、gpartedによってHFS
「ヒープファイルシステム」パーティションとして認識されます。
インターネットだから。;)終了しました。.vmdk
VirtualBox for Windowsで新しいサイズ変更された仮想ディスクイメージをお楽しみください!
vboxmanage list hdds
。不要なものを削除するには: vboxmanage closemedium disk <filename.vmdk>
。SATA port#、device#を表示します vboxmanage showvminfo <vmName>
。ディスクvboxmanage storageattach <vmName> --storagectl SATA --port <p#> --device <d#> --medium none
固定フォーマットのディスクでもダイナミックフォーマットのディスクでも、VirtualBoxディスクのサイズを変更する方法は次のとおりです。具体的には、ディスクが固定フォーマットのときに発生したエラーを防ぎます。
⚠️仮想ディスクをバックアップします。あなたは何がうまくいかないのか決して知りません。
ホスト上:
端末ウィンドウを開きます。
Windowsの場合:コマンドプロンプトを開きます
cmd
。
サイズを変更する仮想ディスクのあるディレクトリに移動します。例えば:
cd "My VMs"
希望するファイル名、サイズ(メガバイト単位)、および形式(Standard
(動的)またはFixed
)で新しいVirtualBoxディスクを作成します。例えば、50ギガバイトと呼ばれる固定フォーマットのディスクを作成します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
元のディスクを新しいディスクにコピーします。
VBoxManage clonemedium "MyOriginalDisk.vdi" "MyNewDisk.vdi" --existing
サイズ変更が完了しました!必要に応じて、新しいディスクのプロパティを確認できます。
VBoxManage showmediuminfo "MyNewDisk.vdi"
代わりに新しいディスクを使用するように仮想マシンを変更します。
次に、ゲストOSで、新しく利用可能なスペースを使用するようにパーティションのサイズを変更する必要があります。
Docker(CoreOS)開発環境用にディスクのサイズを変更する必要があったため、ここに来ました。
CoreOSのドキュメントによると、OSパーティションのサイズを変更する必要はありません-それは偽物です。仮想ディスクのサイズを変更したら、次の手順に従ってGPartedでOSパーティションのサイズを変更する必要があります。
すばやく簡単なオプション:
古いディスクから新しいディスク内にコンテンツを移動します。
vboxmanage clonehd "source-disk.vmdk" "new-disk.vmdk" --existing
マシンの電源を入れます
警告
新しいディスクがソースよりも短い場合、ソースディスクの新しいディスクサイズの位置にあるデータが失われます。
手順1の前に、OS内のソースディスクの最後で、このデルタ領域の割り当て解除を防ぐことができます。ここで、delta = size(source-disk)-size(new-disk)です。
VMWare Workstationをダウンロード/インストール/使用し、現在のvmdkファイルに基づいて新しいVMを作成すると、vmdkのサイズを変更できます。この問題の詳細については、VMWareのGoogleをご覧ください。
単にあなたは以下のステップに従う必要があります:
おめでとうございます。空き容量をお楽しみください。
このビデオはあなたを助けるでしょう:https :
//youtu.be/ikSIDI535L0