강좌 / 팁

윈 도 우 만능 복구 USB 제작(1편)

2014.05.03 20:43

ITforce 조회:18524 추천:11

 안녕하세요 ITforce입니다~~~


시험기간이라서 글을 많이 못 올렸습니다...(그래도 시험은 잘 봤습니다...)


오랜만에 와보니 정말 PE관련해서 좋은 글들이 많이 올라왔더라고요... 


특히 아이언님 글들은 모두 추천 100개는 눌러주고 싶을 정도였습니다...


서론이 너무 길었고, 이번 시간에는 '만능 복구 USB'제작에 대한 글을 올릴려 합니다...


드라이버 충돌, 시스템 파손, 심하면 디스크 손상까지... 윈도우가 부팅 안 되는 원인은 수도 없이 많습니다.


그러나 그 때 이런 USB 아니면 하다못해 복구 PE 하나만 있으면 모든 정보를 살릴 수 있죠... 복구도 가능하고요...


그러면 만드는 방법을 설명하겠습니다...


1. 부트로더를 설정하자.


솔직히 이 '윈포'의 회원님들은 대부분 부트로더나, 부팅에 관한 지식은 모두 있을 거라 봅니다.


이곳에 들어온다는 자체가 컴퓨터에 관한 기초 지식이 있는 중고수들이라는 말이니까요...


그래도 기본을 제대로 하자는 의미에서 설명하겠습니다.


부트로더는 크게 1차, 2차로 나뉩니다... 1차 부트로더는 우리가 흔히 말하는 MBR이죠.


이 MBR은 하드디스크 섹터의 맨 앞쪽에 위치하여 2차 부트로더를 불러올 수 있도록 해 줍니다.


그리고 MBR은 활성화되어 있는 파티션의 PBR을 읽어들여 그 데이터로 부팅을 하게 됩니다...


여기서 1차 부트로더는 MBR, PBR이 되는 것이죠...


2차 부트로더는 우리가 많이 들어봤을 겁니다. 윈도우 비스타 이후라면 Bootmgr, 윈도우XP라면 NTLDR...


2차 부트로더의 종류는 수도 없이 많습니다... 이런 2차 부트로더들은 파일 형식으로 존재하죠.


여기서 잠깐. 그렇다면 왜 부트로더가 1차 2차로 나뉘게 되었을까요?


MBR과 PBR은 최대 크기가 512바이트밖에 되지 않습니다. 그래서 도스 같은 구식 운영 체제에는 적합했지만...


윈도우, 리눅스 등 복잡한 운영 체제를 로드하기에는 턱없이 모자랐습니다...


그래서 개발한 방법이 2차 부트로더를 커널을 로드하듯이 로드한 뒤, 2차 부트로더를 통해


커널을 로드할 수 있도록 한 겁니다.


2. 준비하기

이제 준비물을 설명해 드리겠습니다.

1. 8기가 이상의 대용량 USB -> 윈도우 파일 넣으랴... PE 넣으랴 하면 사실 4기가로는 모자랍니다.. 적어도 8기가 정도의 대용량

USB가 필요합니다.


2. 윈도우 이미지 파일 -> 가급적 XP 사용은 자제해 주시기 바랍니다... 설치하도록 만드는 방법도 약간 더 까다롭고 에러도 종종 발생합니다... 또 지원도 끊겼습니다...


3. PE -> 카리스마조님 PE같은 윈도우 7/8 PE들은 wim 파일만 준비해 주시면 됩니다. XP 기반 PE의 경우에는 이미지 파일을 통째로 준비해 주세요.


3. 제작 1단계. GRUB4DOS를 설정하자.

GRUB4DOS... 윈포뿐만 아니라 전 세계 복구 USB 제작하는 사람들 중 이거 모르는 사람 없을 겁니다...


이 GRUB4DOS는 원래 리눅스의 2차 부트로더였지만, 여러 운영체제를 부팅시킬 수 있고


심지어 CD 이미지마저 부팅시킬 수 있다는 큰 장점에 가장 많이 쓰이고 있습니다.


