윈 도 우 만능 복구 USB 제작(1편)
2014.05.03 20:43
안녕하세요 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를 꽂아 주시고, 아래 설명을 따라해 주세요.
이 프로그램은 BOOTICE라는 프로그램입니다. 많이 알고 있으리라 생각되네요. 아주 유용한 프로그램이며
앞으로도 사용할 일이 있을 것입니다.
대상 디스크에서 복구용으로 쓸 USB를 선택해 주세요.
GRUB4DOS를 선택해 주세요. 그런 다음 '설치/설정'을 클릭해 주세요.
그냥 '디스크로 저장'을 클릭해주세요...
이렇게 뜨면 성공입니다. '확인'을 눌러 닫아 주세요.
자.. 아까 위에서 제가 '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
예제를 살펴보면, 제가 위에서 살펴봤던 명령어들을 잘 숙지하셨다면 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' 명령어를 실행하는 것입니다.
윈도우 설치 메뉴를 만드실 때, 윈도우 이미지 파일의 압축을 해제하시는 것을 추천드립니다.
여기서 압축을 풀어야 하는 파일은 'bootmgr'파일과 boot, sources 폴더입니다.(윈도우 Vista/7/8 공통입니다.)
모두 압축을 풀어 USB 최상위 루트에 복사시켜 주세요.
이때, 가급적 bootmgr 파일을 다른 이름(예: instmgr)로 바꾸시는 것을 추천드립니다.
그 이유는, 나중에 이 USB로 부팅을 할 때 컴퓨터에 윈도우 Vista 이상의 운영 체제가 설치되어 있을 경우
하드디스크의 bootmgr과 충돌이 일어날 수 있기 때문입니다.
이렇게 바꿔주신 후, 메뉴를 이렇게 작성해주세요.(단, 무조건 bootmgr의 이름을 instmgr로 바꾸라는 이야기는 아닙니다.)
title (제목은 여러분이 원하시는 대로 작성해 주세요.)
find --set-root /(바뀐 bootmgr의 이름)
chainloader /(바뀐 bootmgr의 이름)
이러면 됩니다. 윈도우 Vista 이상의 운영 체제들은 모두 이같이 해 주세요.
나머지 내용은 2편에서 다루겠습니다~~~ 글이 너무 길어져서요...
연휴 잘 보내세요~~~
댓글 [33]
-
대하리 2014.05.03 21:25
-
ITforce 2014.05.04 13:36
감사합니다~~~ 다음편도 곧 올리겠습니다~~~
-
겨울나그네 2014.05.03 21:26 수고하셨습니다.
강좌 감사합니다.
잘 보았구요.
2편도 꼭 부탁드립니다. ^^*
즐거운 휴일 되시길...
-
ITforce 2014.05.04 13:36
2편도 곧 올리겠습니다~~~ 감사합니다~~~
-
심씨 2014.05.03 22:52
감사 합니다..많이 배우고 갑니다
저는 컴퓨터 본체의 hdd에 2~3번째 파티션에 설치 성공 했습니다
하나의 하드에 1)원도우 ,,,,3)data영역의 파티션에
최상위에 grldr,menu.lst카피하여
menu.lst를 경로 수정 winpe.iso를 응급용으로 설치 했습니다
=============== 저의 개인 홈피에 관련파일및 저의 설정 조건을 저장 했습니다 ==============
부팅시_Hotkey진입_menu선택_bootice_grun4dos로_winpe선택실행.rar
- bootice로 MBR작업 진입 설정
- grldr 를 하드의 특정 디랙토리애 root에 카피
- menu.lst 를 root에 카피 수정하여 WINPE 경로 수정( pe_iso밑에 저장 )
>> 저는 원도우 81은 c:에 설치 하드드라이브 1개에 c: e: h:로 3개의 파티션으로 나누어 사용중이며 본설정 파일은 data영역 파티션 h:에 카피 설정 사용
.... 제가 설정한 그림파일 ..홈피 참조
https://shimss.ipdisk.co.kr/pc/bbs/board.php?bo_table=s21&wr_id=667
-
ITforce 2014.05.04 13:38
좋은 정보 감사합니다. 앞으로도 많은 관심 부탁드립니다~~~
-
루이바이 2014.05.03 23:32
그런데
"""이게 그 파일입니다. 인터넷에 널렸지만 제가 올리겠습니다. grldr을 USB 최상위 루트에 복사해 주세요."""
문제의 이 파일은 어디에 올리신건지?.....
-
ITforce 2014.05.04 13:32
죄송합니다... 깜빡하고 안 올렸네요.... 다시 올리겠습니다....
-
클라크 2014.05.03 23:34
저는 이 사이트 자주 들어오긴하지만 윈도우 재설치는 거의 안하는편입니다.
1년에 한두번정도? 그러다보니 PE나 부트로더같은곳에는 별 관심이 없네요.
뭔가 궁금하긴한데 알아도 딱히 쓸모는 없다....이정도...ㅎㅎㅎ
-
ITforce 2014.05.04 13:37
그래도 혹시 컴퓨터가 부팅이 안 될 경우를 대비하여 해 두시는 것이 좋습니다... 그래도 감사합니다~~~
-
노익장 2014.05.04 02:41
좋은강좌 감사합니다^^
-
ITforce 2014.05.04 13:38
네~~~ 감사합니다~~~
-
내사랑울보 2014.05.04 02:45
유용한 강좌감사합니다...
-
ITforce 2014.05.04 13:38
유용하셨다니 정말 다행이네요... 감사합니다~~~
-
들에핀국화 2014.05.04 07:54
고생하셨습니다.
-
ITforce 2014.05.04 13:39
생각해주셔서 감사합니다~~~
-
dansan 2014.05.04 08:03
좋은강좌 고맙습니다.
-
ITforce 2014.05.04 13:39
감사합니다~~~ 2편도 곧 올리겠습니다~~~
-
아니올시다 2014.05.04 11:15 감사 합니다
화이팅......
-
ITforce 2014.05.04 13:39
감사합니다~~~
-
고고 2014.05.05 07:59
감사합니다.즐거운 휴일 보내세요.
-
ITforce 2014.05.05 23:16
감사합니다~~
-
락인 2014.05.05 21:52
그동안 궁금해 하던 차에 참 반가운 글입니다. 혹시 서버 2008(R2), 2012(R2) OS 로는 PE 를 제작할수 없는건지요?
서버용 PE가 필요하여 제작이 가능할지 궁금합니다.
부탁을 드려도 될지 모르겠지만... 순수 부팅만 가능한 서버 2012 install.wim 파일만 제작 하여 보내주실수 있는 고수님이 계실지요?
-
ITforce 2014.05.05 23:17
서버 2012나 2008 iso파일을 받으면 한번 시도는 해 보겠습니다~~~ 감사합니다~~~
-
락인 2014.05.06 01:10
감사합니다.^^
시간 여유 있으시면 부탁드립니다. 2편 강의등 모두 끝나면 저도 서버 2012로 따라서 해볼 예정이지만 PE 제작은 해본적이 없어서요.
남은 연휴 잘 보내세요.
-
네이놈 2014.05.06 07:14
개인적으로 여러기능이 다 있는 PE보다 한가지 기능에 특화된 USB를 좋아합니다.
근데 한가지 이해가 안가는 부분이 있는데.. 1차 부트로더와 2차 부트로더는 설명의 편의상 나누신건가요? 아님 실제로 그런식으로 구분을 하나요? 제가 알기론 MBR에 부팅관련 코드가 있는건 맞지만 그걸 부트로더는 아니라고 알고 있습니다. 혹시 제가 잘못 알고 있나 싶어서 질문합니다. ㅎ
-
ITforce 2014.05.06 15:45
이해하시기 쉬우라고 일부로 나눈 것입니다... 헷갈리시는 분들이 많으셔서...
-
fgcv 2014.05.06 10:04
좋은 강좌 감사합니다
grub4dos의 명령어 설명이 확 와닿네요
인터넷으로 찾아봐도 어렵게 설명되어 있던데
완전 이해가 됩니다
-
ITforce 2014.05.06 15:46
감사합니다~~~ 명령어같은 기본을 잘 알아야 앞으로 메뉴 작성할 때 도움이 되거든요...
-
알리아스 2014.05.06 18:34
정말 좋은 강좌입니다. 저는 그루브 명령어는 있는 소스를 가지고 편집만 해서 썼는데... 아주 큰 도움이 되었습니다.
저도 첨언을 하나 드리자면... USB에 그루브 심을때는 BOOTICE 보다는...
BOOT_USB 라고 이툴이 좀더 낫고 확실하고 편합니다. 밑에 주소 링크 드립니다. 이 파일을 다운받으셔서...
makebt 라는 폴더에 그루브 파일을 전부 넣고... USB를 FAT32로 포맷한 다음에... BOOT_USB로 심어 주시면 아주 쉽습니다.
저도 아는분께 배운건데요.,. ㅎㅎㅎ 따로 설정 만질 필요도 없고... USB경로만 잡아주고 심어주면 자동으로 잘 심어집니다.
문제는 ITforce 님이 올려주시면 명령어지요... ^^ 메뉴리스트를 얼마나 잘 짜느나 인데... 전 너무 어려워서 소스 가져다
편집 했습니다... 아묻든 명령어의 경우 잘 참고하도록 하겠습니다. 정말 유익한 정보입니다. 감사합니다... ^^;;;
다음 2탄도 기대 하겠습니다. ㅎㅎ
https://www.911cd.net/forums//index.php?showtopic=24424&mode=threaded&pid=173446
-
박사유 2014.05.07 21:19
좋은 강좌 감사드립니다.
나중에 ntboot 강좌도 부탁드려봅니다. 감사합니다.
-
말라뮤트 2014.10.19 20:28
좋은 강의 감사합니다~
-
보리밭 2015.07.30 23:55
좋은 정보,강의 감사합니다.
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] |
|
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] |
|
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 |
좋은 강좌 고맙습니다 다음편 기대 할게요^^