仮想マシンのハードディスクサイズを増やすにはどうすればよいですか?


257

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

WinXP仮想マシンのスペースが足りなくなったため、作成時に10 GBのスペースしか使用できませんでした。たとえば20 GBに増やす簡単な方法はありますか?VirtualBoxの設定に明らかなオプションが表示されません。


以下の提案はこのエラーを与えます

wim@wim-ubuntu:/media/data/winxp_vm$ VBoxManage modifyhd wim.vdi --resize 20000
VBoxManage: error: Cannot register the hard disk '/media/data/winxp_vm/wim.vdi' {46284957-2c09-4e70-8a49-bfbe0f7f681d} because a hard disk '/home/wim/VirtualBox VMs/winxp_vm/wim.vdi' with UUID {46284957-2c09-4e70-8a49-bfbe0f7f681d} already exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBox, interface IVirtualBox, callee nsISupports
Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, AccessMode_ReadWrite, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 210 of file VBoxManageDisk.cpp

VBoxManageコマンドを呼び出す前にVirtualBoxから.vdiを削除してから、追加し直しました。しかし、今では仮想マシンを起動できません。この心配な画面が表示されます。

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

ところで、それは言う FATAL: Could not read from the boot medium! System halted.


VBoxManageコマンドの後に、vdiをVMに再接続する必要があります。さらに、次の空のスペースがあるため、WITHINウィンドウからパーティションのサイズを変更する必要があります。

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

EASEUS Partition Master 9.1.0 Home Editionと呼ばれるフリーウェアを使用して、パーティションのサイズを簡単に変更できました。


3
問題は、ディスクを「/ media / data」の場所にシンボリックリンクし、元の「/ home / wim / VirtualBox VMs」の場所にないことです。私はこれをどのように修正したかと答えました。
stolsvik

1
ここで私の経験を詳しく説明します:kmonsoor.wordpress.com/2012/05/26/virtualbox-increase-disk-size 以下の「受け入れられた」答えは、正しいとはほど遠いです。
kmonsoor 14年

「サイズ既存のより大きい新しい空のVDI、」に「既存のVDIをコピーする」のもう一つの可能性があります(refer- justintung.com/2011/01/06/...
parasrish

また、「vdi」サイズが大きくなるため、サイズ変更だけでは役に立たない可能性がありますが、「vm-os-installation」に基づいて、プライマリパーティションは同じままであり、新しく割り当てられたスペースは通常「未割り当て」 「。したがって、「パーティションの再割り当て」を行う必要があります(上記のリンクを参照)。
パラスリッシュ

回答:


325

ターミナルを開き、VirtualBoxディスクイメージがあるフォルダーに移動してから、次のコマンドを使用します。

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

交換するYOUR_HARD_DISKSIZE_IN_MB、あなたのイメージ名と所望の大きさ。sudo一部のマシンで必要になるか、エラーが発生する場合があります。この回答と詳細な説明はwebupd8にあります。この回答を投稿してくれたAndrewに感謝します。

サイズ変更後、ゲストが使用できるように、追加の仮想ハードドライブ領域をパーティション分割してフォーマットする必要があります。これは、ライブISOからゲストを起動することでgpartedで実行できます。gpartedを使用して、既存のパーティションのサイズを変更することもできます。この/swapために、新しいスワップパーティションを無効にして作成する必要があるかもしれません。


20
+1。これを使用してWindows 7ディスクのサイズを20 GBから30 GBに増やすだけで、非常にスムーズに機能しました(登録解除などは不要です)。$ VBoxManage modifyhd Windows7.vdi --resize 30720 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% 最初はWindowsはスペースの増加を検出しませんでしたが、電源を切った後は検出し、組み込みのディスク管理ツールを使用してC:パーティションのサイズを増やすことができました。
ジョニック

3
+1、これは確かに最もクリーンな方法です。
スタークス

20
@asdディスクサイズを変更するだけでは十分ではありません。パーティションのサイズを変更する必要もあります。
ブルーノ

5
VirtualBoxの最近のバージョンでは.\VBoxManage.exe modifymedium disk 4d30d154-f8c2-4a3b-bd8b-ddcfbfe64aaf --resize 30720今だと思います。modifyhdも動作します—古いコマンドとの後方互換性があります。
TranslucentCloud

2
VDIファイルのサイズを25Gから120Gに変更しましたが、Windows7システムのディスクマネージャーは未割り当ての領域を表示できません。これはスナップショットファイル(以前にスナップショットがあります)が原因ですが、スナップショットを削除しようとすると、virtualboxレポートがクラッシュするため、スナップショットを削除できません。何か案は?ゲストwin7にはまだ25Gが表示されます。ありがとう。
ollydbg23

25

次は私のために働いた:

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

ただし、マイレージがどのように変化するかを理解しています:-)パーティションのサイズを変更する限り、Windows 7では、下のパネルのC:ドライブを右クリックし、ボリュームの拡張を選択して、表示された画面でサイズを変更できました。

