윈 도 우 부팅 메뉴에 자식 VHD 자동 교체 기능 추가하기
2014.05.11 23:48
자식 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] – 물론 클린 파일과 덮어씌울 자식파일은 같은 드라이브에 있어야 한다.
그 뒤 커밋 및 언마운트 한 뒤 이 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 파일에 적용되기 때문에 필요하면 백업을 해두시는 것도 좋겠죠.
[↓이미지 03]
[↓이미지 04] - 빨주노초파남보 순서로 하시면 되요.
PreferredLocale 항목은 설정 값에 따라 윈도우 부팅 애니메이션이 바뀌는데요.
[↓이미지 05] – ko-KR로 설정하면 기본적인 윈도우7 부팅 애니메이션이 나타나구요.
[↓이미지 06] - en-US 언어로 설정하면 흔히 말하는 지렁이 부팅 애니메이션이 나타납니다.(이 WIM파일은 한국어 버전이거등요.)
[↓이미지 07] – 또는 WIM 파일 속 ko-KR의 Winload.exe.mui파일을 삭제하면 영문 부팅 애니메이션이 나타납니다.
이 Starting Windows / Windows를 시작하는 중 문구를 변경해보려 했으나 mui파일이나 exe파일이 MS의 디지털 서명을 갖고 있어서 수정해서 부팅하면 문자가 깨지더라구요.
Element 항목에 DisableBootDisplay 항목을 추가하여 값을 True로 설정하면 이 애니메이션이 나오지않구요.
[↓이미지 08] – VerboseObjectLoadMode 항목을 추가한 뒤 True로 설정하면 애니메이션 대신 아래와 같은 화면이 나타납니다.
그 뒤 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 를 참고해서 스크립트를 수정해야 합니다.
댓글 [6]
-
카리스마조 2014.05.11 23:49 -
귀여운나 2014.05.12 00:20
유용한 팁이네요~
근데 이미지 4번에서 처럼 화살표랑 글이랑 그렇게 쓸려면 어떻게 해야하나요? 따로 프로그램 같은게 있는 건가요?
-
CraXicS 2014.05.12 07:42
픽픽 (https://wiziple.tistory.com)이라는 국산 이미지 편집 프로그램을 사용했습니다. 이미지캡쳐나 간단한 편집 할 때 딱입니다. ^^
-
천재일우초롱 2014.05.12 09:03 멋지구리 한 강좌 감사 합니다.^..^
-
cungice 2014.05.12 10:13
좋은강좌 감사합니다.
-
풍운지우 2014.05.12 14:04
지금까지 전 첫번째 방법으로 vhd파일을 교체하곤 했었는데..
강좌와 같은 방법으로 하면 아주 쉽게 할수 있겠네요..
정말 좋은 강좌 보고 갑니다..고맙습니다..꾸벅~
번호 | 제목 | 글쓴이 | 조회 | 추천 | 등록일 |
---|---|---|---|---|---|
[공지] | 강좌 작성간 참고해주세요 | gooddew | - | - | - |
2379 | 소프트웨어| RSImagex 에디션 WIM 통합 플래쉬 동영상 강좌... [75] |
|
10117 | 24 | 04-29 |
2378 | 윈 도 우| 윈도우 비스타 이상 멀티부스트에 OS심기 (하드부팅) [3] | 내것 | 7097 | 2 | 04-27 |
2377 | 소프트웨어| Bootice.exe로 USB 부팅하기 [22] | suk | 12277 | 7 | 04-27 |
2376 | 윈 도 우| [윈7] 바탕화면 시간마다 바꾸기 [5] | 공초 | 5590 | 2 | 04-26 |
2375 | 윈 도 우| 통합 ISO에서 원하는 이미지만 추출하기(통합) [25] | suk | 15268 | 14 | 04-25 |
2374 | 소프트웨어| Windows 글꼴 뷰어 팬그램 수정 [5] | CraXicS | 6364 | 1 | 04-24 |
2373 | 소프트웨어| 모든 동영상을 60프레임으로 보기 [27] | 빠른PC | 14381 | 3 | 04-23 |
2372 | 윈 도 우| 왕짜증:바탕화면 이미지 슬라이드 쇼 [2] | 크림슨 | 5211 | 1 | 04-22 |
2371 | 소프트웨어| primocache l2 스토리지 사용법 [8] | 똥꼬빤쮸 | 8315 | 2 | 04-21 |
2370 | 윈 도 우| [불친절] WIMBoot 이미지 파일 다른 곳에서 부팅하기 [3] |
|
5346 | 1 | 04-21 |
2369 | 윈 도 우| 크롬 Chromem.exe 메모리최적화 프로그램 주의.. [4] | 용달마차 | 8291 | 1 | 04-21 |
2368 | 기 타| [소소한 팁] 내 PC에서 고음질 PC-FI를 즐겨보자! [6] | 메트로작전 | 10078 | 1 | 04-20 |
2367 | 윈 도 우| MSDN이미지 프로설치후 WMC추가하기 B코스 [4] |
|
5210 | 1 | 04-19 |
2366 | 기 타| Ubuntu 14.04 on VirtualBox [6] | Freespirit | 5269 | 1 | 04-18 |
2365 | 기 타| wim 추출 통합시 불필요한 리소스 파일 제거 명령어... [4] |
|
6098 | 0 | 04-17 |
2364 | 윈 도 우| 간단한 윈도우 8.1의 update1 통합하기 [12] | 삽질구단 | 11223 | 3 | 04-17 |
2363 | 소프트웨어| 급히 bash 쉘이 필요할 땐 리눅스PE?? [8] | 크림슨 | 3761 | 1 | 04-17 |
2362 | 기 타| 윈도우 업데이트 통합 명령어... [6] |
|
7065 | 7 | 04-17 |
2361 | 기 타| Net Framework 3.5 활성화 명령어... [3] |
|
5299 | 2 | 04-17 |
2360 | 윈 도 우| windows 8.1 update 완전체 만들기 [5] | 크림슨 | 8826 | 4 | 04-17 |
좋은강좌 감사합니다.