강좌 / 팁

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

2014.05.11 23:48

CraXicS 조회:6462 추천: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 - - -
3298 소프트웨어| Windows Update MiniTool 한글 적용하는 방법 [11] suk 3989 6 12-30
3297 윈 도 우| Windows10 RS1 에서 Defender 우클릭 메뉴 삭제 [9] 리하요 6356 6 08-05
3296 하드웨어| 구글 클라우드 프린트 설정법 [2] asklee 3395 6 05-16
3295 기 타| 정말 간단하게 페이스북 동영상 다운로드하기 [8] Star★Bros 4074 6 11-13
3294 윈 도 우| 영문판 윈도 설치 때 간단한 팁입니다 [9] suk 5264 6 10-18
3293 소프트웨어| 파이어폭스 한글입력 해결법 [13] 페이지 4741 6 10-03
3292 소프트웨어| Office 365 설치 파일 다운로드 방법(2013, 2016) [10] 달마s 8023 6 10-02
3291 윈 도 우| 윈도우10에서 레지스트리 무오류 백업복원 프로그램 찾!^Er... [5] 네버그린 5598 6 09-14
3290 서버 / IT| 공유 폴더 비밀번호 설정하기 [4] gooddew 13254 6 09-13
3289 윈 도 우| MBR 디스크에 UEFI모드로 간단하게 설치하기 [16] suk 11110 6 08-30
3288 윈 도 우| W10에서 백업 및 복원(Windows 7) [8] 서비스 6282 6 08-12
3287 윈 도 우| (내용추가) 윈도우 10 자동 업데이트 끄기 & 자동 재시... [5] 슈퍼맨 13827 6 07-28
3286 소프트웨어| 하드 디스크 문제가 발견되었습니다. [10] 마니또우 6803 6 07-18
3285 윈 도 우| 127.0.0.1:8080/proxy.pac 때문에 인터넷 연결이 안될 떄 [5] 창과방패 4619 6 06-25
3284 소프트웨어| 제어판에 표시되지 않은 설치 프로그램 등록하기. [5] 구들목 4053 6 06-22
3283 윈 도 우| 블루투스 메뉴에 파일 보내기 받기 reg [1] 내찬RB 4194 6 06-22
3282 윈 도 우| PE 다이어트 소소한 팁 [16] 히이이잌 3176 6 04-22
3281 윈 도 우| RSImageX 로 esd파일 설치하기 [6] 은방 8032 6 06-02
3280 윈 도 우| [완결] NTFS Permission eraser 스크립트 [7] 빛과그림자 4411 6 05-04
3279 윈 도 우| 부팅시 CHKDSK 가 무한 반복 될때 [2] DOS 6236 6 05-16
XE1.11.6 Layout1.4.8