VHD 가상 디스크란 무엇인가?

1. VHD 가상 디스크의 상식과 기본 관리

아직 VHD 가상 디스크란 것이 무엇인지 그 개념과 원리에 대해서 잘 모르시겠다면, 아래의 글들을 먼저 읽어보시고 오시는 것이 좋습니다.




2. 고정 크기와(Fixed) 동적 확장(Expandable)

일단 다시 한 번 정리를 하자면, 윈도우 7 에서 VHD 가상 디스크를 사용하기 전에 먼저 알아두어야 할 것은, VHD 가상 디스크는 고정 크기(Fixed)동적 확장(Expandable) 두 가지 형식으로 생성할 수 있다는 것입니다. 이 둘의 가장 큰 차이점은 가상 디스크를 만들었을 때 생성되는 VHD 파일의 크기에서 차이가 나게 됩니다.

고정 크기(Fixed)
가상 하드 디스크의 크기와 동일한 용량의 VHD 파일을 생성합니다. 이후 가상 하드 디스크에 파일을 추가하더라도 VHD 파일의 용량은 변하지 않습니다. 즉, VHD 파일은 생성과 동시에 고정적인 용량을 가집니다. 가상 하드 디스크의 크기는 실제 물리 디스크의 크기를[VHD 파일이 저장되는 볼륨의 크기를] 넘어설 수 없습니다.

동적 확장(Expandable)
가상 하드 디스크의 크기와 상관없이 아주 작은 용량의 VHD 파일을 생성합니다. 이후 가상 하드 디스크에 파일을 추가하면 추가된 파일의 용량 만큼 VHD 파일의 용량이 동적으로 늘어납니다. 즉, VHD 파일은 생성 후 가변적인 용량을 가집니다. 가상 하드 디스크의 크기는 실제 물리 디스크의 크기에 영향을 받지 않습니다.


간단하게 10GB 짜리 VHD 가상 디스크를 생성한다고 가정한다면, 고정 크기 형식은 가상 디스크 생성과 동시에 VHD 파일의 크기가 10GB 로 생성되고 그 용량 그대로 계속 사용되는데에 반해, 동적 확장 형식은 처음엔 아주 작은 소용량으로 생성되고 이후 VHD 가상 디스크 안에 파일을 저장하는 만큼 VHD 파일의 크기도 점점 늘어나 최종적으로 가상 디스크에 데이터가 꽉 찼을 때 VHD 파일의 크기도 10GB 가 되는 것입니다.

즉, 고정 크기 형식은 가상 디스크의 크기 만큼 VHD 파일을 생성하여 실제 디스크 내에서 미리 공간을 선점하는 형태이고, 동적 확장 형식은 공간을 미리 선점하지 않고 최대 크기 내에서 가상 디스크를 사용하는 만큼 VHD 파일의 크기를 점점 늘려 공간을 확보하는 형태인 것이죠.


이러한 특성으로 고정 크기 형식은 VHD 파일이 위치하는 실제 디스크의 남은 용량보다 큰 용량을 가지는 가상 디스크를 만들 수 없지만, 동적 확장 형식은 실제 디스크의 남은 용량에 상관없이 가상 디스크의 크기를 마음대로 만들 수 있습니다.

물론 동적 확장 형식이 실제 디스크 용량보다 큰 용량의 가상 디스크를 생성하는 것은 가능하지만, 실제 데이터를 담는 것은 어디까지나 VHD 파일이 위치한 실제 디스크의 남은 용량 이내에서고, 실제 디스크의 용량이 가득차게 되면 VHD 파일의 크기를 늘릴 수 없게 되기 때문에, 가상 디스크에 여유 공간이 있을 지라도 더이상 파일을 저장할 수는 없습니다.


이런 저런 특성으로 인해 가상 디스크의 속도적인 측면에서는 고정 크기 형식이 좀 더 유리하며 용량적인 측면에서는 동적 확장 형식이 좀 더 유리한 방식입니다. 일단 VHD 의 형식에 관한 정리는 이쯤에서 마치도록 하죠.



3. VHD 가상 디스크의 연결과 분리

일단 VHD 가상 디스크의 연결과 분리에 대해서 명확하게 이야기를 해야 할 것 같네요.


쉽게 생각하세요. VHD 가상 디스크는 윈도우 위에서 돌아가는 일종의 프로그램(가상 하드웨어)입니다. 고로 윈도우가 종료되면 가상 디스크도 사라집니다.(정확하게는 분리되어 VHD 파일만 남습니다.) 윈도우를 시작하고 해당 가상 디스크를 다시 사용하려면? 다시 해당 VHD 파일을 가상 디스크로 윈도우에 연결을 시켜줘야 하는 겁니다.

VHD 파일 -> 윈도우에 연결 -> 가상 디스크로 사용

