강좌 / 팁

윈 도 우 부팅 메뉴에 자식 VHD 자동 교체 기능 추가하기

2014.05.11 23:48

CraXicS 조회:6506 추천:4

VHD를 복구하기 위해, 백업해 둔 클린 VHD 파일로 교체하는 시나리오가 몇 가지 있습니다.

 


해당 자식/부모 VHD가 아닌 PE나 다른 VHD, OS 등의 경로로 부팅한 뒤 사용자가 직접 파일을 덮어 씌어 교체한다.

장점: 자신이 직접 작업하기에 다른 원하는 작업들도 추가적으로 직접 할 수 있다.

단점: 귀찮다.

 

동일한 자식 VHD 2개 이상 만들어 사용하면서 복구가 필요할 땐 다른 동일한 자식 VHD로 새로 부팅한다. (: 부모.vhd 파일에 자식1.vhd, 자식2.vhd 클린자식.vhd 파일을 두었다. 여기서 자식1.vhd와 자식2.vhd는 동일한 파일이며 파일명만 다를 뿐이다. 자식1을 사용하면서 복구를 원할 시 자식2로 부팅하면 된다. 자식2로 부팅하는 것 자체가 복구가 되어버리는 셈. 그 뒤 다시 복구할 때를 대비해 자식1.vhd 파일을 클린 파일로 덮어 씌운다. 혹은 이 과정들을 부팅 시 autorun시켜서 링크 https://snoopybox.co.kr/1428 와 같이 구현할 수 있겠다. 자식 VHD 부팅 시 마다 무조건 자동 복원되게 하려면 링크에 해결책이 있다.)

장점: 자식 VHD를 여러 개 쓸 수록 VMware의 스냅샷 기능과 같이 요리조리 부려먹을 수 있다. 부팅 시 마다 자동 복구 기능을 구현할 수 있다.

단점: 상황에 따라 용량 문제가 다른 시나리오에 비해 대두되어진다. 구현하기 위해 스크립트화 할 때 마다 GUID 또는 VHD 파일명에 따라 스크립트 파일에 반영(수정)해야 한다.

 

VHD 파일을 클린 파일로 교체하는 스크립트를 내장한 부팅 가능한 WIM파일을 부팅 등록하여 자식 VHD를 복구시키고 싶을 때 이 WIM파일로 부팅 해 주어 복구한다.

장점: 초보자도 쉽고 간단하게 복구할 수 있으며 약 40초면 자동으로 된다.

단점: 자식 VHD 마다 각각 부팅 메뉴 등록을 해 주어야 한다. GUID 또는 VHD 파일명에 따라 WIM파일 속 배치파일에 반영해야 한다.(혹은 배치파일 안에서 사용자 지정하게 구현하면 하나의 복구 WIM으로 충분 할 것이다. 또는 WIM파일 속 setup.exe파일을 q-dir같은 파일 탐색기 유틸로 교체하는 것도 고려해 볼 수 있으나 차라리 PE를 부팅 등록해서 작업하는 게 더 깔끔해 보인다.)

 

전 여기서 마지막 세 번째 방법을 좀 더 깊게 소개하려 합니다. 첫 번째 방식은 비효율적이며 두 번째 방식은 자식 VHD 2개 이상 만들어서 사용할 목적이 전 아직 없거든요 ^^; 차라리 가상 머신에서 스냅샷 찍어 작업하는 것이 좀 더 용량 면, 생산성 면에서 효율적인 것 같아요. 두 번째 방식은 부팅 시 마다 무조건 자동 복구가 요구되는 상황에 쓰면 딱 일 것 같습니다. 위의 링크에 자세한 소개가 있기에 설명은 생략할께요.

세 번째 방식은 자신이 원할 때 복구할 수 있으며 과정도 간단하기 때문이죠.

 

세번째 방식의 원리를 소개해 볼께요.

일반적으로 PE를 구성하는 기본 뼈대인 winpe.wim파일을 준비합니다. 그 안에 자식.vhd파일을 클린.vhd파일로 교체하는 코드가 저장된 배치파일을 넣고 winpe.wim이 부팅하자마자 실행되는 파일인 setup.exe파일을 넣었습니다. setup.exe 파일은 원래 위의 배치파일을 실행하는 코드가 있는 텍스트 파일을 Bat To Exe Converter 라는 프로그램으로 실행 파일로 컴파일 한 것입니다.

또한 배치파일만 실행하면 되기에 wim 속 불필요한 파일 폴더들을 몇 개 삭제했지만 winsxs system32, fonts 폴더 내용들은 도저히 정리할 엄두가 나질 않더라구요..;;;;

 

CleanVHDReplace.wim(Win7 SP1_x86_ko) 다운로드 – Google Drive - 117MB


위의 링크에서 VHD파일을 교체(덮어쓰기)하는 목적으로 제작한 wim파일을 다운로드 합니다.(자신이 WAIK WADK, boot.wim 등 뼈대를 구해 직접 만들 수 도 있어요.)

여기서 소개해 드린 WIM 파일은 x86 버전입니다. , EFI 환경에서는 정상적으로 동작하지 않을 수 있어요. x64 버전의 boot.wim winpe.wim 파일을 구한 뒤 따로 작업해야 할 거예요.

 

그리고 WIM파일을 Gimagex 등으로 마운트 한 뒤 CleanVHDReplace.bat 파일을 텍스트 편집기로 연 뒤 자신의 상황, 입맛에 맞게 수정합니다.

 

 이미지 01.png

[이미지 01] – 물론 클린 파일과 덮어씌울 자식파일은 같은 드라이브에 있어야 한다.

 

그 뒤 커밋 및 언마운트 한 뒤 이 wim파일을 부팅등록하면 됩니다.


이 파일을 적당한 위치에 둡니다. ) C:\PEboot\

 