コンピューター管理画面


12
sudo必要ありません。ホームディレクトリのアクセス許可が破損する可能性がありsudo、virtualbox に使用する必要がありますが、これは悪い考えです。
-Lekensteyn

1
@Lekensteyn:それが必要ではないことを知っているのは良いことです。他の人が、ルートにならないと機能しないと言っていたので、私はそれを使いました。パーミッションの破損に関する限り、chmodはこのような間違いを修正するのにうまく機能します。
リチャードポビネリ

@Lekensteyn:chownは所有権の間違いを修正します。あなたが何度も参照している問題を修正しなければならなかったので、chmodとchownに言及します:
リチャードポビネリ

2
これはWindowsには最適ですが、LinuxゲストOSがある場合、このリンクはパーティションのサイズ変更に役立ちます:forums.virtualbox.org/viewtopic.php?f
Jon

Linux内でWindowsを実行している場合は、このオプションに従ってディスクを拡張する必要があります。そうしないと、Windowsは追加したスペースを追加できません
Ajith R Nair

18

ウィム、最初にVboxから登録解除する必要があると思います。ファイル、メディアマネージャー、hddをクリックして、登録を解除します。その後、もう一度試してください。


2
LinuxのVirtualBoxでは不要です。最初にゲストOSを完全にシャットダウンする必要がありました。
アンダーバース

15

VirtualBoxメニューを使用して行うこともできます。

選択File->Virtual Media Manager ...

ウィンドウが開きます: ここに画像の説明を入力してください

ディスクを選択し、を選択しますProperties。下部のスライダーを動かしてください。

仮想マシンを起動した後、ウィンドウは新しいスペースを認識しません

Windowsで開きComputer Management(スタートメニューで検索)、左側のメニューでStorage-> Disk Managementを選択します。パーティション(おそらくC :)を選択し、右クリックしてを選択しますExtend Volume ...。ウィザードをクリックするだけで完了です。


Releaseその前に行う必要がありますか?現在、スライダーはグレー表示されています。または、動的パーティションを選択しましたか?
Royi

Royi:仮想ディスクを作成するときは、動的なサイズであることを確認してください。
レノオ

10

Windows XPゲストマシンでサイズ変更してサイズ変更を表示できなくなった後、

  1. クローン
  2. 「VBoxManage modifyhd winxppro \ Clone.vdi --resize 30720」でサイズを変更すると、すべてが機能しました

私は他のフォーラムで、スナップショットがサイズ変更に干渉し、さまざまなエラーのスナップショットをすべて削除できないことを見ました。私にとって唯一の解決策は、スナップショットを削除してサイズを変更することであり、すべてが機能していました ウィンドウの外でサイズを変更するには、ここにあるgpartedブートCD が役立ちます


6

ディスクを移動したときに同じ問題が発生し、オリジナルをシンボリックリンクに置き換えました。これは後で正常に機能しますが、「modifyhd」コマンドで問題が発生します。これは、vdi-fileを操作するときに明らかにvdi-fileへのパスを正規化するためです。これにより、同じUUIDで別のパスに新しいディスクを追加しようとしているように見えます-またはそのようなものです。

2つの問題がありました。

  1. ディスクは、それを使用したVMから削除する必要がありましたが、「HDDのVirtualBoxリストから」削除する必要がありました。これは 'closemedium'コマンドで修正され、リストから削除されました。

  2. サイズ変更されるディスクは「ダイナミック」ではなく「固定ディスク」であり、ダイナミックディスクのみがサイズ変更できます。これは「クローン」コマンドで修正され(クローンは動的)、結果のディスクのサイズを変更します。