GRUB4DOS를 심기 위해 USB를 꽂아 주시고, 아래 설명을 따라해 주세요.


Bootice1.jpg

이 프로그램은 BOOTICE라는 프로그램입니다. 많이 알고 있으리라 생각되네요. 아주 유용한 프로그램이며


앞으로도 사용할 일이 있을 것입니다.


대상 디스크에서 복구용으로 쓸 USB를 선택해 주세요.


Bootice2.jpg

GRUB4DOS를 선택해 주세요. 그런 다음 '설치/설정'을 클릭해 주세요.


Bootice3.jpg

그냥 '디스크로 저장'을 클릭해주세요...


Bootice4.jpg

이렇게 뜨면 성공입니다. '확인'을 눌러 닫아 주세요.


Bootice5.jpg


자.. 아까 위에서 제가 '2차 부트로더는 파일 형식으로 존재한다.'라는 말을 한 적이 있었죠?


이게 그 파일입니다. 인터넷에 널렸지만 제가 올리겠습니다. grldr을 USB 최상위 루트에 복사해 주세요.


이제 기초 작업은 모두 끝났습니다. 다음 단계를 봐 주세요.


4. 제작 2단계. GRUB4DOS 명령어를 배우자

 이 부분은 어찌 보면 필요 없을 수도 있습니다. 인터넷에 워낙 잘 나와 있으니까요.


그러나 저는 기본이 되어 있어야 나중에 뭘 해도 할 수 있다고 믿기 때문에... 혹시 모르시는 분들은 이것을 봐주시기 바랍니다...


<1> find 명령어


유용하게 쓰이는 명령어입니다. 특히 USB 안의 구조가 복잡해질 때는 말이죠...


find 명령어는 뒤에 쓰인 부트로더가 있는 위치를 알려줍니다. 예를 들어, 'find /bootmgr'라고 치면


bootmgr이 있는 디스크를 출력해 줍니다... hd(1,0) 이런 식으로 말이죠.


아참, GRUB4DOS에서는 디스크를 "C드라이브" 이렇게 표시하지 않습니다. hd(a, b)이렇게 표시합니다.


hd(a,b)는 "a번째 하드디스크의 b번째 파티션"이라는 의미입니다.


참고로 GRUB4DOS는 첫 번째를 0으로 표시합니다. 예를 들어 '첫 번째 하드디스크의 첫 번째 파티션'을 표시할 땐


hd(0,0)으로 표시하지요.


find 명령어를 사용할 때 뒤에 옵션으로 붙는 걸 중 --set-root 라는 게 있습니다.


예를 들면 " find --set-root /bootmgr " 이런 거죠.


--set-root 옵션은 슬래시(/) 뒤의 부트로더가 있는 곳을 루트 경로로 지정해 줍니다.


위의 명령어에서는 'bootmgr' 가 있는 곳을 루트 경로로 지정하라는 명령이겠죠...


<2> chainloader 명령어


이 명령어는 가장 핵심이 되는 명령어입니다. 사실 chainloader 명령어는 GRUB4DOS의 전부라고 해도 무방하고, 가장 많이 


쓰이는 명령어입니다.


보통 쓰일 땐 이렇게 쓰입니다. 'chainloader /bootmgr'


이 말은, 슬래시 뒤에 붙은 부트로더를 로드한다는 뜻입니다. 위에서는 bootmgr을 로드한다는 뜻이겠죠.


<3> map 명령어


이 명령어는 ISO등의 가상 CD 이미지 파일을 불러올 때 쓰입니다. 주로 XP 기반 PE를 불러올 때 많이 쓰이지요...


쓰이는 예는 보통 이렇습니다. "map /XP.iso (0xff)" 이렇게 쓰이죠...


이 말은, 슬래시 뒤에 붙은 이미지 파일을 그 뒤의 가상 주소에 마운트시키라는 뜻입니다.


가상 주소는 (hd32)같이 적어주셔도 되지만 이럴 경우, 가끔씩 같은 주소끼리 충돌하는 경우가 있습니다...


