저는 현재 윈도우 7 64비트를 20GB VHD 파일에 설치해서 사용중이며 6.5GB가 남아있는 상태인데, 의외로 VHD 파일 용량이 부족해서 늘리고 싶어 하시는 분들이 간혹 계시더군요.

farsky님께서 댓글 남겨주셨기 때문에 방법을 소개해드립니다.

윈도우 7 DVD로 부팅 후 설치할 언어 선택하는 첫 화면에서 Shift + F10을 눌러 콘솔 창을 띄웁니다. 그리고 아래와 같이 진행하시면 됩니다. (F8 복구모드 등 PE 3.0 이상에서 진행)

DISKPART
=> DISKPART로 들어갑니다.

SELECT VDISK FILE=C:\WIN7.VHD
=> 확장할 VHD 파일을 선택합니다.

EXPAND VDISK MAXIMUM=102400
=> 최대 크기를 MB 단위로 지정합니다. 원하는 GB 크기에 1024를 곱하면 MB가 됩니다.

ATTACH VDISK
=> VHD 파일을 연결합니다.

SELECT PARTITION 1
=> 첫번째 파티션을 선택합니다.

EXTEND
=> 선택한 파티션을 남아있는 공간으로 볼륨 확장합니다.

EXIT
=> DISKPART를 종료합니다..


빨간색으로 표시한 부분은 줄임말입니다. 즉 SELECT 하지 않고 줄여서 SEL 해도 된다는 말입니다.



그리고 위 내용을 전부 입력하기 귀찮다면, EXPAND VDISK 단계까지만 진행하시고, 나머지 단계는 윈도우로 진입해서 디스크관리자에서 볼륨 확장 하셔도 됩니다. EXPAND 작업은 분리된 VHD 상태에서만 가능하지만, 할당되지 않은 공간에 볼륨을 확장하는 작업은 윈도우 상에서도 가능하니까요.



이쯤 되면 VHD 파일을 축소하고픈 분들도 분명히 계실 것 같은데, 안타깝게도 DISKPART에는 그런 기능이 없습니다. 볼륨을 축소할 수는 있지만 나머지 할당되지 않은 공간을 없애는 방법은 없더군요. 즉 EXPAND의 반대 개념 명령어는 없다는 말입니다. (일단 볼륨 축소하고 VhdResizer 프로그램으로 줄이는건 가능한데, 어차피 새로 VHD 파일을 생성하는 개념이라 불편합니다.)

