윈도우 XP와 비스타 사용자들이 윈도우 7의 VHD 파일을 이용해 부팅하려면 어떻게 해야할까요? 윈도우 7 사용자들은 간단하게 BCD에다 VHD 항목만 추가해주면 되는데 하위 OS에서는 그게 안 됩니다. 따라서 윈도우 7의 BCD를 메인 부트로더로 사용해야 합니다.
방법은 아주 간단(?)한데... 윈도우 7 DVD로 부팅한 다음 DISKPART 로 VHD 파일을 마운트 시켜줍니다. 그리고 BCDBOOT 을 이용하시면 됩니다.
사실 윈도우 XP나 비스타에서 VHD 파일을 만든다는게 말이 안 되기 때문에 이 설명보다는 차라리 윈도우 7을 설치할 때 VHD를 만들어서 거기에 설치하도록 하는게 더 나을 것입니다.
하지만 최근에 VHD 형태로 유출된 파일을 받은 경우에는 파티션을 새로 만들거나 포멧할 필요 없이 간단히 추가해 줄 수 있습니다. 또한 평소에 VHD를 만들어 잘 사용하시던 분들께서 예상치 못한 이유로 C 드라이브가 날아가서 부팅이 불가능해진 경우에도 꼭 필요한 방법이겠죠. 또한 갑자기 마음이 변해서 C를 포멧하고 XP를 설치하고 싶어진 경우에도... 이 방법은 알아두시면 낙동강 오리알 신세 된 VHD 파일들을 활용할 수 있는 유용할 정보가 될 것입니다.
우선 여기서는 기존에 존재하는 VHD 파일을 XP나 비스타에서 부팅 가능하도록 만드는 작업을 해보겠습니다. 그리고 이 다음 포스팅에서는 XP나 비스타를 사용하고 있는데 윈도우 7 설치를 위해 따로 파티션을 만들거나 포멧하기 싫으신 분들을 위해 윈도우 7 설치시에 VHD를 생성하고 거기에 설치하는 방법을 설명드리겠습니다. 사실 이미 오래전부터 나와있던 방법이죠.
설명을 위해 제가 임의로 VMWare에 80GB를 할당하고 XP를 설치했습니다. 현재 C 드라이브만 존재하며 다른 파티션은 존재하지 않는 상태입니다. 그리고 XP만 클린 설치된 상태입니다. 비스타나 윈도우 7의 BCD가 아닌 순수하게 XP만으로 부팅되는 상태입니다. 그리고 윈도우 7 VHD 파일은 VHD 라는 폴더 안에 넣어놨습니다.
자 이 상태에서 저기 보이는 7229.vhd 파일로 부팅을 하려면 어떻게 해야할까요?
네 바로 윈도우 7 DVD로 부팅해서 작업해주시면 됩니다.
초보 분들에겐 약간 어려울 수도 있지만... 한번 도전해보세요.
윈도우 7 DVD로 부팅한 처음 화면에서 Shift + F10을 누릅니다.
(여기서 이렇게 바로 하면 되는데 지금까지 복구모드 들어가는 삽질을 반복했군요 ㅠㅠ)
지금부터 잘 따라오세요. (빨간색 부분은 각자의 환경에 맞게 수정)
diskpart # DISKPART 실행
sel vdisk file=c:\vhd\7229.vhd # VHD 파일 선택
참고로 파일 경로에 공백이 포함되면 경로 양쪽을 따옴표로 묶어줘야 합니다.
attach vdisk # VHD 마운트
sel partition 1 # 문자 할당을 위해 파티션 1번 선택
assign letter=H # 아무 문자나 원하시는걸로 입력. 어차피 임시문자임
exit # DISKPART 종료
bcdboot H:\windows /s c: # 방금 마운트한 VHD의 윈도우 7 폴더에서 BCD를 가져와서 C에 생성해주는 과정
bootsect /nt60 c: # C 드라이브가 BCD로 부팅되도록 만드는 과정
위 과정을 성공적으로 진행하셨다면 이제 재부팅 후에는 윈도우 7 VHD로 부팅이 됩니다.
제가 입력한 스샷 보여드리겠습니다.
물론 저기서 bcdedit 작업을 통해 XP를 엔트리에 추가해줄 수도 있습니다. 하지만 EasyBCD를 활용하시는게 더 쉬울테니 일단 윈도우 7로 부팅한 다음 설치 마무리 하시고 나서 EasyBCD로 XP를 추가해줍시다.
멀티 부팅을 복구해보자 EasyBCD
저는 저렇게 부팅한 윈도우 7에서 원래의 C 드라이브가 바로 보였습니다. 물론 VHD로 부팅했으니 부팅한 윈도우 7이 C 드라이브로 보이고 원래 C였던 80GB 파티션은 D로 잡혔습니다. 그런데 만약에 XP가 설치되어 있던 파티션이 보이지 않는 현상이 발견되면 디스크 관리자에서 드라이브 문자를 할당해주시면 됩니다.
EasyBCD로 XP를 추가한 다음 멀티부팅 메뉴 캡쳐해봤습니다.
다들 성공하셨나요?
참고로 이 예에서는 XP가 설치된 상태로 작업을 했지만 만약 비스타가 설치된 상태이거나 또는 비스타 BCD를 메인으로 해서 XP와 멀티부팅이 구성되어 있었던 경우에는 bcdboot 작업에서 VHD가 새로운 엔트리로만 추가되기 때문에 따로 EasyBCD 작업을 해주지 않아도 기존의 부팅메뉴는 그대로 보존될 것입니다. (해보지는 않았지만 이론상 그럴 것 같습니다.)
이상으로 허접한 설명을 마치겠습니다.
(추가 1)
저는 너무 친절해서 탈입니다. ㅠㅠ
VMWare에 비스타 설치한 다음 위 방법을 그대로 적용해봤습니다. 아 마지막에 bootsect /nt60 c: 부분은 안 해도 됩니다. 저건 원래 XP가 설치되어 있었기 때문에 했던 과정이고 비스타가 설치되어 있으면 BCD가 권한을 가지고 있기 때문에 안해주셔도 됩니다. 물론 뭐 해줘도 아무런 지장은 없구요.
아무튼!! 결론은... bcdboot 작업으로 윈도우 7의 BCD가 비스타의 BCD를 덮어버리면서 자동으로 VHD 부팅 엔트리를 추가하는 것을 확인했습니다. 역시 저의 예상이 맞았군요.
확인 스샷