부팅 정보가 저장된 BCD 파일을 수정해야하는데 전 Bootice라는 프로그램을 사용합니다.

전엔 EasyBCD라는 프로그램을 사용했었는데 Bootice는 단일 파일이며 용량도 작고 접근성이 좀 더 좋아서 요즘 애용하고 있어요.

중국 프로그램이라 참고로 영문판을 따로 올려드립니다.


Bootice 1.3.2.1_x86_en - Google Drive - 405KB

 

[이미지 02] – 현재 사용 중인 컴퓨터에서 적용하기 위해선 BCD of current system을 선택해야겠죠.(일반적으로 C:\boot 위치에 존재하는 BCD 파일을 편집합니다.) 이 프로그램은 수정하는 동시에 BCD 파일에 적용되기 때문에 필요하면 백업을 해두시는 것도 좋겠죠.


이미지 02.png  

[이미지 03]

 이미지 03.png


[이미지 04] - 빨주노초파남보 순서로 하시면 되요.

 이미지 04.png

 

PreferredLocale 항목은 설정 값에 따라 윈도우 부팅 애니메이션이 바뀌는데요.


 [이미지 05] – ko-KR로 설정하면 기본적인 윈도우7 부팅 애니메이션이 나타나구요.

 이미지 05.jpg

 [↓이미지 06] - en-US 언어로 설정하면 흔히 말하는 지렁이 부팅 애니메이션이 나타납니다.(이 WIM파일은 한국어 버전이거등요.)

이미지 06.png 


 [↓이미지 07] – 또는 WIM 파일 속 ko-KRWinload.exe.mui파일을 삭제하면 영문 부팅 애니메이션이 나타납니다.


이미지 07.jpg


Starting Windows / Windows를 시작하는 중 문구를 변경해보려 했으나 mui파일이나 exe파일이 MS의 디지털 서명을 갖고 있어서 수정해서 부팅하면 문자가 깨지더라구요.


Element 항목에 DisableBootDisplay 항목을 추가하여 값을 True로 설정하면 이 애니메이션이 나오지않구요.


[이미지 08] – VerboseObjectLoadMode 항목을 추가한 뒤 True로 설정하면 애니메이션 대신 아래와 같은 화면이 나타납니다.


 이미지 08.jpg



그 뒤 Bootice를 종료하지 말고 아래의 파일을 다운로드 합니다.


Boot.sdi 다운로드 – Google Drive - 3.02MB


이 파일은 WIM(PE)파일이 램디스크로 부팅하기 위해서 필요한 파일입니다. 기본적으로 System32 SysWOW64폴더에 존재하니 거기에서 가져오셔도 됩니다.

 

