VirtualBox에서 vhd 하드 드라이브 크기를 조정한 후 부팅할 수 없습니다.

VirtualBox에서 vhd 하드 드라이브 크기를 조정한 후 부팅할 수 없습니다.

Windows 7에서는 VirtualBox에 또 다른 Windows 7 VM을 설정했습니다. 그것은 훌륭하게 작동했습니다. 그런 다음 vhd HD 크기를 늘려야 했습니다. 그래서 VBoxManage 유틸리티를 사용하여 다음 설명과 함께 이를 수행했습니다.

VBoxManage modifyhd "c:\VMs\Win7.vhd" --resize 30000

그런 다음 VM을 다시 실행하려고 시도했지만 부팅할 수 없으며 다음 오류가 발생합니다.

치명적: 부팅 가능한 미디어를 찾을 수 없습니다! 시스템이 정지되었습니다.

그런 다음 VHD 내부에서 무슨 일이 일어나고 있는지 확인하고 장치 관리에서 연결하려고 시도했는데 연결할 수 없습니다.파일 또는 디렉터리가 손상되어 읽을 수 없습니다..

여기서 무엇이 잘못되었는지, 그리고 해당 VHD 파일 내에 내 VM을 어떻게 저장할 수 있습니까?

답변1

불행히도 VBoxManage --resize 옵션에 대한 VirtualBox 설명서는 오해의 소지가 있습니다. 디스크 이미지의 크기를 늘리고 모든 것이 제대로 작동하도록 할 수는 없습니다. 게스트 운영 체제가 디스크 이미지가 시뮬레이션하는 "드라이브"의 레이아웃을 알 수 있도록 이미지 내의 디스크 파티션 정보를 조정해야 합니다. 파티션 편집기가 있는 부팅 가능한 CD 이미지를 다운로드하고 해당 CD로 VM을 부팅하여 이 조정을 수행합니다. 그런 다음 파티션 편집기를 사용하여 추가된 공간을 사용하도록 디스크 이미지의 파티션을 조정합니다.

절차에 대한 좋은 글이 있습니다여기; 4단계로 건너뛰세요.

답변2

나는 같은 문제가 있었다

  1. 원하는 크기로 새 VHD 만들기
  2. clonhd를 사용하여 이전 vhd에서 새 vhd로 복사

참조 :http://tips.kaali.co.uk/2012/03/16/expand-or-increase-the-size-of-virtual-box-vdi-dis/

답변3

나는 같은 문제가 있었고 다음을 사용하여 데이터를 검색했습니다.GParted라이브CD

  1. 복사된 데이터를 받을 새 VHD 만들기(파티션 만들기 및 포맷)
  2. GParted LiveCD를 다운로드하고 VirtualBox에서 부팅하세요.
  3. 장치 선택 -> 데이터 복구 시도
  4. 확인을 클릭하고 스캔 후 보기를 클릭합니다(/tmp/gparted-roview-XXXXXX가 마운트됩니다).
  5. 터미널에서 두 번째 VHD(sudo mount /dev/sdb1 /mnt)를 마운트합니다.
  6. 파일을 복사합니다(sudo cp -R /tmp/gparted-roview-XXXXXX/* /mnt

그런 다음 가상 머신을 종료하고 Windows 장치 관리자에 VHD를 마운트할 수 있습니다.

답변4

게스트가 실행되는 동안 수정 명령을 실행했기 때문에 정확히 동일한 문제가 발생했다는 점에 주목할 가치가 있습니다. 공식 문서에는 먼저 스냅샷을 삭제해야 하며 해당 게스트가 중지되어야 한다는 내용이 나와 있지 않습니다.

내 계획은 컴퓨터가 실행되는 동안 디스크 크기를 조정하는 것이었습니다. 왜냐하면 즉시 늘릴 수도 있는 동적 볼륨이 있기 때문입니다. 그러나 전체 디스크 크기를 얻기 위해 머신을 재부팅했기 때문에 이것은 나쁜 생각이었습니다. 손상된 이미지와 함께 어둠 속에 남겨졌고, testdisk를 사용하지 않고도 복원할 수 없었습니다. Testdisk가 파티션을 찾았지만 파일 시스템이 심하게 손상되어 복구할 수 없습니다.

따라서 다음 사항을 참고하세요.

  1. 모든 스냅샷을 기본 이미지에 병합
  2. 게스트 OS 종료

백업 이미지와 게스트 OS의 전원을 끄고 내 컴퓨터에서 절차를 반복했는데 잘 작동합니다.

관련 정보