가상 머신의 하드 디스크 크기를 늘리려면 어떻게합니까?


257

여기에 이미지 설명을 입력하십시오

WinXP 가상 머신의 공간이 부족하여 생성 할 때 10GB의 공간 만 제공했습니다. 20GB로 늘리는 쉬운 방법이 있습니까? 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 VM'위치에 있지 않다는 것입니다. 나는 이것을 어떻게 고쳤는지 대답했다.
stolsvik

1
내 경험을 자세히 설명했습니다 : kmonsoor.wordpress.com/2012/05/26/virtualbox-increase-disk-size 아래의 "허용 된"대답은 옳지 않습니다.
kmonsoor

"기존의 vdi를 복사하는 것"이 ​​"기존의 크기보다 큰 새로운 빈 vdi"(참조 : justintung.com/2011/01/06/… )에 또 다른 가능성이 있습니다.
parasrish

또한 "vdi"크기는 커졌지 만 "vm-os-installation"을 기반으로 기본 파티션은 동일하게 유지되며 새로 할당 된 공간은 일반적으로 "할당되지 않음"으로 표시되므로 크기 조정만으로는 도움이되지 않을 수 있습니다. ". 따라서 "파티션 재 할당"을 수행해야합니다 (위 링크 참조).
parasrish

답변:


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 디스크의 크기를 20GB에서 30GB로 늘리고 등록을 해제 할 필요없이 매우 원활하게 작동했습니다. $ VBoxManage modifyhd Windows7.vdi --resize 30720 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% 처음에 Windows는 증가 된 공간을 감지하지 못했지만 전원을 끈 후에도 내장 디스크 관리 도구를 사용하여 C : 파티션의 크기를 늘릴 수있었습니다.
Jonik

3
+1, 가장 확실한 방법입니다.
Starx

20
@asd 디스크 크기를 변경하는 것만으로는 충분하지 않으며 파티션의 크기도 조정해야합니다.
Bruno

5
나는 최신 버전의 VirtualBox에서 지금 생각 .\VBoxManage.exe modifymedium disk 4d30d154-f8c2-4a3b-bd8b-ddcfbfe64aaf --resize 30720합니다. modifyhd이전 명령과의 하위 호환성이 있습니다.
TranslucentCloud

2
방금 25di에서 120G로 vdi 파일 크기를 조정했지만 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는 이러한 실수를 해결하는 데 효과적입니다.
Richard Povinelli

@Lekensteyn : chown은 소유권 실수를 해결합니다. 난 당신이 :-) 여러 번 참조하는 문제를 해결해야했다 때문에, chmod를하고 대한 Chown 언급
리처드 Povinelli

2
Windows에는 유용
Jon

리눅스에서 윈도우를 실행하고 있다면이 옵션을 따라 디스크를 확장해야합니다. 그렇지 않으면 윈도우가 추가 한 공간을 추가하지 않습니다
Ajith R Nair

18

Wim, 먼저 Vbox에서 등록을 해제해야한다고 생각합니다. 파일, 미디어 관리자, HDD를 클릭하고 등록을 취소하십시오. 그런 다음 다시 시도하십시오.


2
VirtualBox의 Linux에서는 필요하지 않습니다. 먼저 게스트 OS를 완전히 종료해야했습니다.
Underverse

15

VirtualBox 메뉴를 사용하여 수행 할 수도 있습니다.

선택 File->Virtual Media Manager ...

창이 열립니다 : 여기에 이미지 설명을 입력하십시오

디스크를 선택하고을 선택하십시오 Properties. 이제 슬라이더를 맨 아래로 이동하십시오.

가상 머신을 시작한 후 Windows는 새 공간을 인식 하지 못합니다 .

Windows의 경우 Computer Management(시작 메뉴에서 검색) 왼쪽 메뉴에서 Storage-> Disk Management를 선택하십시오 . 파티션 (아마도 C :)을 선택하고 마우스 오른쪽 단추로 클릭 한 다음을 선택하십시오 Extend Volume .... 이제 마법사를 클릭하면 완료됩니다.


당신은 어떻게해야합니까 Release그 전에? 현재 슬라이더는 회색입니다. 아니면 동적 파티션을 선택 했습니까?
Royi

Royi : 가상 디스크를 만들 때 크기가 동적인지 확인하십시오.
lenooh

10

Windows XP 게스트 컴퓨터에서 크기를 조정하고 크기 조정을 볼 수없는 경우

  1. 그것을 복제
  2. "VBoxManage modifyhd winxppro \ Clone.vdi --resize 30720"으로 크기를 조정하면 모든 것이 작동합니다.