이런 경우 때문에 (0xff) 같은 주소를 사용하시는 것을 추천드립니다.


map 명령어 뒤에도 "--mem"이라는 옵션이 붙을 수 있습니다. --mem 옵션은 이미지 파일을


램디스크에 마운트 시키라는 의미입니다. 그래서 --mem 옵션을 붙이면 부팅시킬 때 램디스크에 이미지 파일을 복사하기


때문에 더 많은 시간이 소요됩니다. 이 옵션은 램 용량이 최소 2GB 이상인 분들한테만 추천드립니다.


--mem 옵션을 붙여서 사용하는 예는 "map --mem /XP.iso (0xff)" 가 있습니다.



크게 이 세 가지의 명령어만 알아 두시면, 윈도우XP를 설치하는 옵션을 만드실 때 빼고는 큰 어려움이 없습니다.


이외에도 특정 섹터에 특정 내용을 기록하라는 명령어인 'dd', 또 다른 메뉴 파일을 불러오라는 명령어인 'configfile' 등이 있지만


이들은 잘 쓰이지 않는 관계로 배제하였습니다...


5. 제작 3단계. 메뉴 파일을 작성하자.

GRUB4DOS의 주 메뉴 파일 명칭은 'menu.lst'입니다... GRUB4DOS로 부팅될 때 GRUB는 맨 먼저 menu.lst 파일이 있는지 확인


합니다. 그런 다음 menu.lst 파일이 있으면 menu 모드로, 없으면 command 모드로 부팅합니다.


여기서 command 모드는 도스처럼 일일이 명령어를 모두 쳐서 명령을 내리는 방식을 뜻합니다.


자. 그럼 잠시 메뉴 파일인 menu.lst의 예제를 살펴보겠습니다.


timeout 90


title Windows 7 Setup

find --set-root /instmgr

chainloader /instmgr


title Windows 8 Setup

chainloader /win8mgr


title Windows XP Setup

find --set-root /winxp.iso

map (hd0) (hd1)

map (hd1) (hd0)

map --mem /firadisk.img (fd1)

map --mem (md)0x6000+800 (fd0)

map --mem /winxp.iso (0xff)

map --hook

dd if=(fd1) of=(fd0) count=1

chainloader (0xff)

 

title Continue XP Setup

find --set-root /winxp.iso

map (hd0) (hd1)

map (hd1) (hd0)

map --mem /winxp.iso (0xff)

map --hook

chainloader (hd0)+1


grubmenu1.jpg


예제를 살펴보면, 제가 위에서 살펴봤던 명령어들을 잘 숙지하셨다면 80% 정도는 이해하시리라 생각되네요.


이런 형식으로 우리가 메뉴를 작성한다는 것만 알아 두시고, 아래 내용을 보시기 바랍니다.


(1) timeout

timeout은 어떤 메뉴를 선택하기 전, 대기 시간을 나타냅니다. 'timeout 90'은 90초동안 아무 응답이 없으면 하이라이트 된


항목을 선택하겠다는 뜻입니다.


(2) 윈도우 Vista/7/8 설치 메뉴를 추가하자.

메뉴 항목 하나를 추가할 때에는 'title'을 사용합니다. 예를 들자면 'title Windows 7 Setup' 이 있습니다.


이해가 안 되시면 위 제가 올린 사진을 참고하시기 바랍니다.


이 말은 메뉴에 'Windows 7 Setup'이라는 항목을 만들라는 뜻입니다.


어떤 항목을 실행하면, GRUB4DOS는 menu.lst 파일에서 그 항목 밑의 명령어를 실행합니다.


예를 들어 


title Windows 7 Setup

chainloader /instmgr


라는 항목이 있다 칩시다. 그러면 만약 제가 'Windows 7 Setup'이라는 항목을 선택했다면


GRUB4DOS는 밑의 'chainloader /instmgr' 명령어를 실행하는 것입니다.


윈도우 설치 메뉴를 만드실 때, 윈도우 이미지 파일의 압축을 해제하시는 것을 추천드립니다.