これは、それがどのように行われたかの私のログです。後でパーティションとファイルシステムのサイズを変更するときを除いて、ルートとして実行している時点でないことに注意してください

VMからディスクへの関連付けを削除します。

問題はまだパーシスト:

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd TestInception\ 64\ bit.vdi --resize 8192
VBoxManage: error: Cannot register the hard disk '/datadisk/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi' {6cd99209-e4db-4178-a6c2-53f9581b1fad} because a hard disk '/home/virt_box/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi' with UUID {6cd99209-e4db-4178-a6c2-53f9581b1fad} already exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBox, interface IVirtualBox, callee nsISupports
VBoxManage: error: Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 178 of file VBoxManageDisk.cpp

ああ、ディスクはまだ「システム内」にあります。

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage list hdds
UUID:        ba58276a-bbe1-4354-8ae5-246bdac390c8
Parent UUID: base
Format:      VDI
Location:    /home/virt_box/VirtualBox VMs/TestInception 32 bit/TestInception.vdi
State:       locked write
Type:        normal
Usage:       TestInception 32 bit (UUID: a693ac62-7caa-4f11-9d00-51d3a149f5f7)

UUID:        6cd99209-e4db-4178-a6c2-53f9581b1fad
Parent UUID: base
Format:      VDI
Location:    /home/virt_box/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi
State:       created
Type:        normal

VirtualBoxディスクリスト(「closemedium」)からディスクを削除/削除します。

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage closemedium disk 6cd99209-e4db-4178-a6c2-53f9581b1fad
virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage list hdds
UUID:        ba58276a-bbe1-4354-8ae5-246bdac390c8
Parent UUID: base
Format:      VDI
Location:    /home/virt_box/VirtualBox VMs/TestInception 32 bit/TestInception.vdi
State:       locked write
Type:        normal
Usage:       TestInception 32 bit (UUID: a693ac62-7caa-4f11-9d00-51d3a149f5f7)

サイズ変更を再試行してください。

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd TestInception\ 64\ bit.vdi --resize 8192
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize hard disk operation for this format is not implemented yet!

くそー、「固定サイズ」は機能しません!「動的に割り当てられた」クローンディスクを残すため、「clonehd」が助けになります。

virt_box@TestBox:/datadisk/VirtualBox VMs/TestInception 64 bit$ VBoxManage clonehd TestInception\ 64\ bit.vdi TestInception\ 64\ bit-cloned.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: 8e237500-173b-401a-9e63-9e64da110da9

今すぐリサイズを行います(無敵):

virt_box@TestBox:/datadisk/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd --resize 8192 TestInception\ 64\ bit-cloned.vdi 
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

その後、サイズ変更のために、一部のVMにアタッチします。これはルートとして行われます。パーティションが1つだけで、おそらくスワップがあると仮定します。

# fdisk /dev/sdb  # <- The extra disk, just attached to be resized
// The procedure looks like this:
// m - print help
// p - print table
// d ... - delete partition (delete both if you have root and swap)
// n - new partition (create root/first partition starting on exact same sector as before, typically 2048, but ends on last, or last minus swap)
//  ... n.. (.. then add the swap partition. Calculate how many sectors using original table)
// t - change type of partition (swap partition, if any, to 82 - not 83 which is "normal Linux").
// w - write partition table (write out, with the resized partition)

# e2fsck -f /dev/sdb1

e2fsck 1.42.5 (29-Jul-2012)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 99918/122160 files (0.3% non-contiguous), 471032/487936 blocks

# resize2fs /dev/sdb1

resize2fs 1.42.5 (29-Jul-2012)
Resizing the filesystem on /dev/sdb1 to 1965824 (4k) blocks.
The filesystem on /dev/sdb1 is now 1965824 blocks long.

これは、ここでガイドを踏襲し、私の仕事:yinfor.com/2015/05/...
marijnz0r

4