제 생각에 VHD 파일의 헤더 부분을 적당히 편집해주면 가능할 것 같은데, 능력자 분 계시다면 한번 만들어 주세요. ^^
신고
Share
  1. 이전 댓글 더보기
  2. BlogIcon deVbug
    2011.07.18 23:36 신고

    오랜만에 리플을 다네요 ㅎㅎ
    http://devbug.me/254
    이전에 분석했던 건데..
    이때 제가 실험하기론, 용량이 줄긴 줄었던거 같은데.. 정확하겐 잘 기억이 안 나네요. ;ㅁ;
    Windows 머신이 있으신 분이 한 번 실험을 해보시면 좋을거 같습니다.

    • BlogIcon snpbox
      2011.07.19 00:05 신고
      수정 및 삭제

      오늘은 밤이 늦었으니... 내일 퇴근하면 한번 해보겠습니다. 그나저나 진짜 오랜만에 댓글 다셨네요. ^^

    • BlogIcon deVbug
      2011.07.19 00:36 신고
      수정 및 삭제

      RSS 구독으로 항상 지켜보고(?!) 있었답니다. ㅎㅎㅎ

  3. BlogIcon farsky
    2011.07.19 00:42 신고

    앗 제 댓글에 대한 스누피님의 포스팅이군요^^ 본문에 제 닉넴있어서 깜놀 ㅎㅎ

  4. BlogIcon blc
    2011.07.19 01:04 신고

    예전에는 30g로도 무리 없이 사용하다가
    요즘에는 좀 부족하길래 다시 설치해야했나 했었는데
    딱 맞는 팁이 올라왔네요
    감사합니다!

    10g가만 늘리려고 처음 EXPAND VDISK MAXIMUM= 이부분에서 10240을 썼다 좌절했었는데
    다시와서 그림을 보니 10240이 아니라 30g+10g해서 40960해야 됐던거네요 ㅎㅎ

    아무튼 감사합니다

  5. 유지용
    2011.07.19 02:45 신고

    스누피님 usb로 윈도우 깔기 보고나서 궁금증이 생겼씁니다.

    부팅할때 usb를 first 하는건 이해하는데 그때의 usb 포맷 형식이 fat32 인가 그방식이면 hdd로 인식 안하는것이지 않습니가? 아니면 usb.exe 파일이 ntfs 형식으로 포맷 해주는 프로그램인가요?

  6. 김지영
    2011.07.20 00:17 신고

    안녕하세요. 스누피님 글 덕분에 vhd를 잘 사용하고 있습니다.
    포스팅해 주신 확장 방법은 자식vhd를 사용하는 경우에도 쓸 수 있나요?
    부모의 차이점만 기록하는 방법이라 부모를 바꾸면 현재 자식에 적용이 될지 아니면 부모를 변경하고 새로 자식을 생성하는 것이 맞는 것인지 궁금하네요.
    아마도 후자일 것으로 짐작되는데 확신이 안 서네요.

    용량을 15 GB로 잡았더니 얼마 안남았기에 새로 처음부터 깔아야 하나 고민중이거든요.

  7. BlogIcon 시린
    2011.07.20 10:46 신고

    32/64비트 sysprep vhd 용량별로 만들어 놓은 저는.. (-_-)a

  8. 서범성
    2011.07.20 11:09 신고

    항상 좋은 글 감사드립니다. 많이 배우고 갑니다.
    그런데 저도 20G 잡았다가 AppData때문에 결국 다시 50G로 확장했습니다. 이 AppData를 다른 폴더로 옮기는 방법은 없나요...

  9. BlogIcon 시린
    2011.07.21 15:25 신고

    40GB Differencing VHD를 사용하다 용량이 부족하여 50GB로 확장했습니다..
    자식vhd와 부모vhd 중 어느것을 확장해야할까 생각하다 자식부터 해보니 되지않아서
    부모vhd를 50GB로 확장하였습니다..
    그리고..
    부팅이 안되네요.. 다른 OS로 들어와 VHD attach 해보려해도..
    '가상하드디스크의 체인이 손상되었습니다.. 부모와 자식간 가상 크기가 일치하지 않는다.'
    이러면서 가상디스크 연결도 안되네요.. 어쩌죠?? ㅠㅜ..

    • 구스프라바
      2011.07.28 13:43 신고
      수정 및 삭제

      저랑 같은 증상이시네요 ㅠ

      아마도 다른 방법이 있지 않을까 싶습니다.. ㅠ

      자식 vhd에 있는 자료 날리게 생겼네요ㅠ

    • lunar1st
      2011.08.04 00:02 신고
      수정 및 삭제

      으윽 저도 똑같은 증상이 발생하였습니다.
      자식 vhd 를 확장했으나, 에러메시지가 떠서 할수 없이 부모 vhd파일을 확장하였더니 "가상하드디스크의 체인이 손상되었다"라고 나오는 군요.
      다시 diskpart 들어가서 해당 자식 vhd를 sel 할려고 해도 안되는군요.
      방법이 없나요?
      스누피님 도와주세요~ 구글링해봐도 답이 안나옵니다. 흑흑. sel 이 안되니 부모랑 merge도 불가능합니다.

    • pchansol
      2011.09.17 09:30 신고
      수정 및 삭제

      아..이글을 먼저 봤어야 했는데 ㅜㅜ
      같은 증상으로 혹시나 해서 확장된 부모vhd의 자식vhd를 만들어 줬더니 부팅은 됩니다. 문제는 이전 자식vhd를 어찌 살리느냐 인데...
      누가 좀 도와주세요..ㅜㅜ

    • 열제
      2012.04.19 06:12 신고
      수정 및 삭제

      될지는 모르겠는데 자식vhd의 데이터를 부모vhd에 이전 시키는 방법을 한번 해보세요.

      PE로 부팅한 다음 CMD 창에서

      1. DISKPART로 들어갑니다. - diskpart

      2. 자식 VHD 파일을 선택합니다. - sel vdisk file=c:\win7-diff.vhd

      3. 부모 VHD 파일에 자식 VHD 파일을 병합시켜줍니다. - merge vdisk depth=1

      4. DISKPART를 종료합니다. - exit


      단 이 경우엔 작업 전 부모vhd를 백업해두셔야 합니다.그리고 자식vhd는 이제 필요가 없게 되니깐 삭제하시고 병합한 부모vhd(을)로 부팅을 하여 사용하시면 됩니다.왜냐하면 부모vhd와 자식vhd를 사용하는 경우는 대개 부모vhd의 시점으로 빠르게 돌아가기 위함이므로 자식vhd와 병합하게 되면 부모vhd와 자식vhd로 두는 의미가 없어지고 복구의 의미가 사라져버립니다.그러니깐 위의 병합작업을 하기 전 부모vhd(갑)을 백업해두고 병합한 (을)을 사용하다가 (갑)의 시점으로 되돌리고 싶을때 (을)을 (갑)으로 대체한 후 사용하면 용량의 이점은 버리게 되나 빠른 복구는 가능해집니다.부모,자식을 사용하는것보다 부모2개를 사용하는 것이 아무래도 용량을 많이 잡아먹을테니까요.
      근데 위 작업을 해도 될지는 미지수라 너무 큰 기대는 마세요ㅠ

    • eidar
      2012.12.25 15:27 신고
      수정 및 삭제

      저도 완전 깨져가지고 결국 usb 가따가 pe 부팅해서 이것저것하다가

      결국 그냥 하얗게 없어져서
      80기가 따로 c 드라이브로 빼서 윈도우7 다시깔았네요.. ㅠㅠ


      원래있던 40기가는 사라진거같은데 어떻게하지 ㄷㄷ

  10. maximum
    2011.08.06 10:40 신고

    maximum=102400 은 100G 로 늘린다는 뜻이죠?

  11. 샤오룽
    2011.09.22 18:31 신고

    줄이는것은 않되네요, VHD파일 새로 하나 만든후, 고스트를 이용해서 새로만든 파일에 푸는 방법이 가장 스트레스 줄이는 방법인것 같습니다. 전체 파티션 자체를 줄여주는 프로그램은 없네요.

  12. 황야
    2011.10.13 16:18 신고

    초기에 VHD생성시 최대크기를 여유있게 안했더니,, 남은 공간이 3기가정도밖에 안되네요,
    그런데 PE나 다른 윈도우로 부팅해서 늘려보는데
    EXPAND VDISK MAXIMUM=102400 <-- 요 부분에서 파라메터를 잘못입력했다라고 나오네요.
    오타나.. 그런건 아닐텐데.. 아무리해봐도 같은 증상입니다.
    새로하나 여유있게 만들어서 고스트 뜨는게 좋을까요? ㅎ

  13. 변희태
    2011.11.29 23:10 신고

    거상드라이브 늘리다가 실수로 하드보다 많은 용량을 만든것 같아요 포멧을 할려니 문제가 많고 이걸 볼륨 축소하면 축소가 될까요?? 복구 방접은 없겠죠?ㅜㅜㅜ

  14. 변희태
    2011.11.29 23:10 신고

    거상드라이브 늘리다가 실수로 하드보다 많은 용량을 만든것 같아요 포멧을 할려니 문제가 많고 이걸 볼륨 축소하면 축소가 될까요?? 복구 방접은 없겠죠?ㅜㅜㅜ

  15. 열제
    2012.04.19 05:34 신고

    항상 좋은 정보 감사합니다ㅎ제 부팅환경 설정에 많은 도움이 되었습니다.

  16. 키위
    2012.05.08 16:12 신고

    항상 좋은 정보 감사합니다.

    자식vhd 자료 미리 백업하고 부모 vhd확장해야 하는거가 정답인거죠?

    그런후 자식 새로 생성하구요~

  17. 이창복
    2012.12.23 14:06 신고

    스누피님 안녕하세요.
    윈도우 8을 vhd로 설치해서 사용중 하드 용량을 넘 적게 잡아서 님이 올려주신 vhd확장 하는 방법을 보고 따라서 정상적으로 하고 난 다음 재부팅을 하니 갑자기 복구모드가 지나가고 다음과 같은 메세지가 나오네요.
    "windows가 설치된 드라이브가 잠겨 있습니다.드라이브 잠금을 해제하고 다시 시도하세요." 그래서 여기저기
    검색을 해도 위와 같은 내용은 없더군요.워낙 초보라서 그냥 윈도우를 포맷하고 vhd를 다시 생성해서 다시 설치를 했습니다...ㅠ.ㅠ
    그런데도 위와 같은 잠겨있다는 메세지가 나오면서 윈도진입이 안되는군요.
    알려주십시요....부탁드립니다

  18. BlogIcon 악귀닷
    2013.05.30 17:19 신고

    저는 부모 vhd 를 확장하고 부팅도 다 성공했는데, 잦은 렉과 프로그램 실행의 다운 증상으로
    어쩔수 없이 다시 부모 vhd 를 재생성 했습니다
    아무래도 vhd 파일은 계산해보고 용량 되는대로 넉넉하게 생성하는게 답인거같아요

  19. 아하하하
    2013.08.01 22:10 신고

    MB단위라고 쓰여 있지만 예문의 숫자만보고 40960을 입력해야 할 걸
    409600으로 입력해버려서 부팅하려니 디스크 용량부족으로 뜨내여. ㅠㅠ
    우째야 하나. 줄이는 방법은 없다고 하니.. 흑흑

  20. 이것좀
    2013.12.26 18:55 신고

    자식 vhd로 부팅하고 스카이림이라는 콘솔게임을 하고 있었는데 갑자기 블루스크린이 뜨더니 컴퓨터가 꺼졌습니다.
    그래서 다시부팅 하려니까 윈도우시작중에서 블루스크린이 게속 뜹니다(1초정도보이고재부팅). 안전모드, 최근에 성공한 구성 표준모드 모두다 블루스크린이떴습니다.
    그래서 부모vhd로 부팅하려니까 시동복구모드와 표준모드가뜨더라구요 시동복구모드를해봐도 그냥 안내창몇개 뜨더니 그대로이고 표준모드를 선택하니 윈도우 시작중에서 또블루스크린이 뜨는겁니다. 근데그것은 스크린이 오래뜨더라고요 그래서 읽어보니 용량이 부족해서 윈도우시작요소를 불러올수 없다는 내용이 더라고요 그래서 늦었지만 pe로 부팅해서 용량을 확장해도 안되는거있죠. 이거 어떻게 안될까요? 부탁드립니다. ㅠㅠ

  21. 무명
    2015.05.26 14:02 신고

    주옥같은 자료로
    오늘도 또 도움받고 갑니다