사용 중인 가상 디스크 -> 윈도우 종료 -> 연결된 가상 디스크는 분리되고(사라지고) VHD 파일만 남음

VHD 파일 -> 윈도우에 연결 -> 가상 디스크로 사용

사용 중인 가상 디스크 -> 윈도우 종료 -> 연결된 가상 디스크는 분리되고(사라지고) VHD 파일만 남음

.
.
.



마치 실제하는 디스크처럼 사용할 수 있지만 실제로 존재하는 손에 잡히는 그런 장치가 아니에요. 가상이라니까요? 이걸 왜? CMOS 셋업에서 찾고 그러십니까? 윈도우 PE 로 부팅한 다음에 왜 이전에 사용하던 가상 디스크가 사라졌다고 뭐라고 하시나요? 가상 디스크도 그냥 메모장이나 네이트온 같은 프로그램이에요. 윈도우를 끄면 네이트온도 꺼지죠? 윈도우를 껐는데 네이트온은 혼자 움직이나요? 아니잖아요? 이렇게 네이트온이 꺼졌어도 네이트온이라는 프로그램이 컴퓨터에서 사라진 것은 아니죠? 그래서 윈도우를 켜면 또 네이트온을 실행해서 사용할 수 있잖아요?

그것과 똑같은 겁니다. 윈도우를 켜고 네이트온을 사용하려면 다시 프로그램을 실행하여 아이디랑 비번치고 접속하듯이, 가상 디스크도 윈도우를 재부팅하고 나면 다시 기존의 파일을 선택해서 가상 디스크로 연결을 시켜서 또 사용하는 겁니다. 간단하잖아요?


VHD 에 윈도우가 설치되어 있으면 매번 부팅 때마다 자동으로 연결이 되어서 헷갈리시는 것 같은데, 그건 그냥 윈도우의 부트 매니저인 Bootmgr 이 부팅 때마다 부팅 항목에 지정된 해당 VHD 파일을 사용할 수 있게 자동으로 연결하는 겁니다. 그게 다에요.

네이트온도 윈도우가 부팅될 때 자동으로 실행하게 설정해 놓으면 윈도우가 시작될 때 자동으로 실행되잖아요? 그것과 같은 겁니다. 이제 VHD 부팅의 경우는 VHD 가상 디스크 안에 담긴 윈도우로 부팅을 해야하니까 윈도우 이전 단계 즉, 부트 매니저의 부팅 단계에서 Bootmgr 이 VHD 연결을 자동으로 처리하는 것이죠. Bootmgr 은 그게 가능하니까요! 매번! 부팅 때마다! 끊긴 걸 다시 연결하는 겁니다! 그러는거에요! 간단하죠?

VHD 파일 -> Bootmgr 이 자동으로 연결 -> 가상 디스크 인식 -> 안에 담긴 윈도우로 부팅

부팅 중인 가상 디스크 -> 윈도우 종료 -> 연결된 가상 디스크는 분리되고(사라지고) VHD 파일만 남음

VHD 파일 -> Bootmgr 이 자동으로 연결 -> 가상 디스크 인식 -> 안에 담긴 윈도우로 부팅

부팅 중인 가상 디스크 -> 윈도우 종료 -> 연결된 가상 디스크는 분리되고(사라지고) VHD 파일만 남음

.
.
.



부팅용 VHD 는 그게 부팅용이라서 이런 식으로 자동으로 처리가 되는 겁니다. 그 외의 부팅용이 아닌 다른 VHD 가상 디스크는 앞서 이야기했듯이 자기가 직접 알아서 수동으로 연결을 시켜줘야 하는 거구요. 간단하잖아요? 안 그래요? 안 간단해요? 이렇게 설명을 드렸는데 이게 지금 안 간단하면 제가 더이상 뭘 어떻게 설명해야할 지 감도 안 오는 수준인데 말입니다.


마지막으로 꼭 드리고 싶었던 말이 있는데요. VHD 가상 디스크는 사다코가 아니에요. 링에서 사다코가 TV 뚫고 기어나오니까 가상 디스크도 컴퓨터 모니터에서 기어나와서 케이스 안으로 스멀스멀 들어가 3.5인치 베이에 자리 잡으신 후 손수 나사를 조이시고 케이블을 직접 자신의 몸에 꽂아 연결하시는 기적을 일으키진 않는다는 말이죠. 그러니 CMOS 셋업에서 가상 디스크를 찾지는 말게요. 우리 인간적으로...


앞으론 이 문제에 대해선 더이상 고민하지 말게요. 오늘 딱! VHD 가상 디스크의 연결과 분리에 대해서 정확하게 이해하신 겁니다! 알았죠? 믿고 갑니다!


실질적인 VHD 파일을 생성하고 가상 디스크로 연결하는 것은 다음 글에서 계속하도록 하겠습니다.





 

 