이 파일을 적당한 위치에 둡니다. ) C:\PEboot\ (WIM파일과 같이 두면 되겠네요.)

 

그 뒤 Bootice로 돌아가 Ramdisk Options 항목으로 가서 boot.sdi 파일의 위치를 위에서 했던 것과 같은 형식으로 수정합니다.

물론 이 sdi파일을 복사해올 필요없이 System32 SysWOW64폴더의 것을 써도 상관은 없겠지만 만일을 대비해 복사해서 씁니다.

 

이제 Bootice를 닫습니다. BCD가 수정되었으니 이제 재부팅하면 부팅매니저가 뜨고 거기서 등록한 VHD 복구용 WIM으로 부팅하면 현재 사용 중인 VHD파일을 클린 파일로 교체할 수 있게 됩니다. bat파일의 교체 명령이 끝나면 자동으로 재부팅되며 다시 부팅목록으로 돌아옵니다.


혹시나 WIM이 부팅이 되지 않는다면 BCD 설정에 문제가 있을 확률이 크니 꼼꼼히 확인해보세요. (물론 램용량은 512MB 이상은 되어야 해요.)


본 글은 동일 드라이브에 있는 자식 VHD를 교체하는 것에 초점을 맞췄습니다. 클린 파일과 자식 또는 일반 VHD파일이 같은 드라이브에 없다면 링크 https://snoopybox.co.kr/1222 를 참고해서 스크립트를 수정해야 합니다.



번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
2408 윈 도 우| RSImagex 플래쉬 동영상 강좌~ (윈도우 설치,통합 등) [31] 아이언 7497 19 05-28
2407 윈 도 우| Windows XP 보안 업데이트 연장 트릭 / MS 답변 [11] CraXicS 6632 4 05-28
2406 윈 도 우| PE를 가상에서 구경하기(월드 PE) [25] suk 8522 13 05-27
2405 윈 도 우| 윈도우8.1 부팅후 시작프로그램 딜레이 현상 해결하기 [7] shy1911 12502 2 05-23
2404 윈 도 우| [팁]지정한 시간에 업데이트 자동 체크 하기 [2] suk 3983 3 05-22
2403 기 타| 바이두(Baidu, 百度) 회원가입 -영문 [10] KappaAndro 7708 2 05-22
2402 윈 도 우| boot_usb.exe로 부팅가능 USB 만들기(윈도우또는 PE를 USB... [18] skyboarder 12095 6 05-21
2401 윈 도 우| PE 에서의 탐색기설정을 편하게 하기.. [4] bleach 4492 1 05-21
2400 윈 도 우| PE 에서 7Taskbar Tweaker 로 더욱 쾌적하게.. [1] bleach 4491 1 05-21
2399 윈 도 우| PE에서 IE 특정글꼴 지정해서 사용하기.. [2] bleach 3484 2 05-20
2398 윈 도 우| 윈도 8, 8.1 에서 잠금화면 없애는 법 [15] 캔디 9169 2 05-18
2397 윈 도 우| 원도우 설치용 autorun.inf 파일이 복사가 거부 되었을때 ... [3] 심씨 4582 2 05-18
2396 윈 도 우| 모든 위치에서 숨김파일 보이게 하는 방법 [3] 카리스마조 5303 5 05-18
2395 윈 도 우| PE를 재부팅 후에도 사용자 설정이 유지되는 방법 [13] 카리스마조 7742 9 05-18
2394 기 타| PE없이 폰트 업데이트(맑은고딕6.5)하는 간단팁(레지추가) [13] 네오이즘 8286 7 05-16
2393 윈 도 우| .NET Framework 4 업데이트 오류 해결방법 DuDu 4552 2 05-15
2392 소프트웨어| 메인보드 제조사별 부팅순서, 노트북 복구모드 단축키 팁? [8] 어사또 21955 9 05-15
2391 윈 도 우| PE를 실컴에 설치하여 사용하는 방법 [33] 카리스마조 15569 24 05-14
2390 윈 도 우| Windows 8.1에서 안전모드로 진입하는 방법 [7] 조남식 8449 5 05-13
» 윈 도 우| 부팅 메뉴에 자식 VHD 자동 교체 기능 추가하기 [6] CraXicS 6506 4 05-11
XE1.11.6 Layout1.4.8