다른 포럼에서 스냅 샷이 크기 조정을 방해하고 내가 얻은 다른 오류로 모든 스냅 샷을 제거 할 수 없다는 것을 알았습니다. 나를위한 유일한 해결책은 스냅 샷을 제거하고 크기를 조정하기 위해 스냅 샷을 복제하고 모든 것이 작동하는 것입니다. 외부 창 크기를 조정하려면 여기 에서 찾을 수있는 gparted 부팅 CD가 도움이 될 수 있습니다.


6

디스크를 옮길 때와 동일한 문제가 발생하여 원본을 심볼릭 링크로 교체했습니다. 이것은 정상적으로 작동하지만 'modifyhd'명령에 문제가 발생하여 vdi 파일 작업 경로를 정규화 할 수 있습니다. 따라서 UUID는 동일하지만 다른 경로 또는 이와 유사한 방식으로 새 디스크를 추가하려는 것처럼 보입니다.

두 가지 문제가있었습니다.

  1. 디스크를 사용한 VM에서 디스크를 제거하고 "VirtualBox hdd 목록"에서도 디스크를 제거해야했습니다. 이것은 'closemedium'명령으로 수정되어 해당 목록에서 제거되었습니다.

  2. 크기를 조정할 디스크는 "동적"대신 "고정 디스크"였으며 동적 디스크 만 크기를 조정할 수 있습니다. 'clone'명령 (복제는 동적)으로 수정 된 다음 결과 디스크의 크기를 조정합니다.

이것이 어떻게되었는지에 대한 나의 기록입니다. 나는 고지해야 하지 루트로 어느 지점 실행에 내가 나중에 파티션과 파일 시스템의 크기 조정을 할 경우를 제외하고를.

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!

DAMN, "고정 크기"가 작동하지 않습니다! '동적으로 할당 된'복제 된 디스크가 남으므로 구조에 '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에 연결하십시오. 이것은 루트로 수행됩니다. 파티션이 하나만 있고 스왑이 가능하다고 가정합니다.

# 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 Host Machine 및 Windows 10 Guest에 Virtualbox 5.2.6이 설치된 경우에 효과적이었습니다. Virtualbox Manager를 열고 Global Tools (오른쪽 위)를 클릭하고 Virtual Media Manager를 선택하십시오. 하드 디스크 탭을 클릭하고 게스트 OS를 선택하십시오. 상자 하단에서 속성 탭을 클릭하십시오. 하단에는 가상 디스크의 크기가 표시되며 슬라이더를 사용하여 원하는대로 크기를 늘릴 수 있습니다. 이 방법으로는 크기를 늘리지 않고 늘릴 수 있습니다. 적용을 클릭하십시오. Windows 게스트 OS를 시작하고 컴퓨터 관리를 열고 C : 드라이브를 마우스 오른쪽 단추로 클릭 한 후 볼륨 확장을 선택하여 할당되지 않은 부분으로 파일 시스템을 확장하십시오.

그게 내가해야 할 일이며, 나를 위해 완벽하게 작동합니다.


잘 했어. 적어도 최신 버전의 VirtualBox에 대해서는 이것이 정답이 아니어야합니까?
AlwaysLearning

2

확실한 방법은 VM에서 실행되지 않는 더 큰 하드 드라이브로 이동하는 것과 동일하게 수행하는 것입니다. 먼저 XP에서 ccleaner 또는 similiar 프로그램을 사용하여 가능한 모든 정크 파일을 정리하십시오. 그런 다음 원하는 크기의 보조 가상 HDD를 생성하십시오. 가상 ODD 드라이브에서 clonezilla ISO로 부팅하고 선택한 '새 파티션 크기로 조정'옵션과 함께 복제하십시오. 그런 다음 새 가상 HDD를 기본으로 설정하고 작동하기 전에는 이전 가상 HDD를 삭제하지 마십시오.


2

sudo를 사용하여 명령을 실행하고 완벽하게 작동 할 때까지 동일한 오류가 발생했지만 여전히 추가 공간을 사용하려면 게스트 내에서 파티션을 확장해야합니다.


일부 사람들은 이로 인해 홈 디렉토리에 잘못된 권한이 있다고보고했습니다.
Jonathan

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/


여기 단계를 설명해 주시겠습니까? 다른 사이트에 대한 링크 이상의 답변은 일반적으로 여기에 찌그러지고 삭제 될 수 있습니다 .
Tom Brossman

1
기본 가상 디스크를 확장하는 것 이상인 modifyhd의 기능을 이해해야합니다. 그게 전부입니다. 여전히 파일 시스템을 확장해야합니다.
Marcin Kaminski

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. 원하는 파일 이름, 크기 (MB) 및 형식 Standard(동적) 또는 으로 새 VirtualBox 디스크를 만듭니다 Fixed. 예를 들어,라는 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.