これは、Ubuntu 16.04ホストマシンおよびWindows 10ゲストにインストールされたVirtualbox 5.2.6で機能しました。VirtualboxManagerを開き、グローバルツール(右上隅)をクリックして、Virtual Media Managerを選択します。[ハードディスク]タブをクリックして、ゲストOSを選択します。ボックスの下部にある[属性]タブをクリックします。下部に仮想ディスクのサイズが表示され、スライダーを使用して好みに合わせてサイズを増やすことができます。(この方法ではサイズを小さくすることはできず、増やすことしかできません)。適用をクリックします。WindowsゲストOSを起動し、コンピューターの管理を開き、C:ドライブを右クリックし、ボリュームの拡張を選択して、未割り当ての部分でファイルシステムを拡張します。

それは私がしなければならなかったすべてであり、私にとって完璧に機能します。


うまくいきました。少なくともVirtualBoxの最近のバージョンでは、これは受け入れられた答えではないでしょうか?
AlwaysLearning

2

確実な方法は、VMで実行されていないより大きなハードドライブに移動するのと同じことです。まず、XPでccleanerまたは類似のプログラムを使用して、可能なすべてのジャンクファイルをクリーンアップします。次に、必要なサイズのセカンダリ仮想HDDを作成します。仮想ODDドライブでclonezilla ISOを使用して起動し、「新しいパーティションサイズにサイズ変更」オプションを選択してクローンを作成します。次に、新しい仮想HDDをプライマリとして設定し、動作することがわかるまで古い仮想HDDを削除しないでください。


2

sudoを使用してコマンドを実行するまで同じエラーを受け取りましたが、完璧に機能しましたが、追加のスペースを使用するにはゲスト内からパーティションを拡大する必要があります。


一部の人々は、これが原因でホームディレクトリに不正なアクセス許可が生じると報告しました
ジョナサン

2

ディスクイメージファイルへの書き込み権限を持つユーザーとしてログインしていることを確認してください。次に実行する

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB  

最初に尋ねたときに私のために働いた


1
再インストール/再フォーマット/再パーティション化する必要がありましたか?または、すぐに起動しましたか?
ジョナサン

2

ホストマシンがWindowsの場合、次のコマンドを実行して、仮想ボックスのvdiディスクサイズを増減できます。

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd "C:\Users\your_user_name\VirtualBox VMs\Ubuntu18LTS\Ubuntu18LTS.vdi" --resize 20000

上記のコマンドで、your_user_nameを実際のWindowsユーザーに置き換えます。20000はディスクのMBサイズです。


1

実際のところ、場合によってはそれmodifyhdだけでは何の役にも立たないようです。実際にWinXP vdiを展開した後、展開後にイメージを複製しました。

数週間前に私のために働いた完全なステップバイステップガイドは次のとおりです:http : //libtronics.com/2011/07/resize-virtualbox-disk-for-winxp-guest/


ここで手順を説明してもらえますか?通常、別のサイトへのリンク以上の回答はここでは眉をひそめ、削除される場合があります
トム・ブロスマン

1
さて、modifyhdの機能を理解する必要があります。これは、基礎となる仮想ディスクを拡張する以上のものではありません。それだけです。それでも、その上にあるファイルシステムを拡張する必要があります。
マルシンカミンスキー

1

VirtualBoxディスクのサイズを変更する方法を次に示します。これは、固定形式のディスクか動的形式のディスクかに関係ありません。具体的には、このエラーを防ぎます:

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

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

ホストで:

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

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

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

    cd "My VMs"
  3. 目的のファイル名、サイズ(メガバイト単位)、フォーマット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
  4. 元のディスクを新しいディスクにコピーします。

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

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

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


1

私が行ったように、VHD上にWindowsを持っている人のために、最初に次のLinuxコマンドでクローンを作成してVDIに変換します。(注、Windows VMの電源はオフです。)

VBoxManage clonehd Windows10.vhd Windows10.vdi --format vdi

これにより、vhdが複製されます。

次に、VDIのサイズを次のように変更できます。VDIは実際に使用されるまで成長しないことに注意してください。

VBoxManage modifyhd Windows10.vdi --resize 80000

VMホストソフトウェアでストレージのマウントを修正し、VMの電源を入れると、Windowsが起動しますが、パーティションは同じサイズのままです。Cドライブパーティションのサイズを変更できるWindowsツール用のGoogle。EaseUs Partition Masterを使用して、Cドライブパーティションを新しいサイズに拡大しました。

最後に、VHDを削除できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.