신고
캐플 블로그에 공개된 글은 반드시 원본 글의 링크를 포함시키는 조건으로 자유롭게 이용하실 수 있습니다.
하지만 블로그의 발전을 위하여 되도록이면 링크로 글을 소개해주시길 부탁드립니다. ^^

- 상업적인 용도의 사이트는 대상에서 제외됩니다. -
- 글에는 오류가 있을 수 있고, 추후 수정 또는 재발행될 수 있습니다. -
  1. BlogIcon KIUCOPY 2012.05.18 10:16 신고  댓글주소  수정/삭제  댓글쓰기
    다시한번 개념이 확실히 잡힙니다. 감사합니다.
  2. BlogIcon vision2real 2012.11.06 21:58 신고  댓글주소  수정/삭제  댓글쓰기
    VHD를 신비님 포스팅에서 이론적으로만 이해하고 사용해본 적이 없었는데,
    Windows 8도 나오고 해서 한참 공부중입니다.

    이 포스팅 시작 부분에 '스누피 박스 - 윈도우 7 VHD 부팅과 활용 방안'이라고 링크를 걸어두셨는데,
    스누피님 해당 글 마지막에는 신비님의 글 'VHD 파일 최적화하기 - SDelete'로 재링크가 걸려 있습니다.

    그런데, 이 링크가 예전 신비 블로그로 연결되어 있어서 글이 없습니다.
    아마, 현재 운영중인 웹싸이트에서는 "[DiskPart] VHD 가상 디스크의 용량 최적화하기 - Compact"이라는 포스팅으로 링크되어야 하는게 아닌가 싶은데, 링크를 수정해달라고 하심이 좋을 것 같습니다.

    VHD와 Windows 8 설치에 관한 포스팅 쭈욱 읽고 있는데,
    덕분에 시간 낭비하지 않고 잘 배우고 있습니다.

  3. BlogIcon 니드뽀폴쉐 2012.11.20 00:06 신고  댓글주소  수정/삭제  댓글쓰기
    캐플님, 혹시 재부팅시 수동으로 연결해줘야하는 가상디스크를 부탕하면서 자동으로 연결하게 하는 방법은 없을까요? ^^;;
    • BlogIcon CApple 2012.11.20 04:39 신고  댓글주소  수정/삭제
      윈도우 로그온 후 사용할 가상 디스크라면 가상 디스크 파일을 연결하는 DiskPart 배치 파일을 짜서 윈도우 7 이라면 시작 프로그램에, 윈도우 8 이라면 작업 스케줄에 등록하여 윈도우로 진입함과 동시에 가상 디스크를 자동으로 연결하도록 하는 건 어떨가요?
    • BlogIcon 니드뽀폴쉐 2012.11.20 23:59 신고  댓글주소  수정/삭제
      아... 생각으론 배치파일(?)... 여튼 뭔가를 짜서 시작프로그램 등록을 하면 될 것 같긴한데 그걸 할 능력이 없다보니...

      'DiskPart 배치 파일'이라는 검색어로 검색하니 캐플님 글부터 정보가 나오네요. 한 번 시도해봐야겠습니다. 감사합니다~


      추가.
      음... 우선 만들어둔 가상디스크파일을 연결만 하면 되는거라...
      diskpart /s d:\start.txt
      라고 한줄 짜리 start.cmd파일을 만들어 시작프로그램 폴더에 넣어두고,
      sel vdisk file d:\test.vhd
      attach vidks
      라는 두줄 짜리 start.txt파일을 만들어서 d드라이브 루트에 넣었는데...
      테스트 상으론 잘 되네요.

      근데, 스크립트파일 없이 그냥 cmd 파일 하나로 만드는건 모르겠네요.ㅠㅠ
    • BlogIcon CApple 2012.11.21 05:21 신고  댓글주소  수정/삭제
      해당 내용을 포스팅으로 하나 뺄께요. ^^
    • BlogIcon 니드뽀폴쉐 2012.11.21 11:39 신고  댓글주소  수정/삭제
      재부팅없이 그냥 cmd파일만 실행해본 상태인데....
      (재부팅은 1~3주에 한 번..^^;;)
      그전에 캐플님 포스팅이 올라온다면 다시 적용해봐야겠습니다. ^^
      미리 한 번 감사드립니다~~
  4. 유니 2015.11.06 10:42 신고  댓글주소  수정/삭제  댓글쓰기
    강의를 재미 있게 하시네요!
    잘 보고 갑니다.

댓글을 달아 주세요

- 댓글에선 예의를 지켜주시기 바라며, 블로그지기는 댓글에서 따로 활동하지 않습니다.

* 티스토리 사용자는 여기를 클릭하시면 로그인 됩니다.

BBCode 안내   굵게 밑줄 기울임 취소선   취소선 취소선 취소선 취소선   왼쪽 정렬 가운데 정렬 오른쪽 정렬   코드박스 인용구 이미지   이미지 업로드-Imgur.com