2013_01_17_17_57_49.jpg

 

여기서 압축을 풀어야 하는 파일은 'bootmgr'파일과 boot, sources 폴더입니다.(윈도우 Vista/7/8 공통입니다.)



모두 압축을 풀어 USB 최상위 루트에 복사시켜 주세요.


이때, 가급적 bootmgr 파일을 다른 이름(예: instmgr)로 바꾸시는 것을 추천드립니다.


그 이유는, 나중에 이 USB로 부팅을 할 때 컴퓨터에 윈도우 Vista 이상의 운영 체제가 설치되어 있을 경우


하드디스크의 bootmgr과 충돌이 일어날 수 있기 때문입니다.

2013_01_17_18_14_11.jpg


 이렇게 바꿔주신 후, 메뉴를 이렇게 작성해주세요.(단, 무조건 bootmgr의 이름을 instmgr로 바꾸라는 이야기는 아닙니다.)


title (제목은 여러분이 원하시는 대로 작성해 주세요.)

find --set-root /(바뀐 bootmgr의 이름)

chainloader /(바뀐 bootmgr의 이름)


이러면 됩니다. 윈도우 Vista 이상의 운영 체제들은 모두 이같이 해 주세요.



나머지 내용은 2편에서 다루겠습니다~~~ 글이 너무 길어져서요...


연휴 잘 보내세요~~~

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
» 윈 도 우| 만능 복구 USB 제작(1편) [33] ITforce 18524 11 05-03
2381 기 타| 익스플로러 보안 패치 [7] 고양이2 4963 4 05-03
2380 소프트웨어| AVG 백신과 실시간 스트리밍 재생의 오류 해결 [3] 그루터기 3978 0 05-03
2379 소프트웨어| RSImagex 에디션 WIM 통합 플래쉬 동영상 강좌... [75] 아이언 10129 24 04-29
2378 윈 도 우| 윈도우 비스타 이상 멀티부스트에 OS심기 (하드부팅) [3] 내것 7103 2 04-27
2377 소프트웨어| Bootice.exe로 USB 부팅하기 [22] suk 12294 7 04-27
2376 윈 도 우| [윈7] 바탕화면 시간마다 바꾸기 [5] 공초 5592 2 04-26
2375 윈 도 우| 통합 ISO에서 원하는 이미지만 추출하기(통합) [25] suk 15293 14 04-25
2374 소프트웨어| Windows 글꼴 뷰어 팬그램 수정 [5] CraXicS 6396 1 04-24
2373 소프트웨어| 모든 동영상을 60프레임으로 보기 [27] 빠른PC 14405 3 04-23
2372 윈 도 우| 왕짜증:바탕화면 이미지 슬라이드 쇼 [2] 크림슨 5218 1 04-22
2371 소프트웨어| primocache l2 스토리지 사용법 [8] 똥꼬빤쮸 8323 2 04-21
2370 윈 도 우| [불친절] WIMBoot 이미지 파일 다른 곳에서 부팅하기 [3] kfhriekdbd 5354 1 04-21
2369 윈 도 우| 크롬 Chromem.exe 메모리최적화 프로그램 주의.. [4] 용달마차 8308 1 04-21
2368 기 타| [소소한 팁] 내 PC에서 고음질 PC-FI를 즐겨보자! [6] 메트로작전 10088 1 04-20
2367 윈 도 우| MSDN이미지 프로설치후 WMC추가하기 B코스 [4] 09 5213 1 04-19
2366 기 타| Ubuntu 14.04 on VirtualBox [6] Freespirit 5275 1 04-18
2365 기 타| wim 추출 통합시 불필요한 리소스 파일 제거 명령어... [4] 아이언 6109 0 04-17
2364 윈 도 우| 간단한 윈도우 8.1의 update1 통합하기 [12] 삽질구단 11230 3 04-17
2363 소프트웨어| 급히 bash 쉘이 필요할 땐 리눅스PE?? [8] 크림슨 3777 1 04-17
XE1.11.6 Layout1.4.8